<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQL Server: um Endpoint Brasileiro : SQL Server 2008</title><link>http://blogs.msdn.com/procha/archive/tags/SQL+Server+2008/default.aspx</link><description>Tags: SQL Server 2008</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>SQL Server 2008: 10 Motivos para Fazer Upgrade (Demos do TechEd Brasil 2008)</title><link>http://blogs.msdn.com/procha/archive/2008/10/21/sql-server-2008-10-motivos-para-fazer-upgrade-demos-do-teched-brasil-2008.aspx</link><pubDate>Tue, 21 Oct 2008 06:14:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9008590</guid><dc:creator>procha</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/procha/comments/9008590.aspx</comments><wfw:commentRss>http://blogs.msdn.com/procha/commentrss.aspx?PostID=9008590</wfw:commentRss><wfw:comment>http://blogs.msdn.com/procha/rsscomments.aspx?PostID=9008590</wfw:comment><description>&lt;p&gt;Fiquei um tempo longe do blog. Isto se deve à extensiva rotina de trabalho e de um primeiro trimestre fiscal bastante “ocupado” aqui na Microsoft. Mas isso não é do interesse de ninguém aqui, então vamos ao que interessa. &lt;/p&gt;  &lt;p&gt;Nos dias 14, 15 e 16 de Outubro deste ano tivemos o TechEd 2008 aqui em São Paulo. No dia 14, fiz a palestra “Upgrade para o SQL Server 2008: 10 Motivos para Fazê-lo” e prometi que postaria aqui o script de cada uma das demos – inclusive as que não deu tempo de eu mostrar :-)&lt;/p&gt;  &lt;p&gt;Promessa é dívida. Infelizmente não posso postar a apresentação em si aqui, porque é restrita aos que estiveram no TechEd. Mas se você tiver dúvida sobre qualquer um dos assuntos abaixo ou se precisar de ajuda para reproduzir as demos, por favor me avise. &lt;/p&gt;  &lt;p&gt;Os assuntos abordados no TechEd, caso você não tenha participado, foram os abaixo:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Data Compression &lt;/li&gt;    &lt;li&gt;Policy Based Management &lt;/li&gt;    &lt;li&gt;Resource Governor &lt;/li&gt;    &lt;li&gt;Transparent Data Encryption &lt;/li&gt;    &lt;li&gt;Auditoria &lt;/li&gt;    &lt;li&gt;Novidades em T-SQL &lt;/li&gt;    &lt;li&gt;Novidades no SQL Server Management Studio &lt;/li&gt;    &lt;li&gt;Spatial Data &lt;/li&gt;    &lt;li&gt;FileStream &lt;/li&gt;    &lt;li&gt;Reporting Services &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Os scripts estão disponíveis no link abaixo:&lt;/p&gt; &lt;iframe style="border-bottom: #dde5e9 1px solid; border-left: #dde5e9 1px solid; padding-bottom: 0px; background-color: #ffffff; margin: 3px; padding-left: 0px; width: 240px; padding-right: 0px; height: 66px; border-top: #dde5e9 1px solid; border-right: #dde5e9 1px solid; padding-top: 0px" marginheight="0" src="http://cid-8e1baef56e6b027a.skydrive.live.com/embedrowdetail.aspx/SQL%20Server/TechEd%20Brasil%202008/Scripts%20TechEd2008.zip" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;Algumas das demos, no entanto, foram em interface gráfica. Para a de Policy-Based Management, por exemplo, veja um &lt;a target="_blank" href="http://blogs.msdn.com/procha/archive/2008/01/21/declarative-management-framework.aspx"&gt;outro exemplo que postei aqui no meu blog&lt;/a&gt;, quando a feature ainda se chamava Declarative Management Framework. O mesmo se aplica às novidades do SQL Server Management Studio, &lt;a target="_blank" href="http://blogs.msdn.com/procha/archive/2008/08/13/novidades-no-sql-server-management-studio-ssms.aspx"&gt;onde já publiquei um artigo aqui também&lt;/a&gt; – embora tenha aprendido com o &lt;a target="_blank" href="http://buckwoody.com"&gt;Buck Woody&lt;/a&gt; sobre várias outras novidades que eu nem conhecia ainda. &lt;/p&gt;  &lt;p&gt;Os bancos de dados de exemplo (AdventureWorks, AdventureWorks2008, AdventureWorksDW, etc) e os exemplos do Reporting Services também podem ser encontrados no &lt;a target="_blank" href="http://www.codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=16040"&gt;CodePlex&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Em caso de dúvidas por favor me avise. Espero que tenha aproveitado o TechEd 2008!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9008590" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/procha/archive/tags/Resource+Governor/default.aspx">Resource Governor</category><category domain="http://blogs.msdn.com/procha/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+backup/default.aspx">SQL Server backup</category><category domain="http://blogs.msdn.com/procha/archive/tags/TechEd+2008/default.aspx">TechEd 2008</category><category domain="http://blogs.msdn.com/procha/archive/tags/10+Motivos+para+Fazer+Upgrade/default.aspx">10 Motivos para Fazer Upgrade</category></item><item><title>Webcasts de SQL Server no MSDN Experience</title><link>http://blogs.msdn.com/procha/archive/2008/08/13/webcasts-de-sql-server-no-msdn-experience.aspx</link><pubDate>Wed, 13 Aug 2008 18:33:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8858918</guid><dc:creator>procha</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/procha/comments/8858918.aspx</comments><wfw:commentRss>http://blogs.msdn.com/procha/commentrss.aspx?PostID=8858918</wfw:commentRss><wfw:comment>http://blogs.msdn.com/procha/rsscomments.aspx?PostID=8858918</wfw:comment><description>&lt;p&gt;&lt;a href="http://www.msdnbrasil.com.br/experience/sqlserver" target="_blank"&gt;Está disponível o novo MSDN Experience exclusivo para SQL Server&lt;/a&gt;. Parafraseando meu bom amigo Luciano Moreira (Especialista em Desenvolvimento na Microsoft Brasil): &lt;/p&gt;  &lt;p&gt;&lt;em&gt;“O Experience de SQL Server conta com 5 módulos, que cobrem desde à introdução ao SQL Server e suas ferramentas, passando pela escrita de consultas (simples e complexas), criação de views e stored procedures, programação CLR, arquitetura e componentes internos, indexação, gerenciamento de transações, análise de performance e troubleshooting, e como um extra, ainda temos duas sessões sobre o Service Broker…” “…O conteúdo do MSDN Experience pode ser aplicado tanto para o SQL Server 2005 e 2008, como em parte, para o SQL Server 2000.”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;O conteúdo é muito bom! Dois dos webcasts foram gravados por mim.&lt;/p&gt;  &lt;p&gt;Visite em &lt;strong&gt;MSDN Experience - SQL Server:&lt;/strong&gt; &lt;a href="http://www.msdnbrasil.com.br/experience/sqlserver"&gt;http://www.msdnbrasil.com.br/experience/sqlserver&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8858918" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+em+portugu_26002300_234_3B00_s/default.aspx">SQL Server em portugu&amp;#234;s</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/procha/archive/tags/Gerenciamento/default.aspx">Gerenciamento</category><category domain="http://blogs.msdn.com/procha/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://blogs.msdn.com/procha/archive/tags/Alta+disponibilidade/default.aspx">Alta disponibilidade</category><category domain="http://blogs.msdn.com/procha/archive/tags/Cluster/default.aspx">Cluster</category><category domain="http://blogs.msdn.com/procha/archive/tags/Ciclo+de+vida+de+desenvolvimento/default.aspx">Ciclo de vida de desenvolvimento</category><category domain="http://blogs.msdn.com/procha/archive/tags/Desenvolvimento+em+Banco+de+Dados/default.aspx">Desenvolvimento em Banco de Dados</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+Management+Studio/default.aspx">SQL Server Management Studio</category><category domain="http://blogs.msdn.com/procha/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.msdn.com/procha/archive/tags/Webcast/default.aspx">Webcast</category><category domain="http://blogs.msdn.com/procha/archive/tags/curso/default.aspx">curso</category><category domain="http://blogs.msdn.com/procha/archive/tags/learning/default.aspx">learning</category><category domain="http://blogs.msdn.com/procha/archive/tags/MSDN/default.aspx">MSDN</category></item><item><title>Novidades no SQL Server Management Studio (SSMS)</title><link>http://blogs.msdn.com/procha/archive/2008/08/13/novidades-no-sql-server-management-studio-ssms.aspx</link><pubDate>Wed, 13 Aug 2008 18:20:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8858834</guid><dc:creator>procha</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/procha/comments/8858834.aspx</comments><wfw:commentRss>http://blogs.msdn.com/procha/commentrss.aspx?PostID=8858834</wfw:commentRss><wfw:comment>http://blogs.msdn.com/procha/rsscomments.aspx?PostID=8858834</wfw:comment><description>&lt;p&gt;Recentemente tenho utilizado bastante algumas das novidades do SQL Server Management Studio na versão 10 (SQL Server 2008) e achei que seria interessante postar sobre isto. Algumas dessas novidades eram muito esperadas (debug de código T-SQL e IntelliSense, por exemplo) e vão deixar os administradores bastante entusiasmados. Outros recursos novos ajudam a reduzir o tempo necessário para administrar seus servidores, inclusive versões anteriores do SQL Server. &lt;/p&gt;  &lt;p&gt;Vamos a algumas das novidades mais interessantes:&lt;/p&gt;  &lt;h1&gt;IntelliSense&lt;/h1&gt;  &lt;p&gt;Agora é possível utilizar o editor de query do Management Studio com IntelliSense. Este recurso atua de forma muito similar de como funciona no Visual Studio, fornecendo recursos que completam os comandos conforme você os digita, destacam os erros de sintaxe e digitação e ajuda com parâmetros (aquele “tip tool” com a especificação dos parâmetros).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/NovidadesnoSQLServerManagementStudioSSMS_C8B9/01_2.jpg"&gt;&lt;img title="01" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="181" alt="01" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/NovidadesnoSQLServerManagementStudioSSMS_C8B9/01_thumb.jpg" width="303" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/NovidadesnoSQLServerManagementStudioSSMS_C8B9/03_2.jpg"&gt;&lt;img title="03" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="183" alt="03" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/NovidadesnoSQLServerManagementStudioSSMS_C8B9/03_thumb.jpg" width="325" border="0" /&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/NovidadesnoSQLServerManagementStudioSSMS_C8B9/02_4.jpg"&gt;&lt;img title="02" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="193" alt="02" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/NovidadesnoSQLServerManagementStudioSSMS_C8B9/02_thumb_1.jpg" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Há quem diga que não gosta de IntelliSense, mas são poucos. E os que “não gostam”, geralmente mudam de idéia muito rápido. Mas para quem realmente não gosta, o IntelliSense pode ser desativado. &lt;/p&gt;  &lt;h1&gt;Debugger para código T-SQL&lt;/h1&gt;  &lt;p&gt;Quando eu queria resolver um problema no meu código T-SQL, costumava colocar comandos SELECT ou PRINT no meio das procedures para analisar o valor das variáveis durante a execução. Era possível resolver problemas de código (em geral, problemas de lógica) por esse tipo de análise ou seguindo outras técnicas. &lt;/p&gt;  &lt;p&gt;No novo Management Studio, é possível fazer debug do seu código T-SQL. Você pode colocar breakpoints, executar linha por linha e ter watches para analisar o valor dos seus objetos e de suas variáveis, da mesma forma como faz com o Visual Studio. Este é um grande recurso para aumentar a produtividade dos desenvolvedores e melhorar a qualidade do seu produto. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/NovidadesnoSQLServerManagementStudioSSMS_C8B9/07_2.jpg"&gt;&lt;img title="07" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="159" alt="07" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/NovidadesnoSQLServerManagementStudioSSMS_C8B9/07_thumb.jpg" width="437" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/NovidadesnoSQLServerManagementStudioSSMS_C8B9/08_2.jpg"&gt;&lt;img title="08" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="546" alt="08" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/NovidadesnoSQLServerManagementStudioSSMS_C8B9/08_thumb.jpg" width="727" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h1&gt;Procurar Objetos em seu banco de dados (Object Finder)&lt;/h1&gt;  &lt;p&gt;Você tem uma procedure, mas não se lembra o nome dela. Você sabe que ela tem a palavra “Converte” no meio do nome, mas não consegue encontrar ela. Seus problemas estão resolvidos!&lt;/p&gt;  &lt;p&gt;Com o novo SQL Server Management Studio, você pode pesquisar todos os objetos do seu servidor através de um campo de busca, simples. Ele retorna todos os tipos de objetos e aceita sintaxes como LIKE (‘%Texto%’). Agora ficou mais fácil encontrar suas tabelas, colunas, procedures, views, logins e tudo mais.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/NovidadesnoSQLServerManagementStudioSSMS_C8B9/05_2.jpg"&gt;&lt;img title="05" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="282" alt="05" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/NovidadesnoSQLServerManagementStudioSSMS_C8B9/05_thumb.jpg" width="871" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h1&gt;Multi-Server Management&lt;/h1&gt;  &lt;p&gt;Faz tempo que temos a habilidade de registrar servidores SQL Server na organização na ferramenta de administração (Enterprise Manager, Management Studio) e termos uma lista organizada destes servidores. Por exemplo: criávamos grupos e, abaixo destes grupos, registrávamos os servidores SQL Server que quiséssemos, para fácil acesso. Acontece que esta lista ficava guardada no Windows Registry e era diferente em todas as estações que você se logava. &lt;/p&gt;  &lt;p&gt;Agora o SQL Server Management Studio permite criar grupos de servidores em um repositório centralizado, chamado de Central Management Servers. Este repositório fica armazenado no MSDB de um servidor que você eleger e qualquer usuário que se conectar a este servidor vai visualizar a mesma lista de servidores disponíveis para administração. A partir deste repositório central você pode realizar as tarefas de administração do SQL Server Database Engine, Analysis Services, Reporting Services, SQL Server Compact e do Integration Services.&lt;/p&gt;  &lt;h1&gt;Consultas em vários servidores&lt;/h1&gt;  &lt;p&gt;A partir dos servidores registrados no seu ambiente centralizado, pode-se disparar uma query ou um comando que vai atingir todos os servidores do seu grupo de uma só vez. Este recurso foi solicitado pelos DBA, pois facilita tarefas repetitivas de administração.&lt;/p&gt;  &lt;h1&gt;Error List Window&lt;/h1&gt;  &lt;p&gt;Quando você executa um comando que retorna um erro no Management Studio, o erro indicava em qual linha estava o erro. Às vezes, você fica procurando o erro e simplesmente não consegue encontrar por ser um problema de digitação simples, ou por não conhecer a sintaxe corretamente. &lt;/p&gt;  &lt;p&gt;A nova Error List Window dá mais detalhes sobre seu erro e a posição dele em seu código, enquanto você digita. Mais uma vez, de forma semelhante ao Visual Studio.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8858834" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+em+portugu_26002300_234_3B00_s/default.aspx">SQL Server em portugu&amp;#234;s</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/procha/archive/tags/Gerenciamento/default.aspx">Gerenciamento</category><category domain="http://blogs.msdn.com/procha/archive/tags/Ciclo+de+vida+de+desenvolvimento/default.aspx">Ciclo de vida de desenvolvimento</category><category domain="http://blogs.msdn.com/procha/archive/tags/Desenvolvimento+em+Banco+de+Dados/default.aspx">Desenvolvimento em Banco de Dados</category><category domain="http://blogs.msdn.com/procha/archive/tags/Sem_26002300_226_3B00_ntica/default.aspx">Sem&amp;#226;ntica</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+Management+Studio/default.aspx">SQL Server Management Studio</category><category domain="http://blogs.msdn.com/procha/archive/tags/Debug/default.aspx">Debug</category><category domain="http://blogs.msdn.com/procha/archive/tags/SSMS/default.aspx">SSMS</category><category domain="http://blogs.msdn.com/procha/archive/tags/T-SQL/default.aspx">T-SQL</category><category domain="http://blogs.msdn.com/procha/archive/tags/IntelliSense/default.aspx">IntelliSense</category></item><item><title>SQL Server 2008 RC0 (Release Candidate 0) - Download</title><link>http://blogs.msdn.com/procha/archive/2008/06/12/sql-server-2008-rc0-release-candidate-0-download.aspx</link><pubDate>Thu, 12 Jun 2008 19:15:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8593342</guid><dc:creator>procha</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/procha/comments/8593342.aspx</comments><wfw:commentRss>http://blogs.msdn.com/procha/commentrss.aspx?PostID=8593342</wfw:commentRss><wfw:comment>http://blogs.msdn.com/procha/rsscomments.aspx?PostID=8593342</wfw:comment><description>&lt;p&gt;O SQL Server 2008 RC0 já está disponível para download público em &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=35F53843-03F7-4ED5-8142-24A4C024CA05&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=35F53843-03F7-4ED5-8142-24A4C024CA05&amp;amp;displaylang=en&lt;/a&gt;.  &lt;p&gt;O site oficial do produto é &lt;a href="http://www.microsoft.com/sqlserver/2008/en/us/default.aspx"&gt;http://www.microsoft.com/sqlserver/2008/en/us/default.aspx&lt;/a&gt; e alguns Virtual Labs podem ser encontrados em &lt;a href="http://www.microsoft.com/sqlserver/2008/en/us/learning.aspx"&gt;http://www.microsoft.com/sqlserver/2008/en/us/learning.aspx&lt;/a&gt;&amp;nbsp; &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8593342" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/procha/archive/tags/Declarative+Management+Framework/default.aspx">Declarative Management Framework</category><category domain="http://blogs.msdn.com/procha/archive/tags/Resource+Governor/default.aspx">Resource Governor</category><category domain="http://blogs.msdn.com/procha/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://blogs.msdn.com/procha/archive/tags/Data+Mining/default.aspx">Data Mining</category><category domain="http://blogs.msdn.com/procha/archive/tags/Alta+disponibilidade/default.aspx">Alta disponibilidade</category></item><item><title>Visual Studio Team System 2008 Database Edition</title><link>http://blogs.msdn.com/procha/archive/2008/04/07/visual-studio-team-system-2008-database-edition.aspx</link><pubDate>Mon, 07 Apr 2008 18:52:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8365688</guid><dc:creator>procha</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/procha/comments/8365688.aspx</comments><wfw:commentRss>http://blogs.msdn.com/procha/commentrss.aspx?PostID=8365688</wfw:commentRss><wfw:comment>http://blogs.msdn.com/procha/rsscomments.aspx?PostID=8365688</wfw:comment><description>&lt;p&gt;O Visual Studio Team System tem a capacidade de incorporar diversos pap&amp;#233;is do processo de desenvolvimento de software nas organiza&amp;#231;&amp;#245;es: desde o Arquiteto, passando pelo Designer, Gerente de Projeto, Tester e, &amp;#233; claro, o desenvolvedor. Ele faz isto fornecendo ferramentas que aumentam a produtividade, com um ambiente &amp;#250;nico de desenvolvimento e ger&amp;#234;ncia do projeto de software. Desde a concep&amp;#231;&amp;#227;o do Visual Studio Team System (daqui em diante vou me referir a ele simplesmente por VSTS), no entanto, um dos principais pap&amp;#233;is estava fora do ciclo de vida de desenvolvimento de software. Este papel &amp;#233; o do desenvolvedor em bancos de dados. &lt;/p&gt;  &lt;p&gt;&amp;#201; este o cen&amp;#225;rio sobre o qual o VSTS 2008 Database Edition atua, o do desenvolvedor em banco de dados. Imagine ter todos os objetos do banco de dados sob controle de fontes, passando pelos mesmos fluxos de aprova&amp;#231;&amp;#227;o e colabora&amp;#231;&amp;#227;o de todo o seu c&amp;#243;digo, e das funcionalidades de desenvolvimento offline fazendo check-in e check-out dos objetos do banco de dados. Imagine ainda ter ferramentas que fa&amp;#231;am teste de unit em c&amp;#243;digo de banco de dados, ferramentas que geram dados de teste que realmente significam alguma coisa, ferramentas que fazem compara&amp;#231;&amp;#227;o entre schemas de banco de dados (desenvolvimento comparado com produ&amp;#231;&amp;#227;o, por exemplo). Agora chega de imaginar - j&amp;#225; &amp;#233; poss&amp;#237;vel! &lt;/p&gt;  &lt;p&gt;O objetivo deste post &amp;#233; descrever rapidamente alguns dos recursos do VSTS 2008 Database Edition. Na verdade, os meus recursos preferidos. Esta &amp;#233; uma ferramenta poderos&amp;#237;ssima e assunto obrigat&amp;#243;rio para os desenvolvedores (e at&amp;#233; mesmo para os DBAs). &lt;/p&gt;  &lt;h1&gt;O que &amp;#233; o VSTS 2008 Database Edition?&lt;/h1&gt;  &lt;p&gt;Trata-se de uma edi&amp;#231;&amp;#227;o do VSTS 2008 que incorpora o profissional de banco de dados ao ciclo de vida de desenvolvimento de software. Na verdade, esta ferramenta j&amp;#225; estava dispon&amp;#237;vel no VSTS 2005, por&amp;#233;m na forma de um add-in. Ele oferece os seguintes benef&amp;#237;cios:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Desenvolvimento baseado em projeto &lt;/li&gt;    &lt;li&gt;Ader&amp;#234;ncia a processos de desenvolvimento de software &lt;/li&gt;    &lt;li&gt;Colabora&amp;#231;&amp;#227;o em time com itens de trabalho (Work Item) e integra&amp;#231;&amp;#227;o de processos com o Team Foundation Server &lt;/li&gt;    &lt;li&gt;Reconstru&amp;#231;&amp;#227;o de nomes de objetos com a habilidade de prever as mudan&amp;#231;as antes de realiz&amp;#225;-las (Refactoring) &lt;/li&gt;    &lt;li&gt;Ferramentas de compara&amp;#231;&amp;#227;o (de schemas e dados) permitem compara&amp;#231;&amp;#245;es e sincroniza&amp;#231;&amp;#227;o do schema e dos dados entre bancos de dados de desenvolvimento, teste e produ&amp;#231;&amp;#227;o &lt;/li&gt;    &lt;li&gt;Controle de fontes e de vers&amp;#245;es de todos os objetos do banco de dados com a possibilidade de se fazer engenharia reversa em um banco de dados a fim de se traz&amp;#234;-lo ao sistema de controle &lt;/li&gt;    &lt;li&gt;Teste de Unit do banco de dados &lt;/li&gt;    &lt;li&gt;Aproveita a infra estrutura de teste de projetos &lt;/li&gt;    &lt;li&gt;Gera valores &amp;#8220;Reais e Coerentes&amp;#8221; atrav&amp;#233;s habilidade de importar informa&amp;#231;&amp;#245;es como Row Counts e histogramas de um banco de dados reais &lt;/li&gt;    &lt;li&gt;Gerador de Dados prov&amp;#234; gera&amp;#231;&amp;#227;o repetitiva de dados para testes baseados em configura&amp;#231;&amp;#245;es &lt;/li&gt;    &lt;li&gt;Integra&amp;#231;&amp;#227;o com MSBuild para Deployments/Builds de banco de dados baseando-se em projetos &lt;/li&gt;    &lt;li&gt;Habilidade de enviar apenas as altera&amp;#231;&amp;#245;es realizadas em um banco de dados, ao inv&amp;#233;s de apagar o banco inteiro e reconstru&amp;#237;-lo a cada mudan&amp;#231;a &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;A lista de benef&amp;#237;cios &amp;#233; extensa. A lista de recursos (features), tamb&amp;#233;m. Vou abordar neste post apenas alguns deles, se voc&amp;#234; tiver alguma d&amp;#250;vida em espec&amp;#237;fico, por favor, poste um coment&amp;#225;rio.&lt;/p&gt;  &lt;h1&gt;Iniciando um Projeto&lt;/h1&gt;  &lt;p&gt;Existem tr&amp;#234;s formas de iniciar um projeto de banco de dados pelo VSTS 2008 Database Edition:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Iniciar um projeto em branco e criar cada objeto individualmente - O VSTS 2008 j&amp;#225; tem os templates de projeto para banco de dados &lt;/li&gt;    &lt;li&gt;Iniciar um projeto utilizando um script T-SQL existente - se voc&amp;#234; tem um script de cria&amp;#231;&amp;#227;o de um banco de dados e de seus objetos, pode importar este arquivo. O VSTS 2008 faz um processo de engenharia reversa no arquivo e cria os objetos em seu projeto &lt;/li&gt;    &lt;li&gt;Conectar-se a um banco de dados existente - minha preferida. Se voc&amp;#234; j&amp;#225; tem um banco de dados na sua empresa, utilize este recurso. O VSTS 2008 se conecta ao banco de dados e gera os scripts de cria&amp;#231;&amp;#227;o dos objetos. Isto permite que voc&amp;#234; comece a utilizar o VSTS 2008 Database Edition imediatamente, independente de ser um projeto novo ou um ambiente que j&amp;#225; est&amp;#225; em produ&amp;#231;&amp;#227;o. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/VisualStudioTeamSystem2008DatabaseEditio_10298/image_4.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="461" alt="image" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/VisualStudioTeamSystem2008DatabaseEditio_10298/image_thumb_1.png" width="648" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Figura 1: Janela com os templates de projeto para SQL Server&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Observa&amp;#231;&amp;#227;o: &lt;/strong&gt;Perceba que neste instante voc&amp;#234; j&amp;#225; pode colocar seu projeto em controle de fontes. &lt;/p&gt;  &lt;p&gt;Para este exemplo, vou utilizar a op&amp;#231;&amp;#227;o n&amp;#250;mero 3. O pr&amp;#243;prio assistente que cria o projeto j&amp;#225; pergunta se voc&amp;#234; deseja importar o schema de outro banco de dados. Neste instante, voc&amp;#234; pode criar uma conex&amp;#227;o com um banco de dados existente e o assistente se encarrega de ler seu schema e criar os objetos relevantes no projeto. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/VisualStudioTeamSystem2008DatabaseEditio_10298/image_6.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="498" alt="image" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/VisualStudioTeamSystem2008DatabaseEditio_10298/image_thumb_2.png" width="643" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Figura 2: Op&amp;#231;&amp;#227;o por importar o schema de um banco de dados existente&lt;/p&gt;  &lt;p&gt;O processo de importa&amp;#231;&amp;#227;o de schema gera um arquivo .sql para cada objeto do seu banco de dados. Voc&amp;#234; pode visualiz&amp;#225;-los pelo sistema de arquivos, ou pelo Schema View, no VSTS 2008. Cada um destes arquivos .sql ir&amp;#225; fazer parte do seu controle de fontes e voc&amp;#234; pode fazer check-in e check-out nos arquivos, da mesma forma como faz com seus arquivos .cs, .vb ou outros. Por padr&amp;#227;o, o nome destes arquivos &amp;#233; formado por &lt;strong&gt;[nomedoschema].[nomedoobjeto].[tipo].sql&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/VisualStudioTeamSystem2008DatabaseEditio_10298/image_8.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="427" alt="image" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/VisualStudioTeamSystem2008DatabaseEditio_10298/image_thumb.png" width="376" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/VisualStudioTeamSystem2008DatabaseEditio_10298/image_12.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="426" alt="image" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/VisualStudioTeamSystem2008DatabaseEditio_10298/image_thumb_4.png" width="350" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Figuras 3 e 4: Visualiza&amp;#231;&amp;#227;o dos objetos gerados no Schema View e no Solution Explorer&lt;/p&gt;  &lt;h1&gt;Schema Refactoring (Reconstru&amp;#231;&amp;#227;o)&lt;/h1&gt;  &lt;p&gt;De acordo com Scott Ambler, autor de Agile Database Development, &amp;quot;Reconstru&amp;#231;&amp;#227;o do banco de dados &amp;#233; fazer uma altera&amp;#231;&amp;#227;o pequena no Schema que melhore o seu design sem alterar sua sem&amp;#226;ntica&amp;quot;. Por exemplo:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Renomear o nome de um objeto Schema para melhorar sua consist&amp;#234;ncia, entendimento ou manuten&amp;#231;&amp;#227;o &lt;/li&gt;    &lt;li&gt;Renomear TODAS refer&amp;#234;ncias deste schema &lt;/li&gt;    &lt;li&gt;Renomear tabelas, views, stored procedures, user defined functions, etc. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#201; muito comum precisarmos alterar o nome de um objeto durante o processo de desenvolvimento. Com a funcionalidade de Refactoring, o VSTS 2008 atualiza todas as refer&amp;#234;ncias a este objeto no projeto com o nome novo. Ele ainda pode simular a altera&amp;#231;&amp;#227;o e emitir um mini-relat&amp;#243;rio de conclus&amp;#227;o, para que voc&amp;#234; mesmo possa avaliar a mudan&amp;#231;a antes de efetiv&amp;#225;-la. &lt;/p&gt;  &lt;p&gt;Basta um clique com o bot&amp;#227;o direito para realizar o processo de refactoring. Ap&amp;#243;s as altera&amp;#231;&amp;#245;es, se voc&amp;#234; estiver utilizando controle de fontes, o pr&amp;#243;prio processo de refactoring se preocupa em fazer o check-out dos arquivos necess&amp;#225;rios e fazer as altera&amp;#231;&amp;#245;es. Se voc&amp;#234; alterar o nome de uma coluna, como no exemplo abaixo, o VSTS atualiza quaisquer stored procedures que fa&amp;#231;am refer&amp;#234;ncia a esta coluna para refletir as altera&amp;#231;&amp;#245;es.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/VisualStudioTeamSystem2008DatabaseEditio_10298/image_14.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="298" alt="image" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/VisualStudioTeamSystem2008DatabaseEditio_10298/image_thumb_5.png" width="378" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;Figura 5: Renomeando uma coluna no banco de dados. &lt;/p&gt; &lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/VisualStudioTeamSystem2008DatabaseEditio_10298/image_18.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="333" alt="image" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/VisualStudioTeamSystem2008DatabaseEditio_10298/image_thumb_7.png" width="602" border="0" /&gt;&lt;/a&gt;   &lt;p&gt;Figura 6: Alterando o nome de uma coluna. Perceba a op&amp;#231;&amp;#227;o &amp;quot;Preview Changes&amp;quot;&lt;/p&gt;  &lt;p&gt;Se mesmo ap&amp;#243;s tiver feito as altera&amp;#231;&amp;#245;es voc&amp;#234; desejar desfaz&amp;#234;-las, o Global Undo est&amp;#225; dispon&amp;#237;vel para desfazer tudo.&lt;/p&gt;  &lt;h1&gt;Build e Deploy&lt;/h1&gt;  &lt;p&gt;O VSTS 2008 Database Edition tem completa integra&amp;#231;&amp;#227;o com o MSBUILD. Isto significa que voc&amp;#234; pode usufruir de todo o processo de build e entrega de vers&amp;#245;es de suas aplica&amp;#231;&amp;#245;es tamb&amp;#233;m em mudan&amp;#231;as na camada de banco de dados. &lt;/p&gt;  &lt;p&gt;Sempre que s&amp;#227;o feitas altera&amp;#231;&amp;#245;es no ambiente, sejam objetos novos ou a altera&amp;#231;&amp;#227;o de objetos existentes, &amp;#233; gerado um arquivo .sql com as altera&amp;#231;&amp;#245;es. Este arquivo pode ser enviado a um DBA para aprova&amp;#231;&amp;#227;o e execu&amp;#231;&amp;#227;o, ou pode ser integrado ao seu processo de build di&amp;#225;rio.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/VisualStudioTeamSystem2008DatabaseEditio_10298/image_22.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="312" alt="image" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/VisualStudioTeamSystem2008DatabaseEditio_10298/image_thumb_9.png" width="458" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Figura 7: Processo de Build e Deploy&lt;/p&gt;  &lt;p&gt;Atrav&amp;#233;s do MSBuild &amp;#233; poss&amp;#237;vel: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Utiliza&amp;#231;&amp;#227;o por linha de comando &lt;/li&gt;    &lt;li&gt;Acesso por programa&amp;#231;&amp;#227;o &lt;/li&gt;    &lt;li&gt;Liga&amp;#231;&amp;#227;o entre as tarefas &lt;/li&gt;    &lt;li&gt;Integra&amp;#231;&amp;#227;o do time &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Como j&amp;#225; disse aqui, &amp;#233; poss&amp;#237;vel enviar apenas altera&amp;#231;&amp;#245;es realizadas ou um banco de dados completo para o destino. &lt;/p&gt;  &lt;p&gt;Em um deployment completo, todo o banco de dados &amp;#233; criado no destino. Este &amp;#233; o comportamento padr&amp;#227;o, quando o destino n&amp;#227;o existe, mas tamb&amp;#233;m pode ser for&amp;#231;ado pela op&amp;#231;&amp;#227;o de build &amp;#8220;Always Recreate Database&amp;#8221;&lt;/p&gt;  &lt;p&gt;Em um deployment incremental, s&amp;#227;o enviadas apenas as diferen&amp;#231;as entre o projeto e o banco de dados de destino. &lt;/p&gt;  &lt;p&gt;Voc&amp;#234; pode ainda utilizar um script incremental que valida a vers&amp;#227;o do servidor de destino, nome do banco de dados e database compatibility level, entre outros atributos do servidor ou do banco de dados. Se a valida&amp;#231;&amp;#227;o falhar em algum crit&amp;#233;rio que voc6e especifique, o deploy pode ser abordado.&lt;/p&gt;  &lt;p&gt;Mas se voc&amp;#234; n&amp;#227;o deseja utilizar o MSBUILD por linhas de comando, o VSTS 2008 pode enviar as altera&amp;#231;&amp;#245;es atrav&amp;#233;s de sua IDE. &lt;/p&gt;  &lt;h1&gt;Recursos para Teste&lt;/h1&gt;  &lt;p&gt;O VSTS 2008 oferece recursos para que voc&amp;#234; possa realizar testes em seu banco de dados. &amp;#201; poss&amp;#237;vel fazer teste de unit e gerar dados de teste para popular suas bases. &lt;/p&gt;  &lt;h2&gt;Testes de Unit&lt;/h2&gt;  &lt;p&gt;O recurso de Unit Test dispon&amp;#237;vel no VSTS 2008 funciona em conjunto com o Team Test do VSTS 2008. &amp;#201; poss&amp;#237;vel utilizar c&amp;#243;digo .NET para gerar os testes e tamb&amp;#233;m T-SQL. Pode-se, por exemplo, dizer se &amp;#233; esperado um tipo de resultado a partir de uma stored procedure e avaliar este resultado ao final da execu&amp;#231;&amp;#227;o dos testes. O resultado pode ser um ResultSet, um RowCount ou valores escalares, por exemplo. Ou at&amp;#233; mesmo um retorno sem conclus&amp;#227;o determinada.&lt;/p&gt;  &lt;h2&gt;Dados de teste&lt;/h2&gt;  &lt;p&gt;Este &amp;#233; um dos meus recursos preferidos no VSTS 2008. O gerador que j&amp;#225; vem embutido no VSTS 2008 (ele tamb&amp;#233;m permite que voc&amp;#234; plugue geradores de dados de terceiros) utiliza diferentes t&amp;#233;cnicas para gerar dados que s&amp;#227;o realmente relevantes para os seus testes. Pode-se pode exemplo utilizar express&amp;#245;es regulares para gerar express&amp;#245;es. &lt;/p&gt;  &lt;p&gt;A&amp;#237; vai um roteiro de exemplo para um gerador de testes em cima do banco de dados Northwind:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Clique em dbo.Orders&lt;/li&gt;    &lt;li&gt;Clique no menu Data, Data Generator, e clique em Column Details.&lt;/li&gt;    &lt;li&gt;Em Column Details, selecione ShipCity, e defina o campo Generator com o valor Data Bound Generator. Isto indica que o gerador vai obter seus resultados a partir de uma query.&lt;/li&gt;    &lt;li&gt;No menu View, clique em Properties Window&lt;/li&gt;    &lt;li&gt;Na janela de propriedades, veja a sess&amp;#227;o Generator. Na propriedade Connection Information, clique na conex&amp;#227;o que corresponde ao banco de dados do qual voc&amp;#234; importou o schema. Esta op&amp;#231;&amp;#227;o se deve ao fato de consultarmos os dados em um banco de dados j&amp;#225; existente.&lt;/li&gt;    &lt;li&gt;Na janela de propriedades, em Generator, na propriedade Query, defina a query string como &amp;quot;SELECT * FROM Orders&amp;quot;. &lt;/li&gt;    &lt;li&gt;Em Column Details, no campo Generator Output para ShipCity, clique em [OutputTable1].[ShipCity].&lt;/li&gt;    &lt;li&gt;Salve o data generation plan.     &lt;br /&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Como sempre, fique a vontade para escrever seus coment&amp;#225;rios ou d&amp;#250;vidas.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8365688" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+em+portugu_26002300_234_3B00_s/default.aspx">SQL Server em portugu&amp;#234;s</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/procha/archive/tags/DB+Pro/default.aspx">DB Pro</category><category domain="http://blogs.msdn.com/procha/archive/tags/Ciclo+de+vida+de+desenvolvimento/default.aspx">Ciclo de vida de desenvolvimento</category><category domain="http://blogs.msdn.com/procha/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.msdn.com/procha/archive/tags/Desenvolvimento+em+Banco+de+Dados/default.aspx">Desenvolvimento em Banco de Dados</category><category domain="http://blogs.msdn.com/procha/archive/tags/Visual+Studio+Team+System+2008+Database+Edition/default.aspx">Visual Studio Team System 2008 Database Edition</category></item><item><title>Webcast Disponível: Manage and Deploy Database</title><link>http://blogs.msdn.com/procha/archive/2008/03/19/webcast-dispon-vel-manage-and-deploy-database.aspx</link><pubDate>Wed, 19 Mar 2008 17:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8325727</guid><dc:creator>procha</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/procha/comments/8325727.aspx</comments><wfw:commentRss>http://blogs.msdn.com/procha/commentrss.aspx?PostID=8325727</wfw:commentRss><wfw:comment>http://blogs.msdn.com/procha/rsscomments.aspx?PostID=8325727</wfw:comment><description>&lt;P&gt;Já está disponível o &lt;A href="https://www.msdnbrasil.com.br/experience/vsts/Secure/Conteudo.aspx" target=_blank mce_href="https://www.msdnbrasil.com.br/experience/vsts/Secure/Conteudo.aspx"&gt;webcast&lt;/A&gt; que gravei para a equipe do &lt;A href="https://www.msdnbrasil.com.br/" target=_blank mce_href="https://www.msdnbrasil.com.br/"&gt;MSDN&lt;/A&gt; sobre &lt;STRONG&gt;Manage and Deploy Database&lt;/STRONG&gt;, com o Microsoft Visual Studio Team System 2008 Database Edition. Os tópicos abordados no webcast são:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Visão Conceitual:&lt;/STRONG&gt; visão geral sobre o produto&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Ciclo de vida de Desenvolvimento em Banco de Dados:&lt;/STRONG&gt; como o desenvolvimento em banco de dados se integra ao ciclo de vida de desenvolvimento de software na sua empresa&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Iniciando um Projeto Novo (demonstração):&lt;/STRONG&gt; técnicas para iniciação de um projeto a partir de um banco de dados novo, ou criação de um projeto baseado em um banco de dados já existente&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Estrutura do Projeto (demonstração):&lt;/STRONG&gt; como o banco de dados fica estruturado no Visual Studio Team System&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Enviando Alterações (demonstração):&lt;/STRONG&gt; como enviar apenas uma alteração simples para o banco de dados de produção, ao invés de "dropar" o banco de dados e reconstruí-lo&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Para quem não conhece o DB Pro (como é chamado), trata-se de uma edição do Visual Studio que insere o banco de dados no ciclo de vida de desenvolvimento de software. Ele contém ferramentas interessantes, como a comparação de schemas (pode-se comparar o schema de um banco de produção com um de desenvolvimento e ver as diferenças, por exemplo), geração de dados relevantes para teste e deploy diferencial de um banco de dados, entre muitos outros recursos. &lt;/P&gt;
&lt;P&gt;No próximo post vou escrever especificamente sobre o Visual Studio Team System 2008 Database Edition. Por hora, recomendo o webcast de apenas 37 minutos disponível em &lt;A title=https://www.msdnbrasil.com.br/experience/vsts/Secure/Conteudo.aspx href="https://www.msdnbrasil.com.br/experience/vsts/Secure/Conteudo.aspx" mce_href="https://www.msdnbrasil.com.br/experience/vsts/Secure/Conteudo.aspx"&gt;https://www.msdnbrasil.com.br/experience/vsts/Secure/Conteudo.aspx&lt;/A&gt; (Módulo 04 - Sessão 2 - Manage and Deploy Database)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8325727" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+em+portugu_26002300_234_3B00_s/default.aspx">SQL Server em portugu&amp;#234;s</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/procha/archive/tags/DB+Pro/default.aspx">DB Pro</category><category domain="http://blogs.msdn.com/procha/archive/tags/Ciclo+de+vida+de+desenvolvimento/default.aspx">Ciclo de vida de desenvolvimento</category><category domain="http://blogs.msdn.com/procha/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.msdn.com/procha/archive/tags/Desenvolvimento+em+Banco+de+Dados/default.aspx">Desenvolvimento em Banco de Dados</category><category domain="http://blogs.msdn.com/procha/archive/tags/Visual+Studio+Team+System+2008+Database+Edition/default.aspx">Visual Studio Team System 2008 Database Edition</category></item><item><title>Alta Disponibilidade com SQL Server</title><link>http://blogs.msdn.com/procha/archive/2008/03/07/alta-disponibilidade-com-sql-server.aspx</link><pubDate>Fri, 07 Mar 2008 22:24:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8105149</guid><dc:creator>procha</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/procha/comments/8105149.aspx</comments><wfw:commentRss>http://blogs.msdn.com/procha/commentrss.aspx?PostID=8105149</wfw:commentRss><wfw:comment>http://blogs.msdn.com/procha/rsscomments.aspx?PostID=8105149</wfw:comment><description>&lt;p&gt;Alta disponibilidade &amp;#233; um assunto obrigat&amp;#243;rio quando falamos em servidores corporativos de banco de dados. Em qualquer segmento do mercado podemos citar exemplos de aplica&amp;#231;&amp;#245;es que n&amp;#227;o podem parar de funcionar: desde o controle de uma balan&amp;#231;a de caminh&amp;#245;es na estrada at&amp;#233; a emiss&amp;#227;o de passagens a&amp;#233;reas. Hospitais s&amp;#227;o um dos exemplos com o qual eu mais gosto de pensar quando falamos em miss&amp;#227;o cr&amp;#237;tica. &lt;/p&gt;  &lt;p&gt;Meu professor de guitarra dizia a alguns anos que eu parecia m&amp;#233;dico, pois, quando eu trabalhava com suporte e precisava fazer plant&amp;#227;o, ficava dispon&amp;#237;vel 24 horas por dia no per&amp;#237;odo de uma semana, que era o meu per&amp;#237;odo de plant&amp;#227;o em um m&amp;#234;s. Mas eu acho que, por maior que seja o preju&amp;#237;zo de um sistema parado, nenhum supera o preju&amp;#237;zo de uma vida perdida ou de um atendimento de emerg&amp;#234;ncia que n&amp;#227;o p&amp;#244;de ser iniciado. Ent&amp;#227;o quem faz miss&amp;#227;o cr&amp;#237;tica mesmo s&amp;#227;o os m&amp;#233;dicos e enfermeiros, n&amp;#227;o n&amp;#243;s, meros geeks da &amp;#225;rea de TI J&lt;/p&gt;  &lt;p&gt;Vamos voltar aos nossos preju&amp;#237;zos por causa de aplica&amp;#231;&amp;#245;es paradas. Os preju&amp;#237;zos podem ser em receita (entrada de pedidos, vendas), em aumento de custos (caminh&amp;#245;es parados, utiliza&amp;#231;&amp;#227;o de processos manuais ou de conting&amp;#234;ncia) e at&amp;#233; mesmo na imagem da empresa (atendimento a clientes, emiss&amp;#227;o de passagens, entrega de produtos), entre outros. O SQL Server oferece diversas alternativas para atingirmos n&amp;#237;veis non-stop de alta disponibilidade. &amp;#201; a abordagem que a Microsoft chama de Always On Technologies. No caso do SQL Server, seja com solu&amp;#231;&amp;#245;es como clusters geogr&amp;#225;ficos ou outras muito simples e baratas como o Database Mirroring, os n&amp;#237;veis alcan&amp;#231;ados de alta disponibilidade atendem as necessidades de neg&amp;#243;cio, independente do tamanho ou complexidade da aplica&amp;#231;&amp;#227;o. Neste post, vamos explorar algumas das alternativas de alta disponibilidade oferecidas pelo SQL Server 2005 e como elas foram melhoradas no SQL Server 2008. M&amp;#227;os a obra. &lt;/p&gt;  &lt;h1&gt;Antes de tudo, porque tantas op&amp;#231;&amp;#245;es?&lt;/h1&gt;  &lt;p&gt;Uma pergunta freq&amp;#252;ente &amp;#233;: porque existem tantas op&amp;#231;&amp;#245;es para resolver o mesmo problema? As diversas op&amp;#231;&amp;#245;es de alta disponibilidade oferecidas pelo SQL Server visam atender a qualquer cen&amp;#225;rio, n&amp;#227;o importa o tamanho da empresa. Seja um banco de dados de 100MB ou de 30TB, uma aplica&amp;#231;&amp;#227;o distribu&amp;#237;da contra uma centralizada, temos uma solu&amp;#231;&amp;#227;o mais apropriada para cada cen&amp;#225;rio. O que se deve fazer &amp;#233; olhar caso a caso e optar pela melhor op&amp;#231;&amp;#227;o. E, porque n&amp;#227;o, utilizar as op&amp;#231;&amp;#245;es de alta disponibilidade combinadas. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;Database Mirroring&lt;/h1&gt;  &lt;p&gt;O Database Mirroring foi introduzido ao SQL Server 2005 como parte do Service Pack 1. Trata-se de uma tecnologia que permite atingir os maiores n&amp;#237;veis de alta disponibilidade de uma forma muito simples e barata. Ele permite espelhar um banco de dados em outro servidor, aplicando quaisquer altera&amp;#231;&amp;#245;es no banco de dados no servidor principal instantaneamente no servidor de espelho. &lt;/p&gt;  &lt;p&gt;Dependendo da forma como o Database Mirroring for configurado, o failover para o servidor de mirror pode ser autom&amp;#225;tico, sem necessidade de chaveamento manual na aplica&amp;#231;&amp;#227;o. Isto &amp;#233; feito atrav&amp;#233;s da utiliza&amp;#231;&amp;#227;o de um servidor chamado witness (testemunha) que monitora a disponibilidade do servidor principal e &amp;#8220;notifica&amp;#8221; as aplica&amp;#231;&amp;#245;es que se conectam a ele a chavearem para o servidor de mirror. (as aplica&amp;#231;&amp;#245;es procuram pelo witness atrav&amp;#233;s de um par&amp;#226;metro em sua connection string) Muito simples de configurar e manter, tem sido amplamente utilizado no mercado. &lt;/p&gt;  &lt;p&gt;Quanto a desempenho, pode-se configurar se as transa&amp;#231;&amp;#245;es ser&amp;#227;o enviadas em tempo real (de forma s&amp;#237;ncrona) ou com um pequeno atraso (de forma ass&amp;#237;ncrona). Isto permite balancear a carga de rede e de processamento. &lt;/p&gt;  &lt;p&gt;No SQL Server 2008, o Database Mirroring foi melhorado. Ele compacta os dados que s&amp;#227;o enviados entre os servidores, gerando uma carga menor em rede. Al&amp;#233;m disso, a prote&amp;#231;&amp;#227;o dos dados passa a ser feita por p&amp;#225;ginas (pages of data): se uma p&amp;#225;gina estiver corrompida, tanto no servidor principal quanto no mirror, o mecanismo do Database Mirroring toma o cuidado de recuperar a p&amp;#225;gina a partir do outro servidor. &lt;/p&gt;  &lt;p&gt;O que torna o Database Mirroring uma solu&amp;#231;&amp;#227;o barata, afinal de contas? V&amp;#225;rios fatores. Um dos principais &amp;#233; o fato de n&amp;#227;o precisar de hardware espec&amp;#237;fico, como um cluster, por exemplo, que exige um disco compartilhado e hardware para cluster. Outro ponto importante &amp;#233; que se o servidor onde fica o mirror n&amp;#227;o for utilizado para consultas de outras bases de dados (apenas em stand by), n&amp;#227;o &amp;#233; necess&amp;#225;rio pagar a licen&amp;#231;a do SQL Server que est&amp;#225; atuando como mirror. Esta configura&amp;#231;&amp;#227;o &amp;#233; chamada de cold backup. A partir do momento que a instancia de cold backup passa a ser utilizada, ainda que apenas para leitura, se faz necess&amp;#225;rio licenciar tamb&amp;#233;m este servidor. Por&amp;#233;m, no caso de um failover, o servidor de backup pode ficar no ar at&amp;#233; trinta dias no lugar do principal, sem que seja necess&amp;#225;rio pagar a licen&amp;#231;a do cold backup.&lt;/p&gt;  &lt;h1&gt;Log Shipping&lt;/h1&gt;  &lt;p&gt;O Log Shipping &amp;#233; uma tecnologia de alta disponibilidade que aplica logs transacionais em uma c&amp;#243;pia do banco de dados com certa periodicidade, garantindo uma c&amp;#243;pia atualizada do banco de dados na rede. Embora o tempo de atraso entre a aplica&amp;#231;&amp;#227;o destes logs no servidor secund&amp;#225;rio possa resultar em um banco de dados desatualizado no destino, pode-se utilizar a base secund&amp;#225;ria para leitura dos dados e recupera&amp;#231;&amp;#227;o caso ocorra um erro humano na base principal.&lt;/p&gt;  &lt;p&gt;O Log Shipping est&amp;#225; dispon&amp;#237;vel desde vers&amp;#245;es anteriores do SQL Server e tamb&amp;#233;m &amp;#233; utilizado amplamente. &lt;/p&gt;  &lt;h1&gt;Failover Clustering&lt;/h1&gt;  &lt;p&gt;Geralmente o Failover Clustering &amp;#233; a solu&amp;#231;&amp;#227;o mais comum quando falamos em alta disponibilidade. O SQL Server usufrui do servi&amp;#231;o de cluster do Windows Server para garantir alta disponibilidade em caso de falha de hardware. O servi&amp;#231;o de cluster do Windows Server (Microsoft Cluster Service) garante que servi&amp;#231;os hospedados em um servidor sejam movidos a outro em caso de falha de hardware, com queda m&amp;#237;nima no tempo de servi&amp;#231;o (pouco maior do que o Database Mirroring). Esta solu&amp;#231;&amp;#227;o requer hardware espec&amp;#237;fico, sendo esta a principal desvantagem. Os servidores que s&amp;#227;o membros do cluster acessam um mesmo sistema de discos, que &amp;#233; compartilhado entre todos os membros do cluster.&lt;/p&gt;  &lt;p&gt;O cluster &amp;#233; muito simples de se configurar, tendo todos os pr&amp;#233;-requisitos atendidos. Da parte do Windows Server, um simples assistente faz a configura&amp;#231;&amp;#227;o. No caso do SQL Server, durante a instala&amp;#231;&amp;#227;o voc&amp;#234; marca uma op&amp;#231;&amp;#227;o dizendo que ir&amp;#225; &amp;#8220;clusterizar&amp;#8221; recursos como o Database Engine ou o Analysis Services, escolhe os n&amp;#243;s (nodes) do cluster que far&amp;#227;o parte da instala&amp;#231;&amp;#227;o do SQL Server e o programa de instala&amp;#231;&amp;#227;o toma os devidos cuidados. Ao contr&amp;#225;rio do que muitas pessoas pensam, a vers&amp;#227;o Standard do SQL Server 2005 suporta a configura&amp;#231;&amp;#227;o de cluster de dois n&amp;#243;s (nodes).&lt;/p&gt;  &lt;p&gt;A principal novidade no SQL Server 2008 &amp;#233; o fato de n&amp;#227;o precisar de um drive l&amp;#243;gico para cada inst&amp;#226;ncia SQL no cluster: agora v&amp;#225;rias inst&amp;#226;ncias podem utilizar um mesmo drive l&amp;#243;gico (&amp;#8220;G:&amp;#8220;, por exemplo), o que dever&amp;#225; viabilizar mais a instala&amp;#231;&amp;#227;o de m&amp;#250;ltiplas inst&amp;#226;ncias SQL Server em um mesmo cluster. Al&amp;#233;m disto, agora ser&amp;#225; poss&amp;#237;vel suportar 16 n&amp;#243;s (nodes) em um cluster, mas este &amp;#233; na verdade um benef&amp;#237;cio do Windows Server 2008. &lt;/p&gt;  &lt;h1&gt;Geographically Dispersed Failover Clustering&lt;/h1&gt;  &lt;p&gt;Imagine um cluster separado fisicamente, com replica&amp;#231;&amp;#227;o de storage. Isto &amp;#233; o Geographically Dispersed Failover Clustering. A grande vantagem dele sobre o cluster comum &amp;#233; exatamente a caracter&amp;#237;stica de replica&amp;#231;&amp;#227;o do storage, que elimina um ponto de falha na solu&amp;#231;&amp;#227;o. Na eventual falha do sistema de discos de um dos n&amp;#243;s, todo o controle &amp;#233; cedido ao servidor secund&amp;#225;rio, que tem uma r&amp;#233;plica dos dados. &lt;/p&gt;  &lt;h1&gt;Peer-to-Peer Replication&lt;/h1&gt;  &lt;p&gt;Entre os v&amp;#225;rios modelos de replica&amp;#231;&amp;#227;o do SQL Server, talvez este seja o que melhor se aplica ao tema alta disponibilidade. A replica&amp;#231;&amp;#227;o Peer-To-Peer permite que os dados sejam replicados entre dois ou mais servidores, n&amp;#227;o importa onde as altera&amp;#231;&amp;#245;es ou inser&amp;#231;&amp;#245;es est&amp;#227;o sendo feitas. Para este cen&amp;#225;rio, no entanto, as aplica&amp;#231;&amp;#245;es precisam ser desenhadas de modo que sejam direcionadas a um dos servidores em espec&amp;#237;fico, j&amp;#225; que o SQL Server n&amp;#227;o faz resolu&amp;#231;&amp;#227;o de conflitos (para isto, veja merge replication). Esta solu&amp;#231;&amp;#227;o &amp;#233; especialmente apropriada quando falamos em servidores que est&amp;#227;o separados por dist&amp;#226;ncias maiores. &lt;/p&gt;  &lt;p&gt;At&amp;#233; o SQL Server 2005, o processo de replica&amp;#231;&amp;#227;o precisava ser interrompido caso houvesse a necessidade de adicionar um servidor a topologia de replica&amp;#231;&amp;#227;o. No SQL Server 2008, no entanto, este n&amp;#227;o &amp;#233; o caso: servidores podem ser adicionados &amp;#224; topologia de replica&amp;#231;&amp;#227;o sem parada da replica&amp;#231;&amp;#227;o.&lt;/p&gt;  &lt;h1&gt;Downtime Reduzido &lt;/h1&gt;  &lt;p&gt;Al&amp;#233;m das tecnologias citadas acima, v&amp;#225;rios recursos internos do SQL Server permitem uma maior disponibilidade do sistema. Alguns deles s&amp;#227;o:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Fast Database Recovery: &lt;/strong&gt;disponibiliza parcialmente os bancos de dados durante o processo de recovery (enquanto faz rollback de algumas transa&amp;#231;&amp;#245;es, por exemplo) , durante o failover em Database Mirroring e em processos de restore. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Backup and Restore: &lt;/strong&gt;o processo de backup e restore permite que voc&amp;#234; fa&amp;#231;a c&amp;#243;pias em v&amp;#225;rias unidades de fita, por exemplo, (tamb&amp;#233;m pode ser em disco) para ajudar em casos de perda ou de comprometimento da m&amp;#237;dia de backup. O SQL Server tamb&amp;#233;m gera checksums para poder fazer verifica&amp;#231;&amp;#245;es na fase de restore. No SQL Server 2008 a novidade &amp;#233; poder fazer backup comprimidos, que podem reduzir o n&amp;#250;mero de fitas necess&amp;#225;rias para o backup significativamente. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Checksum on Data Pages: &lt;/strong&gt;compara os valores escritos no disco aos valores lidos do checksum (aplicando-se um algoritmo de verifica&amp;#231;&amp;#227;o). Se n&amp;#227;o coincidirem, a p&amp;#225;gina &amp;#233; marcada como suspect e precisa ser restaurada.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Online Index Operations: &lt;/strong&gt;outro dia falei sobre isto em um cliente e ele disse: &amp;#8220;-O SQL Server realmente faz isso?&amp;#8221;. Faz sim!Desde o SQL Server 2005, &amp;#233; poss&amp;#237;vel fazer manuten&amp;#231;&amp;#227;o em &amp;#237;ndices sem afetar a disponibilidade.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Online Piecemeal and Page-Level Restore:&lt;/strong&gt; no SQL Server 2008, permite que se fa&amp;#231;a o restore dos filegroups por partes, deixando dispon&amp;#237;veis os dados j&amp;#225; restaurados. Tamb&amp;#233;m permite que se fa&amp;#231;a o restore de p&amp;#225;ginas corrompidas. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Partial Database Availability:&lt;/strong&gt; deixa um banco de dados dispon&amp;#237;vel mesmo se parte dele estiver comprometida (por falha em um disco, por exemplo)&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Snapshot Isolation: &lt;/strong&gt;garante que registros sejam lidos mesmo durante altera&amp;#231;&amp;#227;o dos dados, a partir da visualiza&amp;#231;&amp;#227;o de vers&amp;#245;es de uma linha. Aumenta a disponibilidade pelo fato de reduzir os tempos de lock substancialmente. Eu considero este um dos principais benef&amp;#237;cios do database engine do SQL Server 2005 em rela&amp;#231;&amp;#227;o a vers&amp;#245;es anteriores.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Dynamic Configuration:&lt;/strong&gt; possibilidade de fazer upgrade de hardware sem parar o servi&amp;#231;o. Como um exemplo, adicione mem&amp;#243;ria em um servidor ligado (desde que o hardware d&amp;#234; suporte a isto) e disponibilize esta mem&amp;#243;ria para o SQL Server sem parar o servidor. No SQL Server 2008, a novidade &amp;#233; o suporte a adi&amp;#231;&amp;#227;o de processadores sem parar o servidor. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Perceba que alguns destes recursos est&amp;#227;o dispon&amp;#237;veis apenas na edi&amp;#231;&amp;#227;o Enterprise do SQL Server. Para uma tabela comparativa entre as diferentes edi&amp;#231;&amp;#245;es visite &lt;a href="http://www.microsoft.com/sql/prodinfo/features/compare-features.mspx"&gt;http://www.microsoft.com/sql/prodinfo/features/compare-features.mspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Outro fator importante que precisa ser lembrado &amp;#233; que o SQL Server oferece todos os recursos citados acima out-of-box. N&amp;#227;o &amp;#233; necess&amp;#225;rio pagar nada a mais para ter o Database Mirroring ou o Failover Cluster, por exemplo. &lt;/p&gt;  &lt;h1&gt;Conclus&amp;#227;o&lt;/h1&gt;  &lt;p&gt;O SQL Server oferece diversas solu&amp;#231;&amp;#245;es para atingir n&amp;#237;veis de alta disponibilidade. Embora sejam solu&amp;#231;&amp;#245;es individuais e auto-suficientes (n&amp;#227;o dependem necessariamente uma da outra), elas podem ser utilizadas em conjunto para atingir maiores n&amp;#237;veis de alta disponibilidade, como no cen&amp;#225;rio abaixo:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="889" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="279"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;strong&gt;Database Mirroing:&lt;/strong&gt; site prim&amp;#225;rio de disastre&lt;/li&gt;            &lt;li&gt;&lt;strong&gt;Log Shipping:&lt;/strong&gt; sites adicionais para disastre e recovery l&amp;#243;gico (altera&amp;#231;&amp;#245;es n&amp;#227;o desejadas)&lt;/li&gt;            &lt;li&gt;&lt;strong&gt;Replica&amp;#231;&amp;#227;o:&lt;/strong&gt; relat&amp;#243;rios e escalabilidade para leitura, com redund&amp;#226;ncia&lt;/li&gt;            &lt;li&gt;&lt;strong&gt;Clustering: &lt;/strong&gt;redund&amp;#226;ncia de servidor&lt;/li&gt;            &lt;li&gt;&lt;strong&gt;Backup&lt;/strong&gt;&lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;        &lt;td valign="top" width="608"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/AltaDisponibilidadecomSQLServer_E4F5/image_4.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="570" alt="image" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/AltaDisponibilidadecomSQLServer_E4F5/image_thumb_1.png" width="513" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;N&amp;#227;o importa o tamanho do seu neg&amp;#243;cio ou a complexidade da sua aplica&amp;#231;&amp;#227;o: O SQL Server &amp;#233; o servidor de banco de dados ideal para atingir alta disponibilidade com baixos custos. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8105149" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+em+portugu_26002300_234_3B00_s/default.aspx">SQL Server em portugu&amp;#234;s</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/procha/archive/tags/Gerenciamento/default.aspx">Gerenciamento</category><category domain="http://blogs.msdn.com/procha/archive/tags/Alta+disponibilidade/default.aspx">Alta disponibilidade</category><category domain="http://blogs.msdn.com/procha/archive/tags/Database+Mirroring/default.aspx">Database Mirroring</category><category domain="http://blogs.msdn.com/procha/archive/tags/Failover+Clustering/default.aspx">Failover Clustering</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+backup/default.aspx">SQL Server backup</category><category domain="http://blogs.msdn.com/procha/archive/tags/Cluster/default.aspx">Cluster</category><category domain="http://blogs.msdn.com/procha/archive/tags/Log+Shipping/default.aspx">Log Shipping</category><category domain="http://blogs.msdn.com/procha/archive/tags/Peer-To-Peer+Replication/default.aspx">Peer-To-Peer Replication</category></item><item><title>Data Mining com Excel 2007</title><link>http://blogs.msdn.com/procha/archive/2008/02/13/data-mining-com-excel-2007.aspx</link><pubDate>Wed, 13 Feb 2008 20:04:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7677748</guid><dc:creator>procha</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/procha/comments/7677748.aspx</comments><wfw:commentRss>http://blogs.msdn.com/procha/commentrss.aspx?PostID=7677748</wfw:commentRss><wfw:comment>http://blogs.msdn.com/procha/rsscomments.aspx?PostID=7677748</wfw:comment><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Existem muitos mitos em torno de Data Mining. O principal deles diz que Data Mining &amp;#233; algo que est&amp;#225; fora do alcance dos usu&amp;#225;rios comuns. Dizem que Data Mining requer treinamento espec&amp;#237;fico e que as ferramentas que o fazem s&amp;#227;o, em geral, caixas pretas das quais n&amp;#227;o tiramos proveito nenhum. Para quebrar tais mitos, nada melhor do que demonstrar como utilizar os algoritmos de Data Mining do SQL Server a partir do Office Excel - f&amp;#225;cil, simples, poderoso e todo mundo j&amp;#225; conhece. &lt;/p&gt;  &lt;h3&gt;O que &amp;#233; Data Mining?&lt;/h3&gt;  &lt;p&gt;Data Mining &amp;#233; um processo de an&amp;#225;lise dos dados a fim de se identificar informa&amp;#231;&amp;#245;es relevantes. Tais informa&amp;#231;&amp;#245;es podem representar tend&amp;#234;ncias, comportamentos, determinar perfis, agrupar registros em comum ou v&amp;#225;rias outras tarefas. Quando eu estava na escola, aos 7 ou 8 anos de idade, ficava perguntando para minha professora (e para os meus pais) por que eu precisava aprender Hist&amp;#243;ria. Achava chato e desnecess&amp;#225;rio. A resposta que eu tinha, em geral, era: &amp;quot;-Precisamos estudar hist&amp;#243;ria para entender o presente e o futuro.&amp;quot;. Nunca entendi isso muito bem. Eu ia bem em matem&amp;#225;tica, portugu&amp;#234;s, ingl&amp;#234;s... mas ia muito mal em hist&amp;#243;ria. S&amp;#243; fui me interessar por hist&amp;#243;ria mais tarde. Com Data Mining, &amp;#233; a mesma coisa. Os terabytes de dados presentes nos datawarehouses podem nos ensinar muito sobre o que fizemos e, principalmente, sobre onde podemos chegar. E &amp;#233; isso que o Data Mining nos permite: fazer uma an&amp;#225;lise do seu hist&amp;#243;rico, a fim de se interpretar os dados e tomar decis&amp;#245;es melhores. &lt;/p&gt;  &lt;h3&gt;Algoritmos &lt;/h3&gt;  &lt;p&gt;O SQL Server 2005 Analysis Services j&amp;#225; traz implementa&amp;#231;&amp;#245;es dos principais algoritmos de Data Mining utilizados no mercado. A tabela abaixo indica alguns cen&amp;#225;rios e quais algoritmos se aplicam melhor: &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="921" border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="679"&gt;&lt;strong&gt;&lt;font size="3"&gt;Objetivo&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;        &lt;td valign="top" width="240"&gt;&lt;strong&gt;&lt;font size="3"&gt;Algoritimo&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="679"&gt;         &lt;p&gt;Prever um atributo discreto. Por exemplo, prever quando o destinat&amp;#225;rio de uma campanha de mala direta vai comprar um produto.&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="240"&gt;         &lt;p&gt;Decision Trees&lt;/p&gt;          &lt;p&gt;Naive Bayes&lt;/p&gt;          &lt;p&gt;Clustering&lt;/p&gt;          &lt;p&gt;Neural Network&lt;/p&gt;          &lt;p&gt;Logistic Regression&lt;/p&gt;          &lt;p&gt;Linear Regression&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="679"&gt;         &lt;p&gt;Prever um atributo cont&amp;#237;nuo. Por exemplo, fazer a previs&amp;#227;o de vendas do pr&amp;#243;ximo ano.&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="240"&gt;         &lt;p&gt;Decision Trees&lt;/p&gt;          &lt;p&gt;Time Series&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="679"&gt;         &lt;p&gt;Prever uma seq&amp;#252;&amp;#234;ncia. Por exemplo, realizar uma an&amp;#225;lise de seq&amp;#252;&amp;#234;ncia de clicks em um site.&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="240"&gt;         &lt;p&gt;Sequence Clustering&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="679"&gt;         &lt;p&gt;Encontrar grupos de itens em comum em transa&amp;#231;&amp;#245;es. Por exemplo, analisar uma cesta de compras e sugerir produtos relacionados.&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="240"&gt;         &lt;p&gt;Association Rules&lt;/p&gt;          &lt;p&gt;Decision Trees&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="679"&gt;         &lt;p&gt;Encontrar grupos com itens similares. Por exemplo, segmentar dados demogr&amp;#225;ficos em grupos para entender melhor o relacionamento entre os atributos. &lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="240"&gt;         &lt;p&gt;Clustering&lt;/p&gt;          &lt;p&gt;Sequence Clustering&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;O Analysis Services aceita plugins de terceiros para implementar outros algoritmos, caso sua necessidade n&amp;#227;o seja atendida pelos algoritmos que s&amp;#227;o oferecidos out-of-box. Voc&amp;#234; pode tamb&amp;#233;m desenvolver seu pr&amp;#243;prio algoritimo de Data Mining utilizando programa&amp;#231;&amp;#227;o .NET. &lt;/p&gt;  &lt;h3&gt;Data Mining no Excel 2007&lt;/h3&gt;  &lt;p&gt;Os algoritmos citados acima s&amp;#227;o oferecidos pelo Analysis Services e podem ser utilizados em seus cubos, ou at&amp;#233; em modelos de mining acessando dados em um banco de dados relacional. Isto todos j&amp;#225; sabem. O que algumas pessoas n&amp;#227;o sabem ainda &amp;#233; que toda a intelig&amp;#234;ncia do Analysis Services pode ser consumida atrav&amp;#233;s de APIs, ou a partir do Microsoft Office. Para esta segunda finalidade, foi desenvolvido um add-in de Data Mining para o Microsoft Excel que permite utilizar os recursos de an&amp;#225;lise de dados do Analysis Services em dados de tabelas do Excel. Isto mesmo, seus dados nem precisam estar em um SQL Server. Vamos ver como isto funciona.&lt;/p&gt;  &lt;p&gt;O Add-in de Data Mining para o Microsoft Office Excel 2007 est&amp;#225; dispon&amp;#237;vel em &lt;a title="http://www.microsoft.com/sql/technologies/dm/addins.mspx" href="http://www.microsoft.com/sql/technologies/dm/addins.mspx"&gt;http://www.microsoft.com/sql/technologies/dm/addins.mspx&lt;/a&gt;. J&amp;#225; de antem&amp;#227;o, lhe convido a instalar o Add-In e navegar pelos webcasts presentes neste mesmo site. Ele d&amp;#225; exemplos da utiliza&amp;#231;&amp;#227;o e mostra como funciona esta ferramenta (que na verdade &amp;#233; composta de tr&amp;#234;s add-ins: dois para o Excel e um para o Visio). &lt;/p&gt;  &lt;p&gt;Tendo instalado o Add-In, voc&amp;#234; vai perceber que duas Ribons novas s&amp;#227;o adicionadas: uma delas chamada Data Mining, que permite trabalhar com modelos de mining presentes em um Analysis Server, e uma outra chamada Analyse, que s&amp;#243; fica vis&amp;#237;vel quando voc&amp;#234; seleciona uma tabela dentro do Excel. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DataMiningcomExcel2007_A8B4/image_2.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="126" alt="image" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DataMiningcomExcel2007_A8B4/image_thumb.png" width="719" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Para utilizar os algoritmos de data mining em uma tabela de dados do Excel, basta selecionar a tabela e clicar no bot&amp;#227;o do algoritmo apropriado. &lt;/p&gt;  &lt;h4&gt;Um exemplo r&amp;#225;pido&lt;/h4&gt;  &lt;p&gt;A planilha de exemplo utiliza dados no cen&amp;#225;rio do banco de dados AdventureWorks, que faz parte dos samples do SQL Server 2005. AdventureWorks &amp;#233; uma empresa fict&amp;#237;cia de vendas de bicicletas e acess&amp;#243;rios. A tab SourceData da planilha de exemplo descreve o perfil de potenciais clientes, com informa&amp;#231;&amp;#245;es de renda anual, estado civil, idade e sexo entre outros, e no final diz se este cliente adquiriu uma bicicleta ou n&amp;#227;o (na coluna BikeBuyer). A id&amp;#233;ia do exemplo &amp;#233; mapearmos o perfil de cliente que compra uma bicicleta, para que possamos fazer uma mala direta direcionada a clientes com o mesmo perfil. Para fazer esta an&amp;#225;lise utilizando a planilha de exemplo do Add-in, siga os seguintes passos:&lt;/p&gt;  &lt;p&gt;1) Ap&amp;#243;s ter aberto a planilha (presente em Iniciar-&amp;gt; Programas -&amp;gt; Microsoft SQL Server 2005 DM Add-ins), clique na Sheet SourceData &lt;/p&gt;  &lt;p&gt;2) Selecione a tabela com dados de exemplo. Perceba que ao selecionar, o ribon &amp;quot;Analyze&amp;quot; fica dispon&amp;#237;vel. Clique no bot&amp;#227;o &amp;quot;Analyze Key Influencers&amp;quot;. Um assistente ser&amp;#225; iniciado&lt;/p&gt;  &lt;p&gt;3) &amp;#201; iniciado um assistente. Este assistente coleta informa&amp;#231;&amp;#245;es sobre as colunas que devem ser utilizadas por parte desta an&amp;#225;lise e qual &amp;#233; o atributo que devemos analisar. &lt;/p&gt;  &lt;p&gt;4) Em Column Selection, selecione BikeBuyer. Este &amp;#233; o atributo sobre o qual ser&amp;#225; feita a an&amp;#225;lise de influ&amp;#234;ncia, ou seja, o que tem de comum os clientes que tem BikeBuyer = Yes e o que tem em comum os clientes que tem BikeBuyer = No.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DataMiningcomExcel2007_A8B4/image5.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="370" alt="image" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DataMiningcomExcel2007_A8B4/image5_thumb.png" width="512" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;5) Clique em Choose columns to be used for Analysis. Aqui voc&amp;#234; poder&amp;#225; escolher todos os atributos que ser&amp;#227;o utilizados na an&amp;#225;lise. O campo ID n&amp;#227;o &amp;#233; relevante para an&amp;#225;lise, assim como nosso RG ou CPF n&amp;#227;o determina se voc&amp;#234; tem o perfil de uma pessoa que compraria uma bicicleta ou n&amp;#227;o. Portanto, vamos remover este atributo e manter os demais&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DataMiningcomExcel2007_A8B4/image8.png"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="268" alt="image" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DataMiningcomExcel2007_A8B4/image8_thumb.png" width="366" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;6) Clique em Ok e depois em Run. &lt;/p&gt;  &lt;p&gt;Neste instante, o add-in passa os dados da tabela do Excel para o Analysis Services, que aplica o algoritmo de Data Mining mais apropriado aos dados. Ap&amp;#243;s a conclus&amp;#227;o, o add-in exibe j&amp;#225; no Excel o resultado da an&amp;#225;lise. Perceba que pessoas que n&amp;#227;o tem carro tem maior chance de comprar uma bicicleta, ssim como as que tem entre 36 e 46 anos. J&amp;#225; uma pessoa que tem 2 carros e 64 anos ou mais, baseando-se nos dados de prospecto que temos, n&amp;#227;o compraria uma bicicleta.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DataMiningcomExcel2007_A8B4/image_6.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="668" alt="image" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DataMiningcomExcel2007_A8B4/image_thumb_1.png" width="631" border="0" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;O add-in vai muito al&amp;#233;m disto, este &amp;#233; apenas um exemplo r&amp;#225;pido e superficial. Lembre-se ainda que estes algoritmos podem ser consumidos a partir de uma aplica&amp;#231;&amp;#227;o .Net, o que significa que esta funcionalidade pode ser embutida dentro da sua aplica&amp;#231;&amp;#227;o. A partir da&amp;#237;, n&amp;#227;o existem mais limites. O principal desafio ao fazer Data Mining &amp;#233; o entendimento de neg&amp;#243;cio. &amp;#201; preciso saber qual a necessidade espec&amp;#237;fica que se tem e como melhor utilizar seus dados para ter o resultado desejado.&lt;/p&gt;  &lt;p&gt;Como sempre, fique a vontade para utilizar a &amp;#225;rea de coment&amp;#225;rios para postar suas d&amp;#250;vidas. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7677748" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+em+portugu_26002300_234_3B00_s/default.aspx">SQL Server em portugu&amp;#234;s</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/procha/archive/tags/Data+Mining/default.aspx">Data Mining</category><category domain="http://blogs.msdn.com/procha/archive/tags/Analysis+Services+Add-in/default.aspx">Analysis Services Add-in</category><category domain="http://blogs.msdn.com/procha/archive/tags/Excel+Data+Mining+Add-in/default.aspx">Excel Data Mining Add-in</category></item><item><title>Resource Governor: maior controle sobre seu servidor</title><link>http://blogs.msdn.com/procha/archive/2008/01/28/resource-governor-maior-controle-sobre-seu-servidor.aspx</link><pubDate>Mon, 28 Jan 2008 21:41:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7291280</guid><dc:creator>procha</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/procha/comments/7291280.aspx</comments><wfw:commentRss>http://blogs.msdn.com/procha/commentrss.aspx?PostID=7291280</wfw:commentRss><wfw:comment>http://blogs.msdn.com/procha/rsscomments.aspx?PostID=7291280</wfw:comment><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;Quantas vezes eu ouvi administradores reclamarem que seus desenvolvedores fazem queries &amp;quot;assassinas&amp;quot;, que derrubam todo o servidor. Muitas vezes. Algumas solu&amp;#231;&amp;#245;es atuais como particionamento e at&amp;#233; o &lt;a href="http://www.microsoft.com/technet/prodtechnol/sql/2005/dbmirror.mspx" target="_blank"&gt;Database Mirroring&lt;/a&gt; atendem a demandas de queries que consomem mais recursos de hardware sem afetar o restante do sistema, mas estas solu&amp;#231;&amp;#245;es em geral requerem um servidor adicional e copiar o banco de dados com queries &amp;quot;pesadas&amp;quot; para uma outra localidade. &lt;/p&gt;  &lt;p&gt;Agora ser&amp;#225; poss&amp;#237;vel limitar os recursos de hardware que ser&amp;#227;o alocados para um banco de dados em espec&amp;#237;fico - imagine poder reservar 20% do seu processador e 35% da sua mem&amp;#243;ria para um banco de dados e garantir que o restante estar&amp;#225; reservado para os outros bancos de dados: isto &amp;#233; o Resource Governor. &lt;/p&gt;  &lt;h3&gt;Defini&amp;#231;&amp;#227;o&lt;/h3&gt;  &lt;p&gt;O Resource Governor &amp;#233; uma nova tecnologia presente no SQL Server 2008 que permite aos administradores gerenciar a carga e os recursos do SQL Server 2008. Ele faz isso atrav&amp;#233;s de pol&amp;#237;ticas de limite de consumo de recursos (ufa). &amp;#201; poss&amp;#237;vel criar grupos (workloads) com perfis de utiliza&amp;#231;&amp;#227;o de hardware, como &amp;quot;Queries de Alta Prioridade&amp;quot; ou &amp;quot;Queries Menos Importantes&amp;quot; e atribuir a estes workloads crit&amp;#233;rios de consumo de processador e mem&amp;#243;ria. Ele n&amp;#227;o apenas &amp;#233; importante para limitar a utiliza&amp;#231;&amp;#227;o de processador e mem&amp;#243;ria em queries que j&amp;#225; conhecemos, mas tamb&amp;#233;m para garantir que queries com comportamento desconhecido se comportem de forma que n&amp;#227;o comprometam o restante da opera&amp;#231;&amp;#227;o do servidor. Ou seja: n&amp;#227;o apenas podemos definir o que conhecemos por priorit&amp;#225;rio, mas tamb&amp;#233;m queries (ou requisi&amp;#231;&amp;#245;es) que nos pegam de surpresa.&lt;/p&gt;  &lt;h3&gt;Conceitos&lt;/h3&gt;  &lt;p&gt;Quando falamos em Resource Governor, os seguintes termos precisam ser entendidos:&lt;/p&gt;  &lt;h4&gt;Resource Pools&lt;/h4&gt;  &lt;p&gt;Trata-se de um pool que representa os recursos f&amp;#237;sicos de um servidor. Ao criar um Resource Pool (por padr&amp;#227;o, o SQL Server 2008 instala um default e um system pool), pode-se especificar um valor m&amp;#237;nimo GARANTIDO e m&amp;#225;ximo de reserva de CPU e de mem&amp;#243;ria. Voc&amp;#234; pode criar tantos pools quanto achar necess&amp;#225;rio, mas a soma dos valores m&amp;#237;nimos de cada pool n&amp;#227;o podem exceder 100% dos recursos dispon&amp;#237;veis (ex.: n&amp;#227;o posso ter um pool que reserva m&amp;#237;nimo de 60% de CPU e outro que reserva m&amp;#237;nimo de 50%). O valor m&amp;#225;ximo pode ser qualquer valor entre o m&amp;#237;nimo e 100%. Conforme os pools s&amp;#227;o criados, o SQL Server calcula o valor real reservado para cada um dos pools. Por exemplo:&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2" width="913" border="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="97"&gt;         &lt;p align="center"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Nome do Pool&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="87"&gt;         &lt;p align="center"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;MIN %&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="79"&gt;         &lt;p align="center"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;MAX %&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="124"&gt;         &lt;p align="center"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Efetivo (Calculado) MAX %&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="151"&gt;         &lt;p align="center"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Calculado (compartilhado)%&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="373"&gt;         &lt;p align="center"&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Como o c&amp;#225;lculo &amp;#233; feito&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="97"&gt;         &lt;p align="center"&gt;internal&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="86"&gt;         &lt;p align="center"&gt;0&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="80"&gt;         &lt;p align="center"&gt;100&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="126"&gt;         &lt;p align="center"&gt;100&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="155"&gt;         &lt;p align="center"&gt;0&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="373"&gt;&amp;#160;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="96"&gt;         &lt;p align="center"&gt;default&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="86"&gt;         &lt;p align="center"&gt;0&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="80"&gt;         &lt;p align="center"&gt;100&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="127"&gt;         &lt;p align="center"&gt;30&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="159"&gt;         &lt;p align="center"&gt;30&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="373"&gt;         &lt;p&gt;Efetivo (MAX): min(100,100-(20+50)) = 30.            &lt;br /&gt;Compartilhado: MAX (Efetivo) - MIN = 30.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="95"&gt;         &lt;p align="center"&gt;Pool 1&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="86"&gt;         &lt;p align="center"&gt;20&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="80"&gt;         &lt;p align="center"&gt;100&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="128"&gt;         &lt;p align="center"&gt;50&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="162"&gt;         &lt;p align="center"&gt;30&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="373"&gt;         &lt;p&gt;Efetivo (MAX): min(100,100-50) = 50.            &lt;br /&gt;Compartilhado: MAX (Efetivo) - MIN = 30.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="96"&gt;         &lt;p align="center"&gt;Pool 2&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="85"&gt;         &lt;p align="center"&gt;50&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="79"&gt;         &lt;p align="center"&gt;70&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="128"&gt;         &lt;p align="center"&gt;70&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="165"&gt;         &lt;p align="center"&gt;20&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="373"&gt;         &lt;p&gt;Efetivo (MAX): min(70,100-20) = 70.            &lt;br /&gt;Compartilhado: MAX (Efetivo) - MIN = 20.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;Se outros pools forem criados, os valores efetivos e compartilhados seriam recalculados, de acordo com o requerimento m&amp;#237;nimo do novo pool.&lt;/p&gt;  &lt;h4&gt;Workload Groups&lt;/h4&gt;  &lt;p&gt;Os Workload Groups s&amp;#227;o containers que agrupam requisi&amp;#231;&amp;#245;es que tem algo em comum. &lt;/p&gt;  &lt;h4&gt;Classification&lt;/h4&gt;  &lt;p&gt;Utilizamos Classifications para identificar sess&amp;#245;es abertas ao SQL Server 2008 e atribu&amp;#237;-las a Workload Groups. S&amp;#227;o criadas fun&amp;#231;&amp;#245;es que analisam um crit&amp;#233;rio e estas fun&amp;#231;&amp;#245;es s&amp;#227;o executadas em TODAS as conex&amp;#245;es abertas ao SQL Server para que o encaminhamento seja feito. Veremos mais a frente como a classifica&amp;#231;&amp;#227;o &amp;#233; feita (o que &amp;#233; avaliado no instante da conex&amp;#227;o).&lt;/p&gt;  &lt;h3&gt;Como utilizar e exemplos&lt;/h3&gt;  &lt;p&gt;Recomendo fortemente que voc&amp;#234; comece a testar o Resource Governor e se familiarizar com sua configura&amp;#231;&amp;#227;o. Veremos aqui que &amp;#233; bastante simples habilitar e come&amp;#231;ar a criar seus Resource Pools.&lt;/p&gt;  &lt;h4&gt;Habilitar e Desabilitar o Resource Governor&lt;/h4&gt;  &lt;p&gt;Para habilitar ou desabilitar, simplesmente abra o SQL Server Management Studio, expanda Management e clique com o bot&amp;#227;o direito em Resource Governor, como na figura abaixo. Selecione Enable ou Disable (respectivamente).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/ResourceGovernormaiorcontrolesobreseuser_EA65/rg1_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="441" alt="rg1" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/ResourceGovernormaiorcontrolesobreseuser_EA65/rg1_thumb.jpg" width="378" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h4&gt;Configurar Resource Pools e Workload Groups&lt;/h4&gt;  &lt;p&gt;Ao clicar com o bot&amp;#227;o direito do mouse sobre o Resource Governor e selecionando properties, a janela da figura abaixo &amp;#233; exibida. Ela tamb&amp;#233;m ser&amp;#225; exibida se clicarmos em &amp;quot;New Resource Pool&amp;quot;. Perceba que a lista de Workload groups for resource pool (itens do grid de baixo) exibe apenas os Workload Groups do Resource Pool selecionado&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/ResourceGovernormaiorcontrolesobreseuser_EA65/rg2_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="510" alt="rg2" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/ResourceGovernormaiorcontrolesobreseuser_EA65/rg2_thumb.jpg" width="774" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;h4&gt;Classificar as conex&amp;#245;es e utilizar os pools corretos&lt;/h4&gt;  &lt;p&gt;O c&amp;#243;digo abaixo cria uma fun&amp;#231;&amp;#227;o que avalia o nome do usu&amp;#225;rio conectado e a aplica&amp;#231;&amp;#227;o de origem e registra esta fun&amp;#231;&amp;#227;o com o Resource Governor:&lt;/p&gt;  &lt;p&gt;&lt;font face="Courier New"&gt;&lt;font color="#0000ff"&gt;CREATE FUNCTION&lt;/font&gt; rgclassifier_v1() RETURNS SYSNAME       &lt;br /&gt;&lt;font color="#0000ff"&gt;WITH&lt;/font&gt; SCHEMABINDING      &lt;br /&gt;&lt;font color="#0000ff"&gt;AS       &lt;br /&gt;BEGIN        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DECLARE&lt;/font&gt; @grp_name &lt;font color="#0000ff"&gt;AS&lt;/font&gt; SYSNAME      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;IF&lt;/font&gt; (SUSER_NAME() = &lt;font color="#ff0000"&gt;'sa'&lt;/font&gt;)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;SET&lt;/font&gt; @grp_name = &lt;font color="#ff0000"&gt;'groupAdmin'&lt;/font&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;IF&lt;/font&gt; (APP_NAME() &lt;font color="#0000ff"&gt;LIKE&lt;/font&gt; &lt;font color="#ff0000"&gt;'%MANAGEMENT STUDIO%'&lt;/font&gt;)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;OR&lt;/font&gt; (APP_NAME() &lt;font color="#0000ff"&gt;LIKE&lt;/font&gt; &lt;font color="#ff0000"&gt;'%QUERY ANALYZER%'&lt;/font&gt;)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;SET&lt;/font&gt; @grp_name = &lt;font color="#ff0000"&gt;'groupAdhoc'&lt;/font&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;IF&lt;/font&gt; (APP_NAME() &lt;font color="#0000ff"&gt;LIKE&lt;/font&gt; &lt;font color="#ff0000"&gt;'%REPORT SERVER%'&lt;/font&gt;)      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;SET&lt;/font&gt; @grp_name = &lt;font color="#ff0000"&gt;'groupReports'&lt;/font&gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;RETURN&lt;/font&gt; @grp_name      &lt;br /&gt;&lt;font color="#0000ff"&gt;END       &lt;br /&gt;GO&lt;/font&gt;      &lt;br /&gt;&lt;font color="#008000"&gt;--Registra a fun&amp;#231;&amp;#227;o com o Resource Governor&lt;/font&gt;      &lt;br /&gt;&lt;font color="#0000ff"&gt;ALTER RESOURCE GOVERNOR WITH&lt;/font&gt; (CLASSIFIER_FUNCTION= dbo.rgclassifier_v1)&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Perceba que o Resource Governor registrou a fun&amp;#231;&amp;#227;o&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/ResourceGovernormaiorcontrolesobreseuser_EA65/rg3_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="412" alt="rg3" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/ResourceGovernormaiorcontrolesobreseuser_EA65/rg3_thumb.jpg" width="697" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h3&gt;Conclus&amp;#227;o&lt;/h3&gt;  &lt;p&gt;As possibilidades s&amp;#227;o infinitas. O maior desafio vai ser definir os Resource Pools e a classifica&amp;#231;&amp;#227;o das conex&amp;#245;es. O Resource Governor resolve de forma muito simples (gr&amp;#225;fica, embora tudo possa ser feito por T-SQL) uma necessidade importante dos administradores SQL Server. Os exemplos acima s&amp;#227;o superficiais e refletem o estado do SQL Server 2008 CTP5. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7291280" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+em+portugu_26002300_234_3B00_s/default.aspx">SQL Server em portugu&amp;#234;s</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/procha/archive/tags/Gerenciamento/default.aspx">Gerenciamento</category><category domain="http://blogs.msdn.com/procha/archive/tags/Resource+Governor/default.aspx">Resource Governor</category></item><item><title>Declarative Management Framework</title><link>http://blogs.msdn.com/procha/archive/2008/01/21/declarative-management-framework.aspx</link><pubDate>Mon, 21 Jan 2008 22:25:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7187230</guid><dc:creator>procha</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/procha/comments/7187230.aspx</comments><wfw:commentRss>http://blogs.msdn.com/procha/commentrss.aspx?PostID=7187230</wfw:commentRss><wfw:comment>http://blogs.msdn.com/procha/rsscomments.aspx?PostID=7187230</wfw:comment><description>&lt;p&gt;Um dos recursos mais aguardados do SQL Server 2008 para os administradores &amp;#233; o &lt;b&gt;Declarative Management Framework&lt;/b&gt;. Trata-se de um sistema de gerenciamento baseado em pol&amp;#237;ticas que, atrav&amp;#233;s de objetos reutiliz&amp;#225;veis, permite que se configure o SQL Server e seus componentes em ader&amp;#234;ncia a pol&amp;#237;ticas de governan&amp;#231;a das empresas. Por exemplo: digamos que a pol&amp;#237;tica de uma empresa define que o &lt;i&gt;Database Mail&lt;/i&gt; n&amp;#227;o deve estar habilitado em um grupo de servidores SQL Server, ou que todas as tabelas criadas em um banco de dados n&amp;#227;o podem pertencer ao &lt;i&gt;schema &lt;/i&gt;dbo &amp;#8211; ou ainda melhor, que todas as tabelas precisem seguir um padr&amp;#227;o de nomenclatura. O &lt;b&gt;Declarative Management Framework&lt;/b&gt; ajuda os administradores a chegar a este n&amp;#237;vel de granularidade na administra&amp;#231;&amp;#227;o de seus servidores. Vamos falar sobre alguns conceitos chave do &lt;b&gt;Declarative Management Framework&lt;/b&gt; e em seguida para um exemplo r&amp;#225;pido. &lt;/p&gt;  &lt;p&gt;O SQL Server Management Studio &amp;#233; a ferramenta utilizada para trabalhar com o &lt;b&gt;Declarative Management Framework&lt;/b&gt;. Pode-se criar pol&amp;#237;ticas para &lt;b&gt;prevenir&lt;/b&gt; mudan&amp;#231;as que violem as suas normas, &lt;b&gt;alertar e logar&lt;/b&gt; mas permitir a mudan&amp;#231;a, e pode-se &lt;b&gt;agendar&lt;/b&gt; a verifica&amp;#231;&amp;#227;o de ader&amp;#234;ncia a pol&amp;#237;ticas (neste caso, quaisquer exemplos n&amp;#227;o-aderentes s&amp;#227;o tamb&amp;#233;m apenas logados). Imagine se seu sistema pudesse enviar uma mensagem ao desenvolvedor ou administrador quando estes tentam criar objetos com nomes que n&amp;#227;o sigam a conven&amp;#231;&amp;#227;o imposta pela sua empresa, dizendo como deve ser o nome correto &amp;#8211; as pol&amp;#237;ticas do &lt;b&gt;Declarative Management Framework&lt;/b&gt; tamb&amp;#233;m permitem isto. Vamos ent&amp;#227;o aos principais conceitos do &lt;b&gt;Declarative Management Framework&lt;/b&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;#183; &lt;b&gt;Facets&lt;/b&gt; &amp;#8211; s&amp;#227;o objetos que cont&amp;#233;m propriedades que exp&amp;#245;e uma &amp;#225;rea gerenci&amp;#225;vel. Por exemplo, a &lt;i&gt;facet&lt;/i&gt; &lt;b&gt;Surface Area&lt;/b&gt; inclui propriedades que s&amp;#227;o relacionadas aos recursos do SQL Server como &lt;i&gt;Database Mail Enabled&lt;/i&gt;, e &lt;i&gt;CLR Integration Enabled&lt;/i&gt;; &lt;/p&gt;    &lt;p&gt;&amp;#183; &lt;b&gt;Conditions&lt;/b&gt; &amp;#8211; expressam o estado de uma &lt;i&gt;facet&lt;/i&gt;. Por exemplo: pode-se criar uma condi&amp;#231;&amp;#227;o chamada &amp;#8220;&amp;#193;rea de Ataque Reduzida&amp;#8221; onde todas as propriedades da &lt;i&gt;facet&lt;/i&gt; &lt;b&gt;Surface Area&lt;/b&gt; s&amp;#227;o definidas como &lt;i&gt;False&lt;/i&gt;; &lt;/p&gt;    &lt;p&gt;&amp;#183; &lt;b&gt;Policies&lt;/b&gt; &amp;#8211; aplica uma condi&amp;#231;&amp;#227;o em um ou mais &lt;i&gt;Targets&lt;/i&gt; (definido mais adiante). Como um exemplo, pode-se criar uma p&lt;i&gt;olicy&lt;/i&gt; chamada &amp;#8220;Servidores Protegidos&amp;#8221; que aplica a condi&amp;#231;&amp;#227;o &amp;#8220;Area de Ataque Reduzida&amp;#8221; a um servidor;&lt;/p&gt;    &lt;p&gt;&amp;#183; &lt;b&gt;Categories&lt;/b&gt; &amp;#8211; &amp;#233; um agrupamento de p&lt;i&gt;olicies&lt;/i&gt;. Digamos que se criem diversas &lt;i&gt;policies&lt;/i&gt; com exig&amp;#234;ncias em bancos de dados novos, como padr&amp;#245;es de nome de tabelas ou &lt;i&gt;stored procedures&lt;/i&gt;, exig&amp;#234;ncia sobre o &lt;i&gt;Compatibility Level&lt;/i&gt; do banco de dados ou outros. Pode-se atribuir os bancos de dados a &lt;i&gt;Categories&lt;/i&gt; para que eles sejam aderentes a um conjunto de &lt;i&gt;policies&lt;/i&gt;. Por padr&amp;#227;o, todos os bancos de dados pertencem a &lt;i&gt;default category&lt;/i&gt;. &lt;/p&gt;    &lt;p&gt;&amp;#183; &lt;b&gt;Targets&lt;/b&gt; &amp;#8211; s&amp;#227;o entidades como servidores, bancos de dados, &lt;i&gt;logins&lt;/i&gt;, tabelas ou qualquer outro objeto sobre os quais se aplica uma &lt;i&gt;policy&lt;/i&gt;. Pode tamb&amp;#233;m ser uma hierarquia, como &amp;#8220;Todos os Objetos do Schema &amp;#8216;Produtos&amp;#8217;&amp;#8221;. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Para definir uma pol&amp;#237;tica (&lt;i&gt;policy&lt;/i&gt;), simplesmente especifique a condi&amp;#231;&amp;#227;o (c&lt;i&gt;ondition&lt;/i&gt;) que voc&amp;#234; quer aplicar e selecione uma &lt;i&gt;facet&lt;/i&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#201; importante o entendimento destes conceitos para que se possa fazer o melhor uso do &lt;b&gt;Declarative Management Framework&lt;/b&gt;. Este sistema viabiliza de uma forma muito f&amp;#225;cil a re-utiliza&amp;#231;&amp;#227;o de qualquer regra, condi&amp;#231;&amp;#227;o ou objeto definido em uma pol&amp;#237;tica. O SQL Server 2008 j&amp;#225; vem com uma s&amp;#233;rie de &lt;i&gt;facets&lt;/i&gt; pr&amp;#233;-definidas que voc&amp;#234; pode utilizar para configurar seus servidores. A&amp;#237; v&amp;#227;o alguns exemplos de utiliza&amp;#231;&amp;#227;o das &lt;i&gt;facets&lt;/i&gt; que j&amp;#225; vem com o produto e um cen&amp;#225;rio onde voc&amp;#234; pode utiliz&amp;#225;-la:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;#183; A Facet &lt;b&gt;Server&lt;/b&gt; pode ser utilizada para for&amp;#231;ar configura&amp;#231;&amp;#245;es espec&amp;#237;ficas do n&amp;#237;vel do servidor, como o modo de autentica&amp;#231;&amp;#227;o;&lt;/p&gt;    &lt;p&gt;&amp;#183; A Facet &lt;b&gt;Surface Area&lt;/b&gt; pode ser utilizada para controlar quais recursos est&amp;#227;o habilitados a fim de se reduzir a &amp;#225;rea de ataque;&lt;/p&gt;    &lt;p&gt;&amp;#183; A Facet &lt;b&gt;Database&lt;/b&gt; pode ser utilizada para restringir configura&amp;#231;&amp;#245;es espec&amp;#237;ficas de um banco de dados, como o &lt;i&gt;Compatibility Level&lt;/i&gt;;&lt;/p&gt;    &lt;p&gt;&amp;#183; A Facet &lt;b&gt;Multipart Name&lt;/b&gt; ajuda a garantir a ader&amp;#234;ncia de nomenclatura dos objetos dos bancos de dados como tabelas, &lt;i&gt;views&lt;/i&gt; e &lt;i&gt;stored procedures&lt;/i&gt;.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Nunca &amp;#233; demais lembrar que uma &lt;i&gt;category&lt;/i&gt; pode ser publicada para outros servidores em seu ambiente, o que reduz drasticamente o esfor&amp;#231;o de administra&amp;#231;&amp;#227;o e a possibilidade de se ter servidores com pol&amp;#237;ticas diferentes. &lt;/p&gt;  &lt;h4&gt;Exemplos de Utiliza&amp;#231;&amp;#227;o&lt;/h4&gt;  &lt;p&gt;Tendo falado sobre os conceitos do&lt;b&gt; Declarative Management Framework&lt;/b&gt;, vamos um exemplo passo a passo de utiliza&amp;#231;&amp;#227;o das pol&amp;#237;ticas. Este exemplo verifica se o servidor est&amp;#225; configurado para permitir a utiliza&amp;#231;&amp;#227;o do CLR (&lt;i&gt;Common Language Runtime&lt;/i&gt;) e de &lt;i&gt;queries Ad Hoc&lt;/i&gt;. Para isto, siga os seguintes passos:&lt;/p&gt;  &lt;p&gt;1) Abra o SQL Server Management Studio. No Object Explorer, clique em &lt;b&gt;&lt;i&gt;Management -&amp;gt; Policy Management -&amp;gt; Facets&lt;/i&gt;&lt;/b&gt;. Aqui voc&amp;#234; j&amp;#225; pode visualizar todas as &lt;i&gt;facets&lt;/i&gt; que foram criadas e as que o SQL Server 2008 traz por padr&amp;#227;o. Para este exemplo, clique com o bot&amp;#227;o direito na &lt;i&gt;facet&lt;/i&gt; &lt;b&gt;&lt;i&gt;Surface Area Configuration&lt;/i&gt;&lt;/b&gt; e clique em &lt;b&gt;&lt;i&gt;New Condition&lt;/i&gt;&lt;/b&gt;;&lt;/p&gt;  &lt;p&gt;2) Na caixa &lt;b&gt;&lt;i&gt;Name&lt;/i&gt;&lt;/b&gt;, digite &lt;b&gt;&amp;#8220;Area de Ataque Reduzida&amp;#8221;&lt;/b&gt; ou o nome que preferir. Perceba que a caixa &lt;b&gt;&lt;i&gt;Facet&lt;/i&gt;&lt;/b&gt; j&amp;#225; mostra &lt;b&gt;&amp;#8220;Surface Area Configuration&amp;#8221;&lt;/b&gt;;&lt;/p&gt;  &lt;p&gt;3) Em &lt;b&gt;&lt;i&gt;Expression&lt;/i&gt;&lt;/b&gt;, no campo &lt;b&gt;&lt;i&gt;Field&lt;/i&gt;&lt;/b&gt;, selecione &lt;b&gt;&lt;i&gt;&amp;#8221;@ClrIntegrationEnabled&amp;#8221;&lt;/i&gt;&lt;/b&gt;. Em &lt;b&gt;&lt;i&gt;Operator&lt;/i&gt;&lt;/b&gt;, selecione &lt;b&gt;&lt;i&gt;&amp;#8220;=&amp;#8221;&lt;/i&gt;&lt;/b&gt; e em &lt;b&gt;&lt;i&gt;Value &amp;#8220;False&amp;#8221;&lt;/i&gt;&lt;/b&gt;;&lt;/p&gt;  &lt;p&gt;4) Na linha seguinte, em &lt;b&gt;&lt;i&gt;Field&lt;/i&gt;&lt;/b&gt; selecione &lt;b&gt;&lt;i&gt;&amp;#8221;@AdHocRemoteQueriesEnabled&amp;#8221;&lt;/i&gt;&lt;/b&gt;. Em &lt;b&gt;&lt;i&gt;Operator&lt;/i&gt;&lt;/b&gt;, selecione &lt;b&gt;&lt;i&gt;&amp;#8220;=&amp;#8221;&lt;/i&gt;&lt;/b&gt; e em &lt;b&gt;&lt;i&gt;Value, &amp;#8220;False&amp;#8221;&lt;/i&gt;&lt;/b&gt;. A janela deve ficar como ilustrado na figura abaixo. At&amp;#233; aqui, criamos uma condi&amp;#231;&amp;#227;o sobre uma &lt;i&gt;facet&lt;/i&gt;;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DeclarativeManagementFramework_F2E7/080121-fig1_2.jpg"&gt;&lt;img height="335" alt="080121-fig1" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DeclarativeManagementFramework_F2E7/080121-fig1_thumb.jpg" width="640" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;5) Para criar a pol&amp;#237;tica, clique com o bot&amp;#227;o direito novamente em &lt;b&gt;&lt;i&gt;Surface Area Configuration&lt;/i&gt;&lt;/b&gt; e clique em &lt;b&gt;&lt;i&gt;New Policy&lt;/i&gt;&lt;/b&gt;;&lt;/p&gt;  &lt;p&gt;6) No campo &lt;b&gt;&lt;i&gt;Name&lt;/i&gt;&lt;/b&gt;, digite &lt;b&gt;&lt;i&gt;&amp;#8220;Desativados por padr&amp;#227;o&amp;#8221;&lt;/i&gt;&lt;/b&gt;. Na caixa &lt;b&gt;&lt;i&gt;Check Condition&lt;/i&gt;&lt;/b&gt;, selecione &lt;b&gt;&amp;#8220;Area de Ataque Reduzida&amp;#8221;&lt;/b&gt; (que est&amp;#225; sob &lt;b&gt;&lt;i&gt;&amp;#8220;Surface Area Configuration&amp;#8221;&lt;/i&gt;&lt;/b&gt;&lt;i&gt;)&lt;/i&gt;;&lt;/p&gt;  &lt;p&gt;7) Clique na &lt;i&gt;tab&lt;/i&gt; &lt;b&gt;&lt;i&gt;Description&lt;/i&gt;&lt;/b&gt;. Em &lt;b&gt;&lt;i&gt;Category&lt;/i&gt;&lt;/b&gt;, clique em &lt;b&gt;&lt;i&gt;New&lt;/i&gt;&lt;/b&gt;. Digite &lt;b&gt;&lt;i&gt;&amp;#8220;Servidores com configura&amp;#231;&amp;#227;o restrita&amp;#8221;&lt;/i&gt;&lt;/b&gt; e clique em Ok. Digite uma descri&amp;#231;&amp;#227;o para esta categoria, como preferir &amp;#8211; estas informa&amp;#231;&amp;#245;es estar&amp;#227;o dispon&amp;#237;veis aos administradores quando a pol&amp;#237;tica for violada. Clique em OK.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;NOTA: &lt;/strong&gt;Perceba que esta pol&amp;#237;tica ser&amp;#225; utilizada sob demanda. Voc&amp;#234; poderia tamb&amp;#233;m habilitar a caixa &lt;b&gt;&lt;i&gt;Enabled&lt;/i&gt;&lt;/b&gt; e em &lt;b&gt;&lt;i&gt;Execution Mode&lt;/i&gt;&lt;/b&gt; selecionar &lt;b&gt;&lt;i&gt;&amp;#8220;On Schedule&amp;#8221;&lt;/i&gt;&lt;/b&gt; para que ela fosse executada automaticamente.&lt;/p&gt;  &lt;p&gt;Agora que criamos a pol&amp;#237;tica, vamos executar e ver o resultado. &lt;/p&gt;  &lt;p&gt;1) No Object Explorer, clique com o bot&amp;#227;o direito sobre um servidor e selecione &lt;b&gt;&lt;i&gt;Policy -&amp;gt; Run Now&lt;/i&gt;&lt;/b&gt;;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DeclarativeManagementFramework_F2E7/080121-fig2_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="330" alt="080121-fig2" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DeclarativeManagementFramework_F2E7/080121-fig2_thumb.jpg" width="445" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;2) Na caixa &lt;b&gt;&lt;i&gt;Run Now&lt;/i&gt;&lt;/b&gt;, selecione a pol&amp;#237;tica que foi criada (neste caso, &lt;b&gt;&amp;#8220;Desativados por padr&amp;#227;o&amp;#8221;&lt;/b&gt;) na caixa &lt;b&gt;&lt;i&gt;From Server&lt;/i&gt;&lt;/b&gt; e clique em &lt;b&gt;&lt;i&gt;Check&lt;/i&gt;&lt;/b&gt;. &lt;/p&gt;  &lt;p&gt;Perceba que a pol&amp;#237;tica avalia a configura&amp;#231;&amp;#227;o dos servidores e indica se est&amp;#227;o sendo violadas ou n&amp;#227;o. Neste exemplo, como voc&amp;#234; pode ver na figura abaixo, apenas uma das pol&amp;#237;ticas foi violada.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DeclarativeManagementFramework_F2E7/080121-fig3_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="520" alt="080121-fig3" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DeclarativeManagementFramework_F2E7/080121-fig3_thumb.jpg" width="614" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Vamos utilizar a mesma interface para &lt;b&gt;FOR&amp;#199;AR &lt;/b&gt;a ader&amp;#234;ncia a esta pol&amp;#237;tica. Para isto, simplesmente clique no bot&amp;#227;o &lt;b&gt;&lt;i&gt;Configure&lt;/i&gt;&lt;/b&gt;, na caixa &lt;b&gt;&lt;i&gt;Run Now&lt;/i&gt;&lt;/b&gt;. Verifique que agora os servidores passam no teste das pol&amp;#237;ticas.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DeclarativeManagementFramework_F2E7/080121-fig4_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="316" alt="080121-fig4" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DeclarativeManagementFramework_F2E7/080121-fig4_thumb.jpg" width="536" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;A figura abaixo&amp;#160; mostra um exemplo do resultado de uma viola&amp;#231;&amp;#227;o de pol&amp;#237;tica de nomenclatura de objetos. Se voc&amp;#234; gostaria de saber como criei este exemplo, deixe um coment&amp;#225;rio aqui e eu envio diretamente. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DeclarativeManagementFramework_F2E7/080121-fig5_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="249" alt="080121-fig5" src="http://blogs.msdn.com/blogfiles/procha/WindowsLiveWriter/DeclarativeManagementFramework_F2E7/080121-fig5_thumb.jpg" width="855" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Este tipo de pol&amp;#237;tica pode ser aplicada ao servidor inteiro ou a bancos de dados em particular, de forma restritiva (impedindo a continua&amp;#231;&amp;#227;o da mudan&amp;#231;a) ou de forma informativa. &lt;/p&gt;  &lt;h4&gt;Resumo&lt;/h4&gt;  &lt;p&gt;O &lt;b&gt;Declarative Management Framework&lt;/b&gt; &amp;#233; um dos recursos mais aguardados do SQL Server 2008. Ele d&amp;#225; ao administrador de banco de dados recursos que ajudam na seguran&amp;#231;a dos servidores e na ader&amp;#234;ncia de padr&amp;#245;es estabelecidos pelo neg&amp;#243;cio de uma forma simples e centralizada.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7187230" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+em+portugu_26002300_234_3B00_s/default.aspx">SQL Server em portugu&amp;#234;s</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/procha/archive/tags/Declarative+Management+Framework/default.aspx">Declarative Management Framework</category><category domain="http://blogs.msdn.com/procha/archive/tags/Gerenciamento/default.aspx">Gerenciamento</category></item><item><title>Um Endpoint Brasileiro</title><link>http://blogs.msdn.com/procha/archive/2008/01/15/um-endpoint-brasileiro.aspx</link><pubDate>Tue, 15 Jan 2008 16:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7118202</guid><dc:creator>procha</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/procha/comments/7118202.aspx</comments><wfw:commentRss>http://blogs.msdn.com/procha/commentrss.aspx?PostID=7118202</wfw:commentRss><wfw:comment>http://blogs.msdn.com/procha/rsscomments.aspx?PostID=7118202</wfw:comment><description>&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Olá. Meu nome é Pericles Rocha e trabalho com foco em Plataforma de Dados na Microsoft Brasil. Utilizarei este espaço para discussão de assuntos ligados ao SQL Server e as ferramentas ao redor dele, como o Visual Studio por exemplo. O foco deste blog será em geral técnico, mas também poderei abordar assuntos comerciais a respeito do SQL Server, se for necessário ou se surgirem dúvidas. Fique a vontade para postar perguntas ou sugestões de pauta. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Para inaugurar este blog, gostaria de falar superficialmente (por hora – entrarei nos detalhes mais a fundo em textos individuais) sobre as principais novidades do SQL Server 2008 e porque ele deve ser considerado fortemente, independente do SGBD atual da sua preferência, ou mesmo de versões anteriores do SQL Server. Porém, para que eu possa falar sobre a nova versão, permita-me dedicar um parágrafo à versão atual.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri size=3&gt;O SQL Server 2005 está sendo um marco importante na história deste produto. Teve larga aceitação no mercado enterprise e é posicionado como &lt;A class="" href="http://www.microsoft.com/presspass/press/2007/oct07/10-12DWMQPR.mspx" target=_blank mce_href="http://www.microsoft.com/presspass/press/2007/oct07/10-12DWMQPR.mspx"&gt;líder em &lt;I style="mso-bidi-font-style: normal"&gt;Data Warehousing&lt;/I&gt; no quadrante do Gartner de Outubro de 2007&lt;/A&gt; &lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;e conquistou espaço até então não alcançado pelo produto. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;O SQL Server 2005 é o servidor de banco de dados que &lt;A class="" href="http://download.microsoft.com/download/A/B/9/AB93175B-BA6A-4332-AFBF-FE4C3749BBEC/IDC%202006%20DB%20Marketshare%20206061.pdf" target=_blank mce_href="http://download.microsoft.com/download/A/B/9/AB93175B-BA6A-4332-AFBF-FE4C3749BBEC/IDC%202006%20DB%20Marketshare%20206061.pdf"&gt;mais cresce no mercado&lt;/A&gt; &lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;e é o servidor OLAP número 1 do mercado de acordo com &lt;A class="" href="http://www.olapreport.com/market.htm" target=_blank mce_href="http://www.olapreport.com/market.htm"&gt;olapreport.com&lt;/A&gt;. Em número de bancos de dados, o SQL Server está disparado na frente, com &lt;A class="" href="http://www.microsoft.com/sql/prodinfo/overview/default.%20mspx" target=_blank mce_href="http://www.microsoft.com/sql/prodinfo/overview/default. mspx"&gt;74.7% dos bancos de dados existentes&lt;/A&gt;. Com ZERO vulnerabilidades de segurança desde 2004 até esta data, o SQL Server é o servidor de banco de dados &lt;A class="" href="http://www.darkreading.com/document.asp?doc_id=110881" target=_blank mce_href="http://www.darkreading.com/document.asp?doc_id=110881"&gt;mais seguro do mercado&lt;/A&gt; &lt;/FONT&gt;&lt;FONT face=Calibri size=3&gt;e conquistou a confiança de muitos que, até então, não levavam a solução da Microsoft muito a sério. Eu mesmo ouvi inúmeras vezes, anos atrás, dizer que o SQL Server era considerado um banco de dados “departamental”. Este paradigma certamente foi quebrado e comprovado pelo relatório da WinterCorp datado de 2005, onde se levantou que o SQL Server tinha na época 43 bancos de dados instalados com mais de 1 TB. Veja bem: estes dados são de 2005, ano de lançamento do SQL Server 2005 (Veja os dados completos em &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/sql/prodinfo/compare/wintercorp-survey.mspx"&gt;&lt;FONT face=Calibri size=3&gt;http://www.microsoft.com/sql/prodinfo/compare/wintercorp-survey.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;). Além da robustez e confiabilidade do SQL Server 2005, ele é uma solução completa de BI, envolvendo o processo dos dados desde a aquisição (ETL) até a apresentação. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri size=3&gt;A nova versão do produto vem construída nos mesmos pilares. Recursos novos na área de gerenciamento como Declarative Policy Framework e o Resource Governor, além de importantes aprimoramentos no Database Engine e no Analysis Services já geram ansiedade na comunidade. Nos próximos posts darei maiores detalhes sobre os novos recursos e exemplos de uso. Portanto insisto: se você tiver interesse em algum assunto em específico, fique a vontade para comentar aqui e terei prazer em esclarecer as dúvidas. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Por fim, gostaria de justificar o nome deste blog. Sempre li muita literatura técnica sobre SQL Server e os blogs dos times de produto, mas nenhum deles é em português. Por incrível que possa parecer, a barreira do idioma ainda é um obstáculo comum na nossa comunidade. Além disso, tenho percebido cada vez mais necessidades específicas da nossa região ou do modelo de negócio utilizado no Brasil. Portanto, nada mais justo do que termos um endpoint tupiniquim, com direito a código no texto inaugural e tudo mais.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-US; mso-no-proof: yes"&gt;CREATE&lt;/SPAN&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-US; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;ENDPOINT&lt;/SPAN&gt; [EndpointBrasileiro] &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-US; mso-no-proof: yes"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;STATE=STARTED&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-US; mso-no-proof: yes"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;AS&lt;/SPAN&gt; HTTP (PATH = &lt;SPAN style="COLOR: red"&gt;'/procha'&lt;/SPAN&gt;, AUTHENTICATION = (INTEGRATED), PORTS = (CLEAR), SITE = &lt;SPAN style="COLOR: red"&gt;'blogs.msdn.com'&lt;/SPAN&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-US; mso-no-proof: yes"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;FOR&lt;/SPAN&gt; SOAP (WEBMETHOD &lt;SPAN style="COLOR: red"&gt;'GetSqlInfo'&lt;/SPAN&gt; (name=&lt;SPAN style="COLOR: red"&gt;'master.dbo.xp_msver'&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;SCHEMA&lt;/SPAN&gt;=STANDARD ), &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-US; mso-no-proof: yes"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;WEBMETHOD &lt;SPAN style="COLOR: red"&gt;'DayAsNumber'&lt;/SPAN&gt; (name=&lt;SPAN style="COLOR: red"&gt;'master.sys.fn_MSdayasnumber'&lt;/SPAN&gt;), &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-US; mso-no-proof: yes"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;WSDL = &lt;SPAN style="COLOR: blue"&gt;DEFAULT&lt;/SPAN&gt;, &lt;SPAN style="COLOR: blue"&gt;SCHEMA&lt;/SPAN&gt; = STANDARD,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN lang=EN-US style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-ansi-language: EN-US; mso-no-proof: yes"&gt;&lt;SPAN style="mso-tab-count: 3"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;DATABASE&lt;/SPAN&gt; = &lt;SPAN style="COLOR: red"&gt;'master'&lt;/SPAN&gt;, NAMESPACE = &lt;SPAN style="COLOR: red"&gt;'http://tempUri.org/'&lt;/SPAN&gt; )&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;GO&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7118202" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2008/default.aspx">SQL Server 2008</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+2005/default.aspx">SQL Server 2005</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server+em+portugu_26002300_234_3B00_s/default.aspx">SQL Server em portugu&amp;#234;s</category><category domain="http://blogs.msdn.com/procha/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://blogs.msdn.com/procha/archive/tags/Declarative+Management+Framework/default.aspx">Declarative Management Framework</category><category domain="http://blogs.msdn.com/procha/archive/tags/Gerenciamento/default.aspx">Gerenciamento</category></item></channel></rss>