<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Diário de um DBA &#187; Sql Server</title>
	<atom:link href="http://silasmendes.com/dba/tag/sql-server/feed" rel="self" type="application/rss+xml" />
	<link>http://silasmendes.com/dba</link>
	<description>SQL Server &#38; Banco de Dados</description>
	<lastBuildDate>Fri, 10 Sep 2010 15:27:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Restaurar Backup via Script</title>
		<link>http://silasmendes.com/dba/restaurar-backup-no-sql-server-via-script</link>
		<comments>http://silasmendes.com/dba/restaurar-backup-no-sql-server-via-script#comments</comments>
		<pubDate>Thu, 11 Feb 2010 12:59:07 +0000</pubDate>
		<dc:creator>Silas Mendes</dc:creator>
				<category><![CDATA[Vida Real]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[restaurar backup]]></category>
		<category><![CDATA[Restore]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[Sql Server]]></category>

		<guid isPermaLink="false">http://silasmendes.com/dba/?p=503</guid>
		<description><![CDATA[Existem três tipos básicos de backups no SQL Server: o backup completo, o backup diferencial e o backup incremental. O dois últimos sempre trabalham em conjunto com o backup completo. Uma estratégia de backup é algo muito particular de cada negócio; em alguns ambientes críticos é inadimissível a perda de um minuto de informação, já em outros [...]]]></description>
			<content:encoded><![CDATA[<p>Existem três tipos básicos de backups no SQL Server: o backup <strong>completo</strong>, o backup <strong>diferencial </strong>e o backup <strong>incremental</strong>. O dois últimos sempre trabalham em conjunto com o backup completo.</p>
<p>Uma estratégia de backup é algo muito particular de cada negócio; em alguns ambientes críticos é inadimissível a perda de um minuto de informação, já em outros lugares, na ocasião de uma falha, um backup do dia anterior é a solução ideal; logo, a forma como mesclar os diferentes tipos de backups é uma questão a ser analisada (e testada!) com muito critério.</p>
<p>No entanto de uma coisa temos certeza: toda estratégia de backup incluirá um backup completo (comumente chamado de backup FULL) e neste texto iremos focar na recuperação (via script) de um backup completo no SQL Server; para isso utilizaremos como base dois cenários:</p>
<ul>
<li>O primeiro cenário abordará o restore de um backup FULL sobre a base original (do backup), por exemplo, sua base de dados atual sofreu alterações inadequadas e agora precisa da restauração do último backup para reaver os dados anteriores.</li>
<li>No segundo cenário iremos visualizar um DBA que recebe um backup completo de um cliente e precisa restaurá-lo em outro ambiente, por exemplo, para sua equipe de desenvolvimento.</li>
</ul>
<p><strong>CENÁRIO 1</strong></p>
<p>Temos aqui um arquivo de backup chamado AdventuresWorks_FULL.bak. Antes de restaurá-lo precisamos verificar qual o conteúdo desse arquivo físico e se o backup existente irá atender a necessidade do <em>restore</em>; para isso utilizaremos o seguinte comando:</p>
<pre class="brush: sql;">restore headeronly from disk ='C:\LabRestore\AdventuresWorks_FULL.bak'</pre>
<p>Veja o resultado:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-504" title="01fig" src="http://silasmendes.com/dba/wp-content/uploads/2010/02/01fig.JPG" alt="01fig" width="565" height="86" /></p>
<p>No resultado da execução do comando RESTORE HEADERONLY podemos identificar que o arquivo em questão contém três backups (sim! um arquivo físico pode conter inúmeros backups de uma mesma base). Observe a posição de cada backup dentro do arquivo (campo Position), o tamanho de cada um (BackupSize)  e suas respectivas datas (BackupStartDate).</p>
<p>No nosso exemplo vamos restaurar o backup do dia <span style="text-decoration: underline;">03 de Fevereiro</span>, logo, o backup a ser restaurado será o da posição 2 (dois). Vamos ao script:</p>
<pre class="brush: sql;">
USE MASTER

GO

RESTORE DATABASE AdventureWorks

FROM DISK = 'C:\LabRestore\AdventuresWorks_FULL.bak'

WITH FILE = 2, REPLACE, STATS = 10
</pre>
<p>A base de dados a ser restaurada é a <strong>AdventureWorks</strong>, o arquivo de backup está localizado no endereço: C:\LabRestore\AdventuresWorks_FULL.bak. O backup que será restaurado está na posição 2 deste arquivo (FILE = 2). Como a base já existe é necessário sobrescrevê-la, para isto utilizamos a opção <strong>REPLACE.</strong> O <strong>STATS</strong> mostrará o progresso da restauração em intervalos de 10 em 10%.</p>
<p>Importante: Numa operação de <em>restore</em> a base não deve estar em uso por nenhum usuário (inclusive você), por isso antes de iniciar o script direcionamos a sessão para o database <strong>Master</strong>. Se a base estiver em uso, a seguinte mensagem de erro será exibida:</p>
<p><span style="color: #ff0000;">Msg 3101, Level 16, State 1, Line 1</span></p>
<p><span style="color: #ff0000;">Exclusive access could not be obtained because the database is in use.</span></p>
<p>Se tudo estiver ok, ao final da execução do script você verá uma mensagem similar a esta:</p>
<p><span style="color: #008000;">RESTORE DATABASE successfully processed 22514 pages in 10.209 seconds (18.065 MB/sec).</span></p>
<p><strong>CENÁRIO 2</strong></p>
<p>Neste cenário o DBA deverá restaurar um backup completo recebido de um cliente externo. O arquivo de backup está identificado como <strong>SistemaX_FULL.bak</strong> e será restaurado no ambiente de desenvolvimento que é composto por um servidor com um único disco (C:\).</p>
<p>Vamos analisar o conteúdo do arquivo com o RESTORE HEADERONLY:</p>
<pre class="brush: sql;">restore headeronly from disk = 'C:\LabRestore\SistemaX_FULL.bak'</pre>
<p>Veja o resultado:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-505" title="02fig" src="http://silasmendes.com/dba/wp-content/uploads/2010/02/02fig.JPG" alt="02fig" width="525" height="57" /></p>
<p>No resultado acima verificamos que existe um único backup neste arquivo. A base do cliente (campo DatabaseName) está identificada por <strong>SistemaX</strong> e podemos verificar também outros dados como o tamanho do backup e data.</p>
<p>Até aqui tudo bem, mas neste cenário precisamos analisar novos elementos, isso porque a base em questão ainda não existe e ao efetuar a restauração o SQL Server irá trazer além dos objetos deste banco (tabelas, procedures, triggers) suas configurações originais como: endereço dos arquivos físico de dados e log, modo de recovery, etc. Para verificar o estado de algumas destas propriedades podemos utilizar o comando RESTORE FILELISTONLY:</p>
<pre class="brush: sql;">restore filelistonly from disk = 'C:\LabRestore\SistemaX_FULL.bak'</pre>
<p>Veja o resultado:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-506" title="03fig" src="http://silasmendes.com/dba/wp-content/uploads/2010/02/03fig.JPG" alt="03fig" width="562" height="69" /></p>
<p>Observe que a base do cliente e seus respectivos arquivos de dados e log estão localizados em discos diferentes. Neste caso, se o DBA realizar um restore comum (como o script utilizado no exemplo anterior) o SQL Server tentará alocar estes arquivos em seus caminhos de origem, logo precisamos alterar este comportamento, já que neste cenário o servidor onde será realizado o restore só possui <strong>um disco</strong>. Veja o comando:</p>
<pre class="brush: sql;">
USE MASTER

GO

RESTORE DATABASE SistemaX
FROM DISK = 'C:\LabRestore\SistemaX_FULL.bak'
WITH
MOVE 'SistemaX' TO 'C:\LabRestore\SistemaX.mdf',
MOVE 'SistemaX_log' TO 'C:\LabRestore\SistemaX_log.ldf',
STATS = 10
</pre>
<p>A base de dados a ser restaurada é a <strong>SistemaX</strong> e o arquivo de backup está em: C:\LabRestore\SistemaX_FULL.bak. Observe que adicionamos a opção <strong>MOVE</strong>; esta opção direciona os arquivos de dados e log para um novo caminho. O restante não muda; continuo utilizando o STATS e desta vez não precisamos do REPLACE já que a base não existia.</p>
<p>É importante destacar que os comandos RESTORE FILELISTONLY e RESTORE HEADERONLY não são obrigatórios num processo de restauração de banco; eles são comandos que recuperam informações sobre os arquivos de backup e estas informações podem auxiliar o DBA no processo de restauração.</p>
<p>Existem outros comandos similares, como o RESTORE VERIFYONLY que verifica se o arquivo de backup está legível.</p>
<p><strong>CONCLUSÃO</strong></p>
<p>Como podemos verificar, o restore de um backup <em>full</em>, via script não é difícil, basta conhecer os comandos certos para recuperar informações sobre o conteúdo do arquivo de backup; estas informações  irão auxiliar o usuário na construção do comando de <em>restore</em>.</p>
<p>Nos próximos posts iremos abordar o restore de backups diferenciais e log. Até +</p>
<p>Bom trabalho!</p>
]]></content:encoded>
			<wfw:commentRss>http://silasmendes.com/dba/restaurar-backup-no-sql-server-via-script/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Server Saturday Night</title>
		<link>http://silasmendes.com/dba/sql-server-saturday-night</link>
		<comments>http://silasmendes.com/dba/sql-server-saturday-night#comments</comments>
		<pubDate>Tue, 15 Dec 2009 19:32:38 +0000</pubDate>
		<dc:creator>Silas Mendes</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Sql Server]]></category>
		<category><![CDATA[SQL Server Day]]></category>
		<category><![CDATA[SQL Server Saturday Night]]></category>
		<category><![CDATA[webcast]]></category>

		<guid isPermaLink="false">http://silasmendes.com/dba/?p=482</guid>
		<description><![CDATA[No próximo sábado tem programão para a comunidade SQL Server!!! Depois do SQL Server Day que promoveu 12 horas ininterruptas de palestras sobre SQL Server, pra fechar bem o ano de 2009 alguns caras vão se unir no próximo sábado para promover mais 5 horas de SQL Server, a partir das 18h. Dá uma olhada na [...]]]></description>
			<content:encoded><![CDATA[<p>No próximo sábado tem programão para a comunidade SQL Server!!!</p>
<p>Depois do <strong>SQL Server Day</strong> que promoveu 12 horas ininterruptas de palestras sobre SQL Server, pra fechar bem o ano de 2009 alguns caras vão se unir no próximo sábado para promover mais 5 horas de SQL Server, a partir das 18h.</p>
<p>Dá uma olhada na grade:</p>
<p>- Powershell &amp; Transact-SQL (Laerte Jr) &#8211; 18:00 as 18:50 horas<br />
- Profiler  e Perfmon &#8211; (Vladimir Magalhães) &#8211; 18:50 as 19:40 horas<br />
- Alta  Disponibilidade: Mirroring (Vitor Fava) &#8211; 19:40 às 20:30 horas<br />
- Performance  &amp; Tuning &#8211; (Rodrigo Crespi) &#8211; 20:30 horas as 21:20 horas<br />
- Database  Snapshots (Alexandre Lopes) &#8211; 21:20 às 22:10 horas<br />
- SQL Server 2008 R2  (Thiago Zavaschi) &#8211; 22:10 às 23:00 horas</p>
<p><span style="background-color: #ffffff;">Para se inscrever: <a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032437130&amp;Culture=pt-BR" target="_blank">http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032437130&amp;Culture=pt-BR</a></span></p>
<p>E pra quem não pôde conferir as palestras do <strong>SQL Server Day</strong>, os arquivos já estão disponíveis para download em: <a href="http://www.sqlserverday.com.br/">http://www.sqlserverday.com.br/</a>.</p>
<p><span style="background-color: #ffffff;">Bom trabalho, bons estudos!</span></p>
<p><span style="background-color: #ffffff;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://silasmendes.com/dba/sql-server-saturday-night/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quantos certificados no mundo?</title>
		<link>http://silasmendes.com/dba/quantos-certificados-no-mundo</link>
		<comments>http://silasmendes.com/dba/quantos-certificados-no-mundo#comments</comments>
		<pubDate>Wed, 04 Nov 2009 18:20:29 +0000</pubDate>
		<dc:creator>Silas Mendes</dc:creator>
				<category><![CDATA[Bla bla bla]]></category>
		<category><![CDATA[Certificação]]></category>
		<category><![CDATA[MCA]]></category>
		<category><![CDATA[MCITP]]></category>
		<category><![CDATA[MCM]]></category>
		<category><![CDATA[MCTS]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[Sql Server]]></category>

		<guid isPermaLink="false">http://silasmendes.com/dba/?p=452</guid>
		<description><![CDATA[Curiosidade&#8230; Já pensou em quantos profissionais possuem certificação Microsoft no mundo? A Microsoft divulga estes números em seu site e segundo a última atualização realizada em 30/10/2009 são: 63.823 MCTS SQL Server 2005; 9.632 MCITP SQL Server 2005; 39 MCM SQL Server 2005; e 19 MCA Database. Para chegar na certificação Master (MCM) que é [...]]]></description>
			<content:encoded><![CDATA[<p>Curiosidade&#8230;</p>
<p>Já pensou em quantos profissionais possuem certificação Microsoft no mundo?</p>
<p>A Microsoft divulga estes números em seu site e segundo a última atualização realizada em 30/10/2009 são:</p>
<ul>
<li><span style="background-color: #ffffff;">63.823 <strong>MCTS </strong>SQL Server 2005;</span></li>
<li><span style="background-color: #ffffff;">9.632 <strong>MCITP </strong>SQL Server 2005;</span></li>
<li><span style="background-color: #ffffff;">39 <strong>MCM </strong>SQL Server 2005;</span></li>
<li><span style="background-color: #ffffff;">e 19 <strong>MCA </strong>Database.</span></li>
</ul>
<p>Para chegar na certificação Master (MCM) que é pré-requisito para o <strong>MCA</strong>, o cara tem que fazer suas provas lá em <em>Redmond</em>, na própria Microsoft. É um teste de fogo, que além das provas teóricas e práticas, envolve também um investimento de uns U$ 20.000.</p>
<p>E ae&#8230; vai encarar?  :)</p>
<p>Para visualizar todos os números, visite este <a href="http://www.microsoft.com/learning/en/us/certification/cert-overview.aspx#tab5" target="_blank">link</a>.</p>
<p>Bom trabalho, bons estudos!</p>
]]></content:encoded>
			<wfw:commentRss>http://silasmendes.com/dba/quantos-certificados-no-mundo/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DBA Checklist &#8211; Instalação e Atualização</title>
		<link>http://silasmendes.com/dba/dba-check-list-parte-2</link>
		<comments>http://silasmendes.com/dba/dba-check-list-parte-2#comments</comments>
		<pubDate>Wed, 16 Sep 2009 12:48:54 +0000</pubDate>
		<dc:creator>Silas Mendes</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Traduzidos]]></category>
		<category><![CDATA[Vida Real]]></category>
		<category><![CDATA[checklist]]></category>
		<category><![CDATA[DBA]]></category>
		<category><![CDATA[documentação]]></category>
		<category><![CDATA[Instalar SQL Server 2008]]></category>
		<category><![CDATA[Policy-based Management]]></category>
		<category><![CDATA[Profissão DBA]]></category>
		<category><![CDATA[rotina DBA]]></category>
		<category><![CDATA[Sql Server]]></category>
		<category><![CDATA[sql server 2000]]></category>
		<category><![CDATA[sql server 2005]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[System Monitor]]></category>
		<category><![CDATA[TEMPDB]]></category>
		<category><![CDATA[UPDATE STATISTICS]]></category>
		<category><![CDATA[Upgrade Advisor]]></category>
		<category><![CDATA[upgrade SQL Server]]></category>

		<guid isPermaLink="false">http://silasmendes.com/dba/?p=344</guid>
		<description><![CDATA[Essa série de Check List para DBAs SQL Server foi escrita por Brad McGehee para o site http://www.simple-talk.com/ . É um texto sucinto, mas muito completo. Tomei a liberdade de adicionar algumas observações(em itálico) que normalmente apontam para outros conteúdos em português. O texto original pode ser lidoaqui. Instalação Sempre documente todo o processo de [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
<h5 style="font-size: 0.83em;"><span style="font-weight: normal;">Essa série de Check List para DBAs SQL Server foi escrita por </span><a href="http://www.simple-talk.com/author/brad-mcgehee/" target="_blank"><span style="font-weight: normal;">Brad McGehee</span></a><span style="font-weight: normal;"> para o site </span><a href="http://www.simple-talk.com/"><span style="font-weight: normal;">http://www.simple-talk.com/</span></a><span style="font-weight: normal;"> . É um texto sucinto, mas muito completo. Tomei a liberdade de adicionar algumas observações</span><em><span style="font-weight: normal;">(em itálico)</span></em><span style="font-weight: normal;"> que normalmente apontam para outros conteúdos em português. </span><strong><span style="font-weight: normal;">O texto original pode ser lido</span><a href="http://www.simple-talk.com/sql/database-administration/brads-sure-dba-checklist/" target="_blank"><span style="font-weight: normal;">aqui</span></a><span style="font-weight: normal;">.</span></strong></h5>
</blockquote>
<h3><strong>Instalação</strong></h3>
<ul>
<li><span style="background-color: #ffffff;">Sempre documente todo o processo de instalação do SQL Server, para que numa situação de emergência o processo possa ser facilmente reproduzido.</span></li>
<li><span style="background-color: #ffffff;">Se possível, instale e configure todas as suas instâncias do SQL Server seguindo um padrão que foi acordado e aceito por sua organização. Opcionalmente, utilize o <strong>SQL Server 2008 Policy-based Management</strong> para fazer com que todas as normas sejam cumpridas.</span></li>
<li><span style="background-color: #ffffff;">Não instale serviços do SQL Server que não serão usados, como o Microsoft Reporting Services ou Analysis Services (se você não usá-los).</span></li>
<li><span style="background-color: #ffffff;">Para o melhor desempenho do SQL Server, desabilite todos os serviços do Windows que não são necessários.</span></li>
<li><span style="background-color: #ffffff;">Para o melhor desempenho do SQL Server, dedique seu servidor físico à sua instância SQL Server, não rode outras aplicações nele.</span></li>
<li><span style="background-color: #ffffff;">Para o melhor desempenho de I/O, coloque os arquivos .mdf e .ldf em volumes de discos separados para evitar conflitos de escrita e leitura.</span></li>
<li><span style="background-color: #ffffff;">Se a TEMPDB for muito utilizada, coloque esta base em discos separados. Além disso, faça uma estimativa para o tamanho desta base, de forma que não ocorra crescimento automático. Divida a TEMPDB em vários arquivos, de forma que o número de arquivos físicos represente 50% a 100% do número de núcleos da CPU do seu servidor. Cada arquivo físico deve ter o mesmo tamanho.</span></li>
<li><span style="background-color: #ffffff;">Não instale o SQL Server num controlador de domínio.</span></li>
<li><span style="background-color: #ffffff;">Nos arquivos de dados e logs não utilize compactação, nem EFS (criptografia em sistemas de arquivos NTFS) .</span></li>
</ul>
<h3><strong>Atualizando</strong></h3>
<ul>
<li><span style="background-color: #ffffff;">Para evitar problemas potenciais, execute o <strong>Upgrade Advisor</strong> em qualquer banco de dados que você pretende atualizar.</span></li>
<li><span style="background-color: #ffffff;">Antes de realizar uma atualização do SQL Server, teste seu aplicativo num ambiente de testes para garantir compatibilidade. Antes de realizar a atualização faça as alterações necessárias.</span></li>
<li><span style="background-color: #ffffff;">Antes de qualquer atualização, verifique se você tem um plano ‘B’ para o caso de uma falha.</span></li>
<li><span style="background-color: #ffffff;">O upgrade ‘in place’ pode funcionar bem, mas instalar o novo SQL Server num novo hardware é menos arriscado (side-by-side).</span>
<ul>
<li><span style="background-color: #ffffff;"><em>Para entender mais sobre as técnicas de upgrade no SQL Server, veja <a href="http://www.technetbrasil.com.br/Downloads/TechEd/WSS08_Jrribeiro.ppt" target="_blank">essa</a> ótima apresentação de <strong>José Ricardo Ribeiro </strong>(<a href="http://www.technetbrasil.com.br/Downloads/TechEd/WSS08_Jrribeiro.ppt" target="_blank">download </a>em português):</em></span></li>
</ul>
</li>
<li><span style="background-color: #ffffff;">Depois do upgrade, você deverá atualizar todas as estatísticas dos seus bancos de dados, usando o UPDATE STATISTICS. Isso é necessário porque as estatísticas não são automaticamente atualizadas durante o processo de atualização. Além disso, executar o UPDATE STATISTICS pode corrigir a contagem interna das páginas.</span></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://silasmendes.com/dba/dba-check-list-parte-2/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DBA Checklist &#8211; Sobre a profissão e a rotina</title>
		<link>http://silasmendes.com/dba/dba-check-list-parte-1</link>
		<comments>http://silasmendes.com/dba/dba-check-list-parte-1#comments</comments>
		<pubDate>Tue, 15 Sep 2009 20:52:55 +0000</pubDate>
		<dc:creator>Silas Mendes</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Traduzidos]]></category>
		<category><![CDATA[Vida Real]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[checklist]]></category>
		<category><![CDATA[DBA]]></category>
		<category><![CDATA[DMVs]]></category>
		<category><![CDATA[documentação]]></category>
		<category><![CDATA[e-book]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[locks]]></category>
		<category><![CDATA[logs]]></category>
		<category><![CDATA[Management Studio]]></category>
		<category><![CDATA[MCITP]]></category>
		<category><![CDATA[monitorar]]></category>
		<category><![CDATA[Performance Data Collector]]></category>
		<category><![CDATA[Profiler]]></category>
		<category><![CDATA[Profissão DBA]]></category>
		<category><![CDATA[rotina DBA]]></category>
		<category><![CDATA[Sql Server]]></category>
		<category><![CDATA[sql server 2000]]></category>
		<category><![CDATA[sql server 2005]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[System Monitor]]></category>

		<guid isPermaLink="false">http://silasmendes.com/dba/?p=306</guid>
		<description><![CDATA[Essa série de Check List para DBAs SQL Server foi escrita por Brad McGehee para o site http://www.simple-talk.com/ . É um texto sucinto, mas muito completo. Tomei a liberdade de adicionar algumas observações (em itálico) que normalmente apontam para outros conteúdos em português. O texto original pode ser lido aqui. Dicas de boas práticas para [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
<h5><span style="font-weight: normal;">Essa série de Check List para DBAs SQL Server foi escrita por </span><a href="http://www.simple-talk.com/author/brad-mcgehee/" target="_blank"><span style="font-weight: normal;">Brad McGehee</span></a><span style="font-weight: normal;"> para o site </span><a href="http://www.simple-talk.com/"><span style="font-weight: normal;">http://www.simple-talk.com/</span></a><span style="font-weight: normal;"> . É um texto sucinto, mas muito completo. Tomei a liberdade de adicionar algumas observações </span><em><span style="font-weight: normal;">(em itálico)</span></em><span style="font-weight: normal;"> que normalmente apontam para outros conteúdos em português. </span><strong><span style="font-weight: normal;">O texto original pode ser lido </span><a href="http://www.simple-talk.com/sql/database-administration/brads-sure-dba-checklist/" target="_blank"><span style="font-weight: normal;">aqui</span></a><span style="font-weight: normal;">.</span></strong></h5>
</blockquote>
<h3><strong>Dicas de boas práticas para tornar-se um DBA Excepcional</strong></h3>
<ul>
<li><span style="background-color: #ffffff;">Junte-se a um grupo de usuários de SQL Server.</span>
<ul>
<li><span style="background-color: #ffffff;"><em>No artigo o autor sugere o </em><em><a href="http://74.125.91.132/translate_c?hl=pt-BR&amp;ie=UTF-8&amp;sl=en&amp;tl=pt&amp;u=http://chapters.sqlpass.org/&amp;rurl=translate.google.com.br&amp;usg=ALkJrhh0bGrhgukjK2iYQQHWDcvXqslxFA">chapters.sqlpass.org</a>,</em><em> </em><em>aqui no Brasil temos: <span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><a href="http://technet.microsoft.com/pt-br/sqlserver/default.aspx" target="_blank">TechNet</a>,  <span style="font-style: normal; background-color: #ffffff;"><em><a href="http://msdn.microsoft.com/pt-br/sqlserver/default.aspx" target="_blank">MSDN </a>, <span style="font-style: normal; background-color: #ffffff;"><em><a href="http://www.mcdbabrasil.com.br/" target="_blank">MCDBA Brasil</a>.</em><em> </em></span></em></span></em></span></em></span></em></span></li>
</ul>
</li>
<li><span style="background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;">Participe pelo menos uma vez ao ano de uma conferência profissional.</span></em></span></em></span></em></span></em></span></em></span></li>
<li><span style="background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;">Faça pelo menos um treinamento por ano.</span></em></span></em></span></em></span></em></span></em></span></li>
<li><span style="background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;">Leia pelo menos quatro livros de SQL Server por ano.</span></em></span></em></span></em></span></em></span></em></span></li>
<li><span style="background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;">Leia o e-book <strong>How to Become an Exceptional DBA.</strong></span></em></span></em></span></em></span></em></span></em></span>
<ul>
<li><span style="background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;"><em>Livro escrito pelo autor que dá diversas dicas de como torna-se um DBA Excepcional (</em><em><a href="http://www.red-gate.com/products/SQL_Backup/offers/brad_exceptional_dba_ebook.htm">download </a>em inglês).</em></span></strong></span></strong></span></em></span></em></span></em></span></em></span></em></span></li>
</ul>
</li>
<li><span style="background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;">Saiba tudo o que puder sobre o seu trabalho, principalmente naquelas áreas que ninguém gosta ou quer dominar.</span></em></span></strong></span></strong></span></em></span></em></span></em></span></em></span></em></span></li>
<li><span style="background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;">No seu trabalho, seja voluntário, envolva-se em novas tarefas e aceite desafios, isso fará com que você conheça mais sobre a organização da sua empresa.</span></em></span></strong></span></strong></span></em></span></em></span></em></span></em></span></em></span></li>
<li><span style="background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;">Instale o SQL Server no computador da sua casa ou em seu notebook e pratique, aprendendo novas funcionalidades do SQL Server, principalmente no SQL Server 2008.</span></em></span></strong></span></strong></span></em></span></em></span></em></span></em></span></em></span></li>
<li><span style="background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;">Participe de fóruns sobre SQL Server (fazendo e respondendo perguntas).</span></em></span></strong></span></strong></span></em></span></em></span></em></span></em></span></em></span>
<ul>
<li><span style="background-color: #ffffff;"><a href="http://74.125.91.132/translate_c?hl=pt-BR&amp;ie=UTF-8&amp;sl=en&amp;tl=pt&amp;u=http://www.sqlservercentral.com/&amp;rurl=translate.google.com.br&amp;usg=ALkJrhihl84Mpv8Exdgrzf0g7rOxwW_rfg">www.SQLServerCentral.com</a></span></li>
<li><span style="background-color: #ffffff;"><a href="http://74.125.91.132/translate_c?hl=pt-BR&amp;ie=UTF-8&amp;sl=en&amp;tl=pt&amp;u=http://www.sql-server-performance.com/&amp;rurl=translate.google.com.br&amp;usg=ALkJrhhP9MDgZVb9WPUPQBrGDY7ys_sZPw">www.SQL&#8211;Performance.Com</a></span></li>
<li><span style="background-color: #ffffff;"><a href="http://74.125.91.132/translate_c?hl=pt-BR&amp;ie=UTF-8&amp;sl=en&amp;tl=pt&amp;u=http://www.microsoft.com/communities/newsgroups/en-us/default.aspx&amp;rurl=translate.google.com.br&amp;usg=ALkJrhgOtAbDwv5cwBIZoP0qTVPdslsNWA">newsgroups www.microsoft.com / comunidades / en-US / default.aspx</a></span></li>
<li><span style="background-color: #ffffff;"><a href="http://74.125.91.132/translate_c?hl=pt-BR&amp;ie=UTF-8&amp;sl=en&amp;tl=pt&amp;u=http://www.microsoft.com/communities/newsgroups/en-us/default.aspx&amp;rurl=translate.google.com.br&amp;usg=ALkJrhgOtAbDwv5cwBIZoP0qTVPdslsNWA"></a><em>Alguns no Brasil: </em><a href="http://social.technet.microsoft.com/Forums/pt-BR/category/sqlserver" target="_blank"><em>Fórum TechNet</em></a><em>, </em><a href="http://www.mcdbabrasil.com.br/" target="_blank"><em>MCDBA Brasil</em></a><em> e </em><span style="background-color: #ffffff;"><a href="http://forum.devmedia.com.br/viewforum.php?f=19" target="_blank"><em>DevMedia</em></a><em>.</em></span></span></li>
</ul>
</li>
</ul>
<ul>
<li><span style="background-color: #ffffff;"><span style="background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;">Certifique-se, torne-se um <strong>MCITP</strong>:</span></em></span></span>
<ul>
<li><span style="background-color: #ffffff;"><span style="background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><a href="http://www.microsoft.com/learning/mcp/mcitp/dbadmin/default.mspx" target="_blank">Database Administrator</a> </span></em></span></span></li>
<li><span style="background-color: #ffffff;"><span style="background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><a href="http://www.microsoft.com/learning/mcp/mcitp/dbdev/default.mspx" target="_blank">Database Developer</a> </span></em></span></span></li>
<li><span style="background-color: #ffffff;"><span style="background-color: #ffffff;"><em><span style="font-style: normal; background-color: #ffffff;"><a href="http://www.microsoft.com/learning/mcp/mcitp/bid/default.mspx" target="_blank">Business       Intelligence Developer</a> </span></em></span></span></li>
</ul>
</li>
</ul>
<h3><strong>Dia-a-dia</strong></h3>
<ul>
<li><span style="background-color: #ffffff;">Verifique os logs do Windows, do SQL Server e logs de segurança.</span></li>
<li><span style="background-color: #ffffff;">Verifique se todos os <strong>jobs</strong> foram executados com sucesso.</span></li>
<li><span style="background-color: #ffffff;">Veja se os backups foram executados com sucesso e se foram salvos em local seguro.</span></li>
<li><span style="background-color: #ffffff;">Monitore o espaço em disco para garantir que o SQL Server não fique sem espaço. Para um melhor desempenho, todos os discos devem ter pelo menos 20% de espaço livre.</span></li>
<li><span style="background-color: #ffffff;">Durante todo o dia, periodicamente, monitore o desempenho do seu servidor. Use o System Monitor, Profiler, DMVs, ou o <strong>SQL Server 2008 Performance Data Collector</strong>.</span></li>
<li><span style="background-color: #ffffff;">Use o Management Studio ou o Profiler para monitorar e identificar problemas de locks [bloqueios].</span></li>
<li><span style="background-color: #ffffff;">Mantenha um registro de todas as alterações feitas em seus servidores, incluindo uma documentação de todos os problemas de desempenho que você encontrar e corrigir.</span></li>
<li><span style="background-color: #ffffff;">Crie alertas no SQL Server para notificá-lo através de e-mail sobre problemas potenciais. Ao receber os e-mails tome as medidas necessárias.</span></li>
<li><span style="background-color: #ffffff;">Dedique um tempo do seu dia para aprender algo novo e promover seu desenvolvimento profissional.</span></li>
</ul>
<p><strong><em><br />
</em></strong></p>
<p><em> </em></p>
]]></content:encoded>
			<wfw:commentRss>http://silasmendes.com/dba/dba-check-list-parte-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dica – Copiar grid + cabeçalhos</title>
		<link>http://silasmendes.com/dba/dica-copiar-grid-cabecalhos</link>
		<comments>http://silasmendes.com/dba/dica-copiar-grid-cabecalhos#comments</comments>
		<pubDate>Thu, 27 Aug 2009 17:31:58 +0000</pubDate>
		<dc:creator>Silas Mendes</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Vida Real]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Management Studio]]></category>
		<category><![CDATA[Sql Server]]></category>
		<category><![CDATA[sql server 2005]]></category>
		<category><![CDATA[SQL Server 2008]]></category>

		<guid isPermaLink="false">http://silasmendes.com/dba/?p=293</guid>
		<description><![CDATA[Hoje uma dica rápida pra melhorar a produtividade: Você está utilizando o Management Studio e acaba de executar uma consulta; agora precisa copiar o resultado para uma planilha Excel. Sua consulta gerou um resultado com 25 colunas e ao colar o conteúdo na planilha você nota que só vieram os dados da consulta; os nomes das 25 colunas você [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje uma dica rápida pra melhorar a produtividade:</p>
<p>Você está utilizando o <strong>Management Studio</strong> e acaba de executar uma consulta; agora precisa copiar o resultado para uma planilha Excel.</p>
<p>Sua consulta gerou um resultado com 25 colunas e ao colar o conteúdo na planilha você nota que só vieram os dados da consulta; os nomes das 25 colunas você terá que preencher a mão.</p>
<p>Alterar isso é bem simples. Vá no menu <strong>Options</strong>, expanda a opção <strong>Query Results</strong> e escolha a subopção <strong>Results to Grid</strong>. Agora é só marcar a opção &#8220;<strong>Include column headers when copying or saving the results</strong>&#8221; (Inclui cabeçalho das colunas quando copiar ou salvar resultados).</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-292" title="tela_Cabecalho" src="http://silasmendes.com/dba/wp-content/uploads/2009/08/tela_Cabecalho.PNG" alt="tela_Cabecalho" width="515" height="300" /></p>
<p>Bom trabalho!</p>
]]></content:encoded>
			<wfw:commentRss>http://silasmendes.com/dba/dica-copiar-grid-cabecalhos/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Verificando a existência de objetos</title>
		<link>http://silasmendes.com/dba/metadados-verificando-a-existencia-de-objetos</link>
		<comments>http://silasmendes.com/dba/metadados-verificando-a-existencia-de-objetos#comments</comments>
		<pubDate>Fri, 21 Aug 2009 14:17:22 +0000</pubDate>
		<dc:creator>Silas Mendes</dc:creator>
				<category><![CDATA[Vida Real]]></category>
		<category><![CDATA[colunas]]></category>
		<category><![CDATA[information_schema]]></category>
		<category><![CDATA[metadados]]></category>
		<category><![CDATA[Sql Server]]></category>
		<category><![CDATA[syscolumns]]></category>
		<category><![CDATA[sysobjects]]></category>
		<category><![CDATA[tabelas]]></category>

		<guid isPermaLink="false">http://silasmendes.com/dba/?p=230</guid>
		<description><![CDATA[Uma necessidade comum de muitos desenvolvedores é verificar a existência de objetos no banco de dados. Veja nesse artigo como fazer isto, consultando os metadados do SQL Server.]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal">Uma necessidade comum de muitos desenvolvedores é verificar a existência de objetos no banco de dados. Então vou fazer aqui uma rapidinha com exemplos bem básicos, pras situações mais comuns, vamos lá:</p>
<p class="MsoNormal">A tabela <strong>tb_Pedido</strong> existe no banco?</p>
<blockquote>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US">use</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US"> [meuBanco]</span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US">GO</span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US">if</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US"><span style="mso-spacerun: yes;"> </span><span style="color: gray;">exists</span> </span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: gray; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US">(</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US">select</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US"> <span style="color: gray;">*</span> <span style="color: blue;">from</span> information_schema<span style="color: gray;">.</span>tables <span style="color: blue;">where</span> table_name <span style="color: gray;">=</span> <span style="color: red;">&#8216;tb_pedido&#8217;</span><span style="color: gray;">)</span></span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-no-proof: yes;">print</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-no-proof: yes;"> <span style="color: red;">&#8216;Tabela existe&#8217;</span></span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-no-proof: yes;">else</span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-no-proof: yes;">print</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-no-proof: yes;"> <span style="color: red;">&#8216;Tabela não existe&#8217;</span></span></p>
<p class="MsoNormal"> </p>
</blockquote>
<p class="MsoNormal">Quais tabelas no banco possuem a coluna <strong>cod_cliente</strong>?</p>
<blockquote>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US">use</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US"> [meuBanco]</span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-no-proof: yes;">GO</span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US">select</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US"> table_name<span style="color: gray;">,</span> data_type </span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US">from</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US"> information_schema<span style="color: gray;">.</span>columns </span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US">where</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US"> column_name <span style="color: gray;">=</span> <span style="color: red;">&#8216;cod_cliente&#8217;</span></span></p>
</blockquote>
<p class="MsoNormal"><span style="mso-ansi-language: EN-US;" lang="EN-US"> </span></p>
<p class="MsoNormal">A coluna <strong>cod_cliente</strong> existe na tabela <strong>tb_Pedido</strong>? Se não existe, adicionar:</p>
<blockquote>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-no-proof: yes;">use</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-no-proof: yes;"> [meuBanco]</span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US">GO</span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US">if</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US"><span style="mso-spacerun: yes;"> </span><span style="color: gray;">exists</span> </span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: gray; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US">(</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US">select</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US"> <span style="color: gray;">*</span> <span style="color: blue;">from</span> information_schema<span style="color: gray;">.</span>columns </span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US">where</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US"> table_name <span style="color: gray;">=</span> <span style="color: red;">&#8216;tb_pedido&#8217;</span> <span style="color: gray;">and</span> column_name <span style="color: gray;">=</span> <span style="color: red;">&#8216;cod_cliente&#8217;</span><span style="color: gray;">)</span></span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-ansi-language: EN-US; mso-no-proof: yes;" lang="EN-US"><span style="mso-tab-count: 1;"> </span></span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-no-proof: yes;">print</span><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; mso-no-proof: yes;"> <span style="color: red;">&#8216;Coluna existe.&#8217;</span></span></p>
<p class="MsoNormal" style="margin-bottom: .0001pt; line-height: normal; mso-layout-grid-align: none; text-autospace: none;"><span style="font-size: 10.0pt; font-family: &quot;Courier New&quot;; color: blue; mso-no-proof: yes;">else</span></p>
<p class="MsoNormal"><span style="font-size: 10.0pt; line-height: 115%; font-family: &quot;Courier New&quot;; mso-no-proof: yes;"><span style="color: blue;">alter</span> <span style="color: blue;">table</span> tb_pedido <span style="color: blue;">add</span> cod_cliente <span style="color: blue;">int</span></span></p>
</blockquote>
<p class="MsoNormal"><span style="font-size: 10.0pt; line-height: 115%; font-family: &quot;Courier New&quot;; mso-no-proof: yes;"><span style="color: blue;"><br />
</span></span></p>
<p class="MsoNormal">Observe que nos três exemplos acima, utilizamos as seguintes views de metadados:</p>
<ul>
<li><strong>information_schema.tables</strong> – que apresenta diversas informações sobre as tabelas de um banco.</li>
<li><strong>information_schema.columns</strong> – que apresenta informações sobre as colunas, das tabelas de um banco.</li>
</ul>
<p class="MsoNormal">Ok, mas afinal o que são <strong>METADADOS</strong>?</p>
<p class="MsoNormal">A definição mais comum é: <strong>informação sobre os dados</strong>. Esta definição não é muito amigável, eu sei, mas o que você precisa saber é que todos os objetos que você cria no banco, como tabelas, procedures, índices, etc, tem suas informações armazenadas em <strong>tabelas de sistema</strong> do SQL Server e as views utilizadas neste post buscam esses dados nas tabelas de sistema.</p>
<p class="MsoNormal">Comentaremos mais sobre metadados em outro posts, mas se você deseja se aprofundar no assunto, dê uma estudada neste <a href="http://msdn.microsoft.com/en-us/library/ms186778.aspx" target="_blank">link</a>.</p>
<p class="MsoNormal">Até +</p>
]]></content:encoded>
			<wfw:commentRss>http://silasmendes.com/dba/metadados-verificando-a-existencia-de-objetos/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Habilitando suporte a rede no SQL 2008</title>
		<link>http://silasmendes.com/dba/sql-2008-suporte-a-rede</link>
		<comments>http://silasmendes.com/dba/sql-2008-suporte-a-rede#comments</comments>
		<pubDate>Fri, 12 Jun 2009 01:24:29 +0000</pubDate>
		<dc:creator>Silas Mendes</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[habilitar rede]]></category>
		<category><![CDATA[Sql Server]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[SQL Server 2008 Express]]></category>
		<category><![CDATA[Suporte a rede]]></category>

		<guid isPermaLink="false">http://diariodba.wordpress.com/2009/06/11/sql-server-2008-habilitando-suporte-a-rede/</guid>
		<description><![CDATA[A partir da versão 2005 do SQL Server, algumas opções de configuração vem desabilitadas por padrão (e por uma questão de segurança), uma delas é o suporte a rede. Mas habilita-las é muito simples. No menu Iniciar &#62; Programas &#62; Microsoft SQL Server 2008 &#62; Configuration Tools escolha a opção SQL Server Configuration Manager (ou no menu [...]]]></description>
			<content:encoded><![CDATA[<p>A partir da versão 2005 do SQL Server, algumas opções de configuração vem desabilitadas por padrão (e por uma questão de segurança), uma delas é o suporte a rede. Mas habilita-las é muito simples.</p>
<p>No menu Iniciar &gt; Programas &gt; Microsoft SQL Server 2008 &gt; Configuration Tools escolha a opção <strong>SQL Server Configuration Manager </strong>(ou no menu Iniciar &gt; Executar, digite<strong> SQLServerManager10.msc</strong>).</p>
<p>Na janela <strong>SQL Server Configuration Manager</strong>, expanda a opção <strong>SQL Server Network Configuration</strong> e clique na subopção que contém o nome da sua instância.</p>
<p><img class="aligncenter size-full wp-image-448" title="habilita_rede" src="http://silasmendes.com/dba/wp-content/uploads/2009/06/habilita_rede.png" alt="habilita_rede" width="521" height="169" /></p>
<p><a href="http://diariodba.files.wordpress.com/2009/06/image.png"></a>No meu caso, o nome da minha instância é SQLEXPRESS2008, então selecionei a subopção <strong>Protocols for SQLEXPRESS2008</strong>.</p>
<p>Ao clicar, observe no lado direito os diversos protocolos de rede disponíveis. Para habilitar o suporte a sua rede TCP/IP, de um double-clique sobre esse protocolo. Na nova janela, na opção <strong>Enabled</strong>, selecione a opção <strong>Yes</strong>. Feito isto, clique em OK.</p>
<p>Agora é necessário reiniciar seu serviço SQL Server o que pode ser feito na mesma janela. Vá na opção <strong>SQL Server Services</strong>, escolha o serviço SQL Server e com o botão direito clique em Restart.</p>
<p><span style="color:#697c83;"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://silasmendes.com/dba/sql-2008-suporte-a-rede/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalando o SQL Server 2008 Express</title>
		<link>http://silasmendes.com/dba/sql-server-2008-express</link>
		<comments>http://silasmendes.com/dba/sql-server-2008-express#comments</comments>
		<pubDate>Thu, 11 Jun 2009 02:29:07 +0000</pubDate>
		<dc:creator>Mendes</dc:creator>
				<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Instalar SQL Server 2008]]></category>
		<category><![CDATA[MSDE]]></category>
		<category><![CDATA[Sql Server]]></category>
		<category><![CDATA[SQL Server 2008]]></category>
		<category><![CDATA[SQL Server 2008 Express]]></category>

		<guid isPermaLink="false">http://diariodba.wordpress.com/2009/06/11/sql-server-2008-express/</guid>
		<description><![CDATA[Hoje vou descrever os passos BÁSICOS para a instalação do SQL Server 2008 Express, esta que é a edição gratuita do SQL Server e atende muito bem pequenas aplicações (além de ser uma ótima opção pra quem quer estudar esse banco). Na edição gratuita do SQL Server 2000 (conhecida por MSDE) até mesmo alguns DBAs [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje vou descrever os passos <strong>BÁSICOS </strong>para a instalação do SQL Server 2008 <strong>Express</strong>, esta que é a edição <strong>gratuita</strong> do SQL Server e atende muito bem pequenas aplicações (além de ser uma ótima opção pra quem quer estudar esse banco).</p>
<p>Na edição gratuita do SQL Server 2000 (conhecida por MSDE) até mesmo alguns DBAs sofriam para instalá-la. De lá pra cá muita coisa mudou e hoje você já conta com ferramentas gráficas para instalar e gerenciar sua instância. Essa edição do SQL Server suporta 1 CPU (com suporte <strong>a multi-core</strong>), 1 GB de RAM e bases de dados de até 4 GB (para mais espaço de armazenamento consulte <a href="http://silasmendes.com/dba/sql-server-2008-r2-express-edition" target="_blank">este post</a>), e ao contrário do que muitas pessoas dizem, as edições Express <strong>tem suporte a rede</strong>; o fato é que essa opção vem desabilitada, mas é muito simples ativá-la.</p>
<p>Nesse post vou demonstrar a instalação do SQL Express + ferramentas. Se você desejar o mesmo, ao realizar o download escolha a opção Microsoft SQL Server 2008 Express <em>with Tools</em> (executável: <strong>SQLEXPRWT_x86_ENU.exe</strong>); o tamanho do executável é de aproximadamente 220 MB. Segue abaixo o link para download: <a href="http://www.microsoft.com/brasil/servidores/sql/editions/express.mspx">http://www.microsoft.com/brasil/servidores/sql/editions/express.mspx</a> Antes de iniciar a instalação do SQL Server Express você deverá verificar:</p>
<ul>
<li>Se o seu framework é o 3.5 SP1 (ou superior), se não, baixe e atualize: <a title="http://go.microsoft.com/fwlink/?LinkId=120550" href="http://go.microsoft.com/fwlink/?LinkId=120550">http://go.microsoft.com/fwlink/?LinkId=120550</a></li>
<li>Se o Windows Installer é o 4.5 (ou superior), se não, baixe e atualize: <a title="http://go.microsoft.com/fwlink/?LinkId=123422" href="http://go.microsoft.com/fwlink/?LinkId=123422">http://go.microsoft.com/fwlink/?LinkId=123422</a></li>
<li>E se o Windows PowerShell é o 1.0, se não, faça o download e atualize: <a title="http://go.microsoft.com/fwlink/?LinkId=120552" href="http://go.microsoft.com/fwlink/?LinkId=120552">http://go.microsoft.com/fwlink/?LinkId=120552</a></li>
</ul>
<p>Após as devidas verificações e atualizações, podemos iniciar a instalação. Execute o arquivo <strong>SQLEXPRWT_x86_ENU.exe</strong> e observe que do lado esquerdo da tela que é apresentada existem as opções <em>Planning</em>,<em> Installation</em>,<em> Maintenance</em> e etc. Na guia <strong>Planning</strong> escolha a opção <strong>System Configuration Cheker</strong>.</p>
<p style="text-align: justify;"><img class="aligncenter size-full wp-image-432" title="tela1_sql2008" src="http://silasmendes.com/dba/wp-content/uploads/2009/06/tela1_sql2008.png" alt="tela1_sql2008" width="475" height="47" /></p>
<p>Neste momento será feita uma breve verificação para indicar se falta algo para o andamento da instalação. Obtendo um retorno positivo clique em Ok e selecione na guia <strong>Installation</strong> a opção <strong>New SQL Server stand-alone installation or add features to an existing installation</strong> (Nova instalação ou adiciona opções para uma instalação já existente).</p>
<p><img class="aligncenter size-full wp-image-433" title="tela3_sql2008" src="http://silasmendes.com/dba/wp-content/uploads/2009/06/tela3_sql2008.png" alt="tela3_sql2008" width="523" height="53" /></p>
<p>O instalador fará uma nova verificação, se estiver tudo certo (para ver os detalhes dessa verificação clique no botão Show Details) clique no botão OK.</p>
<p style="text-align: center;"><strong><br />
</strong></p>
<p><img class="aligncenter size-full wp-image-434" title="tela4" src="http://silasmendes.com/dba/wp-content/uploads/2009/06/tela4.png" alt="tela4" width="300" height="225" /></p>
<p>Na próxima tela clique em <strong>Install</strong> para instalar os arquivos que darão suporte ao restante da instalação. Clique Next.</p>
<p>Na tela <strong>Product Key</strong> clique em Next (observe que você não precisa de uma chave já que é esta é uma versão free). Marque a opção: “I accept the license terms” e clique em Next. Quando esta etapa finalizar, você irá escolher o que deseja instalar. Marque <em>somente </em>a opção <strong>Database Engine Services.</strong> Essa opção instalará o engine do SQL Server Express. Se desejar instalar também as ferramentas marque a opção <strong>Management Tools – Basic</strong>. <strong> </strong></p>
<p style="text-align: center;"><strong><img class="aligncenter size-full wp-image-435" title="tela5" src="http://silasmendes.com/dba/wp-content/uploads/2009/06/tela5.png" alt="tela5" width="590" height="443" /></strong></p>
<p>Na próxima tela você deverá escolher por uma instância padrão (Default Instance) ou uma instância nomeada (Named Instance). Esta etapa define o nome pelo qual seu servidor SQL irá responder. Se escolher pela instância padrão o SQL terá o mesmo nome de seu servidor, se for uma instância nomeada o SQL irá atender por: NOME_SERVIDOR\NOME_SQL. <strong> </strong></p>
<p style="text-align: center;"><strong><img class="aligncenter size-full wp-image-436" title="tela6" src="http://silasmendes.com/dba/wp-content/uploads/2009/06/tela6.png" alt="tela6" width="656" height="492" /></strong></p>
<p>Clique em Next.</p>
<p>A próxima tela traz um resumo sobre o espaço em disco que será utilizado. Clique em Next.</p>
<p>A seguir você deverá informar sob qual conta do Windows rodarão os serviços do SQL Server. No meu caso, como estou instalado no notebook, na caixa <strong>Account Name</strong> vou escolher a conta AUTORIDADE NT\SYSTEM para o serviço do SQL e o padrão para o SQL Browser. <strong>Em casos onde seu SQL Server utilizar recursos de rede será importante utilizar uma conta de domínio.</strong></p>
<p>Clicando em Next você deverá optar pelo modo de autenticação no SQL. As duas opções são:</p>
<p><strong>Windows Authentication Mode</strong> – Nessa opção, apenas contas do Windows poderão autenticar no seu SQL. <strong> </strong></p>
<p><strong>Mixed Mode</strong> – Nessa opção, poderão autenticar tanto contas Windows e contas criadas posteriormente dentro do SQL.</p>
<p>A Mixed Mode é a mais utilizada (apesar de não ser a recomendada pela Microsoft).</p>
<p>Nesse post vou escolher a opção Mixed Mode e definir uma senha para a conta system administrator (SA). Também irei adicionar uma conta Windows ao grupo de administradores do SQL. Você pode adicionar uma conta de administrador e também o usuário atual clicando no botão Add Current User. <strong> </strong></p>
<p style="text-align: center;"><strong><img class="aligncenter size-full wp-image-437" title="tela7" src="http://silasmendes.com/dba/wp-content/uploads/2009/06/tela7.png" alt="tela7" width="656" height="492" /></strong></p>
<p><strong>O SA é o usuário master do seu SQL Server, por isso não atribua uma senha fraca a ele e não ESQUEÇA essa senha .</strong></p>
<p>Se estiver em dúvida sobre o modo de autenticação que deve usar, fique tranqüilo, essa configuração pode ser alterada depois. Como estamos realizando uma instalação padrão, neste momento ignore as abas Data Directories e FILESTREAM. Clique em Next.</p>
<p>A próxima tela pergunta se você deseja enviar automaticamente relatórios de possíveis erros para a Microsoft. Faça sua escolha e clique em Next. Agora o instalador faz uma nova verificação para validar os parâmetros informados até aqui. Se estiver tudo ok, clique em Next.</p>
<p>Verifique o resumo da instalação e finalmente clique em <strong>Install</strong>. Agora é só aguardar a finalização da instalação.</p>
<p><strong>Considerações:</strong> Se você realizar essa instalação numa maquina com Windows XP em português, ao final poderá encontrar o seguinte erro na instalação:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-438" title="tela8" src="http://silasmendes.com/dba/wp-content/uploads/2009/06/tela8.png" alt="tela8" width="550" height="160" /></p>
<p>Segundo a Microsoft isso não é efetivamente um erro. Isso ocorre quando tentamos instalar uma versão inglês do SQL Server (2005 ou 2008) num Windows XP SP3 não-inglês (como já comentei <a href="http://diariodba.wordpress.com/2008/11/04/instalando-o-sql-server-2008-parte-ii/" target="_blank">neste post</a>).</p>
<p>Neste texto abordei somente os passos básicos para a instalação do SQL Server 2008 Express. Pretendo detalhar outras opções nos próximos posts&#8230; no próximo iremos habilitar o acesso a rede, por enquanto, bom trabalho e bons estudos.</p>
<p style="text-align: center;"><strong> <script type="text/javascript"><!--
google_ad_client = "pub-8454669065774516";
/* 468x60, banner fim Maior */
google_ad_slot = "6424755982";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></strong></p>
<p>Veja como <strong>habilitar suporte a rede</strong> <a href="http://diariodba.wordpress.com/2009/06/11/sql-server-2008-habilitando-suporte-a-rede/" target="_self">aqui</a>.</p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://silasmendes.com/dba/sql-server-2008-express/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Propriedades do arquivo</title>
		<link>http://silasmendes.com/dba/xp_getfiledetails-propriedades-do-arquivo</link>
		<comments>http://silasmendes.com/dba/xp_getfiledetails-propriedades-do-arquivo#comments</comments>
		<pubDate>Thu, 05 Mar 2009 17:58:35 +0000</pubDate>
		<dc:creator>Silas Mendes</dc:creator>
				<category><![CDATA[Vida Real]]></category>
		<category><![CDATA[não-documentado]]></category>
		<category><![CDATA[propriedade arquivo]]></category>
		<category><![CDATA[Sql Server]]></category>
		<category><![CDATA[sql server 2000]]></category>
		<category><![CDATA[xp_getfiledetails]]></category>

		<guid isPermaLink="false">http://diariodba.wordpress.com/2009/03/05/xp_getfiledetails-propriedades-do-arquivo/</guid>
		<description><![CDATA[No SQL Server 2000 existe uma procedure não documentada que traz as propriedades de um arquivo, como data de criação, data de alteração e etc; sem dúvidas um recurso bastante interessante. Veja um exemplo da chamada: xp_getfiledetails &#8216;C:\WINDOWS\EXPLORER.EXE&#8217; Problemas? Sim&#8230; essa proc não está mais disponível a partir da versão 2005. Esse sem dúvidas é [...]]]></description>
			<content:encoded><![CDATA[<p>No SQL Server 2000 existe uma procedure não documentada que traz as propriedades de um arquivo, como data de criação, data de alteração e etc; sem dúvidas um recurso bastante interessante.</p>
<p>Veja um exemplo da chamada:</p>
<p><strong>xp_getfiledetails &#8216;C:\WINDOWS\EXPLORER.EXE&#8217;</strong></p>
<p>Problemas? Sim&#8230; essa proc não está mais disponível a partir da versão 2005.<br />
Esse sem dúvidas é um bom motivo para não nos apegarmos à funcionalidades não documentadas&#8230; depois dá uma dor de cabeça enorme e um monte de DBA indignado correndo atrás de uma solução similar.</p>
<p>(Bom, mas pra quem continua com o SQL Server 2000, ainda é uma ótima opção! :D )</p>
]]></content:encoded>
			<wfw:commentRss>http://silasmendes.com/dba/xp_getfiledetails-propriedades-do-arquivo/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
