<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2235986735116944312</id><updated>2011-11-20T04:22:00.899-02:00</updated><title type='text'>SQL Server-Péricles Sevegnani</title><subtitle type='html'>This space is intended to be a channel of communication &lt;br&gt;
between the enthusiasts of SQL Server.&lt;br&gt;
We must be humble to recognise that we don't know everything,&lt;br&gt;
In fact we know nothing... &lt;br&gt;
Everyday it's an opportunity to learn something new.&lt;br&gt;
Questions and comments are welcome.&lt;br&gt;&lt;br&gt;
Contact me at &lt;br&gt;
&lt;a href="mailto:periclessevegnani@yahoo.com.br"&gt;periclessevegnani@yahoo.com.br&lt;/a&gt; or +55(47)9918-9109.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-787737341202559335</id><published>2011-07-05T00:04:00.005-03:00</published><updated>2011-07-05T00:14:58.452-03:00</updated><title type='text'>Treinamento SQL Server em Chapecó/SC</title><content type='html'>Em parceria com o DEATEC, de Chapecó/SC, promovemos no período de 28/06 e 02/07 um treinamento em SQL Server.&lt;br /&gt;&lt;br /&gt;O curso teve a carga horária de 22 horas, onde foram abordados em linhas gerais os seguintes tópicos: SQL Básico, Tabelas Temporárias, Stored Procedures, Triggers, Functions, SQL Dinâmico, Views, Transações, Tuning e Particionamento.&lt;br /&gt;&lt;br /&gt;Além da ementa, todos os alunos tiveram oportunidades de trazer outros tópicos que foram abordados, e também dificuldades específicas encontradas dentro das empresas.&lt;br /&gt;&lt;br /&gt;Também foi importante o repasse de uma metodologia baseada em um check-list, para apurar possíveis problemas que afetam a performance do banco de dados.&lt;br /&gt;&lt;br /&gt;A ementa do curso foi formada através de uma pesquisa realizada com todos os associados que apontou dentre vários outros tópicos, informações sobre a necessidade de outros cursos técnicos, gerenciais e que envolvem o setor de TI e automação.&lt;br /&gt;&lt;br /&gt;Foram 16 alunos de 16 empresas participantes:&lt;br /&gt;- Aurora&lt;br /&gt;- Auto Viação Chapecó&lt;br /&gt;- Gama Tecnologia&lt;br /&gt;- H &amp;amp; S&lt;br /&gt;- H2J Soluções&lt;br /&gt;- Infogen Sistemas&lt;br /&gt;- Log e CIA&lt;br /&gt;- Mantomaq&lt;br /&gt;- Onsis Sistemas&lt;br /&gt;- SGI Sistemas&lt;br /&gt;- Unoesc Chapecó&lt;br /&gt;- Vision System&lt;br /&gt;&lt;br /&gt;"Formar uma turma enxuta, com um equipamento por participante, além de fazer tudo de forma prática, com a ementa baseada em pesquisa realizada anteriormente ao curso, foi importante pois impactou diretamente no nível de aprendizado dos alunos." ressalta Francis Marcel Post, presidente do DEATEC.&lt;br /&gt;&lt;br /&gt;O aproveitamento do curso foi excepcional pois todos os participantes já tem contato com o SQL Server em suas atividades, o que oportunizou a abordagem de tópicos mais avançados.&lt;br /&gt;&lt;br /&gt;Mais informações:&lt;br /&gt;DEATEC - Polo Tecnológico de Chapecó/SC&lt;br /&gt;&lt;a href="http://www.deatec.org.br/"&gt;www.deatec.org.br&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-787737341202559335?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/787737341202559335/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=787737341202559335' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/787737341202559335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/787737341202559335'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2011/07/treinamento-sql-em-chapeco.html' title='Treinamento SQL Server em Chapecó/SC'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-5430776236964597306</id><published>2011-06-15T18:29:00.001-03:00</published><updated>2011-06-15T18:30:52.794-03:00</updated><title type='text'>Centro de Treinamento SQL 2008</title><content type='html'>Site com excelentes recursos para quem deseja conhecer as ferramentas do SQL Server.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://technet.microsoft.com/pt-br/hh210186"&gt;http://technet.microsoft.com/pt-br/hh210186&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[]s&lt;br /&gt;&lt;br /&gt;Péricles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-5430776236964597306?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/5430776236964597306/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=5430776236964597306' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/5430776236964597306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/5430776236964597306'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2011/06/centro-de-treinamento-sql-2008.html' title='Centro de Treinamento SQL 2008'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-163159520221597606</id><published>2011-03-13T22:45:00.001-03:00</published><updated>2011-03-13T22:46:29.909-03:00</updated><title type='text'>Estudando para prova 70-433 de SQL 2008</title><content type='html'>Pessoal,&lt;br /&gt;&lt;br /&gt;segue link interessante para aqueles que estão estudando para a prova de entrada do SQL 2008.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://estudandopara70433.wordpress.com/"&gt;http://estudandopara70433.wordpress.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;abraços,&lt;br /&gt;&lt;br /&gt;Péricles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-163159520221597606?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/163159520221597606/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=163159520221597606' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/163159520221597606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/163159520221597606'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2011/03/estudando-para-prova-70-433-de-sql-2008.html' title='Estudando para prova 70-433 de SQL 2008'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-2680703213175619238</id><published>2011-03-12T22:13:00.008-03:00</published><updated>2011-03-12T23:02:17.113-03:00</updated><title type='text'>Google Maps - Geocode pelo Endereço</title><content type='html'>Olá,&lt;br /&gt;&lt;br /&gt;existe uma forma de retornar a Latitude/Longitude de um determinado endereço, utilizando-se a &lt;span style="font-weight: bold;"&gt;API do Google Maps&lt;/span&gt;, a partir do SQL Server.&lt;br /&gt;&lt;br /&gt;No mundo real, acredito que tal aplicação não estaria dentro do banco de dados, e sim em uma aplicação CLR, porém, para ilustrar o recurso disponível no SQL, resolvi demonstrá-lo aqui.&lt;br /&gt;&lt;br /&gt;O objeto a ser utilizado é o &lt;span style="color: rgb(0, 0, 0); font-weight: bold;"&gt;MSXML2.ServerXMLHttp&lt;/span&gt;, praticamente da mesma forma que é feito em &lt;span style="font-weight: bold;"&gt;AJAX&lt;/span&gt;, e é acessado através das Procedures de Automação OLE do SQL Server, e para isto, você precisa habilitar o recurso.&lt;br /&gt;&lt;br /&gt;Testei no SQL 2005 e 2008, não sei dizer se funciona no SQL 2000.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Abstract: using the SQL Server to return the coordinates of an address at Google Maps with OLE Automation Procedures (XMLHttp GET).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Segue o código:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Para habilitar o uso de OLE&lt;br /&gt;-- Activate OLE&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;sp_configure 'show advanced options', 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;go&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;reconfigure&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;go&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-family:courier new;" &gt;sp_configure 'Ole Automation Procedures', 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;go&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;reconfigure&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;go&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Variaveis&lt;br /&gt;-- Variables&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;DECLARE &lt;/span&gt;@Response &lt;span style="color: rgb(51, 51, 255);"&gt;VARCHAR&lt;/span&gt;(&lt;span style="color: rgb(255, 0, 0);"&gt;8000&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;DECLARE &lt;/span&gt;@XML &lt;span style="color: rgb(51, 51, 255);"&gt;XML&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;DECLARE &lt;/span&gt;@Obj &lt;span style="color: rgb(51, 51, 255);"&gt;INT &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;DECLARE &lt;/span&gt;@Result &lt;span style="color: rgb(51, 51, 255);"&gt;INT&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;DECLARE &lt;/span&gt;@HTTPStatus &lt;span style="color: rgb(51, 51, 255);"&gt;INT&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;DECLARE &lt;/span&gt;@ErrorMsg &lt;span style="color: rgb(51, 51, 255);"&gt;VARCHAR&lt;/span&gt;(&lt;span style="color: rgb(204, 51, 204);"&gt;MAX&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;DECLARE &lt;/span&gt;@URL VARCHAR(&lt;span style="color: rgb(204, 51, 204);"&gt;MAX&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;DECLARE &lt;/span&gt;@GPSLatitude &lt;span style="color: rgb(51, 51, 255);"&gt;NUMERIC&lt;/span&gt;(&lt;span style="color: rgb(255, 0, 0);"&gt;20,6&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;DECLARE &lt;/span&gt;@GPSLongitude &lt;span style="color: rgb(51, 51, 255);"&gt;NUMERIC&lt;/span&gt;(&lt;span style="color: rgb(255, 0, 0);"&gt;20,6&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;DECLARE &lt;/span&gt;@Endereco &lt;span style="color: rgb(51, 51, 255);"&gt;VARCHAR&lt;/span&gt;(&lt;span style="color: rgb(255, 0, 0);"&gt;100&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Endereco para teste&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Test address&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;SELECT &lt;/span&gt;@Endereco = &lt;span style="color: rgb(255, 0, 0);"&gt;'Av. Paulista, 500, Sao Paulo, SP'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;SELECT &lt;/span&gt;@URL = &lt;span style="color: rgb(255, 0, 0);"&gt;'http://maps.google.com/maps/api/geocode/xml?sensor=false&amp;amp;address='&lt;/span&gt; + @Endereco&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Criacao do objeto XMLHttp&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Object &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;XMLHttp creation&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;EXEC &lt;/span&gt;@Result = &lt;span style="color: rgb(255, 0, 0);"&gt;sp_OACreate 'MSXML2.ServerXMLHttp'&lt;/span&gt;, @Obj &lt;span style="color: rgb(51, 51, 255);"&gt;OUT &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Envio do comando GET&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- GET command&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;BEGIN TRY&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(51, 51, 255);"&gt;EXEC &lt;/span&gt;@Result = &lt;span style="color: rgb(255, 0, 0);"&gt;sp_OAMethod&lt;/span&gt; @Obj, &lt;span style="color: rgb(255, 0, 0);"&gt;'open'&lt;/span&gt;, &lt;span style="color: rgb(51, 51, 255);"&gt;NULL&lt;/span&gt;, &lt;span style="color: rgb(255, 0, 0);"&gt;'GET'&lt;/span&gt;, @URL, false&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(51, 51, 255);"&gt;EXEC &lt;/span&gt;@Result = &lt;span style="color: rgb(255, 0, 0);"&gt;sp_OAMethod&lt;/span&gt; @Obj, &lt;span style="color: rgb(255, 0, 0);"&gt;'setRequestHeader'&lt;/span&gt;, &lt;span style="color: rgb(51, 51, 255);"&gt;NULL&lt;/span&gt;,&lt;br /&gt;             &lt;span style="color: rgb(255, 0, 0);"&gt;'Content-Type'&lt;/span&gt;, &lt;span style="color: rgb(255, 0, 0);"&gt;'application/x-www-form-urlencoded'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(51, 51, 255);"&gt;EXEC &lt;/span&gt;@Result = &lt;span style="color: rgb(255, 0, 0);"&gt;sp_OAMethod&lt;/span&gt; @Obj, &lt;span style="color: rgb(51, 51, 255);"&gt;send&lt;/span&gt;, &lt;span style="color: rgb(51, 51, 255);"&gt;NULL&lt;/span&gt;, &lt;span style="color: rgb(255, 0, 0);"&gt;''&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(51, 51, 255);"&gt;EXEC &lt;/span&gt;@Result = &lt;span style="color: rgb(255, 0, 0);"&gt;sp_OAGetProperty&lt;/span&gt; @Obj, &lt;span style="color: rgb(255, 0, 0);"&gt;'status'&lt;/span&gt;, @HTTPStatus &lt;span style="color: rgb(51, 51, 255);"&gt;OUT &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(51, 51, 255);"&gt;EXEC &lt;/span&gt;@Result = &lt;span style="color: rgb(255, 0, 0);"&gt;sp_OAGetProperty&lt;/span&gt; @Obj, &lt;span style="color: rgb(255, 0, 0);"&gt;'responseXML.xml'&lt;/span&gt;, @Response &lt;span style="color: rgb(51, 51, 255);"&gt;OUT &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;END TRY&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;BEGIN CATCH&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(0, 153, 0);"&gt;-- Controle de Erro com bloco Try/Catch&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;  &lt;span style="color: rgb(0, 153, 0);"&gt;-- Error Control&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;SELECT &lt;/span&gt;@ErrorMsg = &lt;span style="color: rgb(204, 51, 204);"&gt;ERROR_MESSAGE&lt;/span&gt;()&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);font-family:courier new;" &gt;END CATCH&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Destruicao do objeto&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Object free&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;EXEC &lt;/span&gt;@Result = &lt;span style="color: rgb(255, 0, 0);"&gt;sp_OADestroy&lt;/span&gt; @Obj&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Transformacao do resultado em XML&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Convert result in XML Datatype&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;SELECT &lt;/span&gt;@XML = &lt;span style="color: rgb(204, 51, 204);"&gt;CAST&lt;/span&gt;(@Response &lt;span style="color: rgb(51, 51, 255);"&gt;AS XML&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Leitura dos valores desejados (latitude/longitude)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Gathering coordinates from XML&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;SELECT &lt;/span&gt;@GPSLatitude = @XML.value(&lt;span style="color: rgb(255, 0, 0);"&gt;'(/GeocodeResponse/result/geometry/location/lat) [1]'&lt;/span&gt;, &lt;span style="color: rgb(255, 0, 0);"&gt;'numeric(10,6)'&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;SELECT &lt;/span&gt;@GPSLongitude = @XML.value(&lt;span style="color: rgb(255, 0, 0);"&gt;'(/GeocodeResponse/result/geometry/location/lng) [1]'&lt;/span&gt;, &lt;span style="color: rgb(255, 0, 0);"&gt;'numeric(10,6)'&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Exibicao dos resultados&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="color: rgb(0, 153, 0);font-family:courier new;" &gt;-- Results&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;SELECT &lt;/span&gt;@GPSLatitude &lt;span style="color: rgb(51, 51, 255);"&gt;AS &lt;/span&gt;[Latitude], @GPSLongitude &lt;span style="color: rgb(51, 51, 255);"&gt;AS &lt;/span&gt;[Longitude], @XML &lt;span style="color: rgb(51, 51, 255);"&gt;AS &lt;/span&gt;[XML]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;go&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;[]s&lt;br /&gt;&lt;br /&gt;Péricles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-2680703213175619238?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/2680703213175619238/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=2680703213175619238' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/2680703213175619238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/2680703213175619238'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2011/03/google-maps-geocode-pelo-endereco.html' title='Google Maps - Geocode pelo Endereço'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-2997799032099481401</id><published>2011-03-04T22:23:00.003-03:00</published><updated>2011-03-04T22:31:58.616-03:00</updated><title type='text'>Five Classic Videos Every DBA Should Watch</title><content type='html'>Brent Ozar made a series of interviews and presentations that we should watch carefully.&lt;br /&gt;&lt;br /&gt;It's actually Four videos...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.brentozar.com/archive/2011/03/five-videos-every-dba-should-watch/"&gt;http://www.brentozar.com/archive/2011/03/five-videos-every-dba-should-watch/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Péricles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-2997799032099481401?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/2997799032099481401/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=2997799032099481401' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/2997799032099481401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/2997799032099481401'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2011/03/five-classic-videos-every-dba-should.html' title='Five Classic Videos Every DBA Should Watch'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-7792115528132955922</id><published>2011-03-02T21:45:00.005-03:00</published><updated>2011-03-02T21:56:07.850-03:00</updated><title type='text'>Check DB</title><content type='html'>Olá a todos !&lt;br /&gt;&lt;br /&gt;Só pra lembrar, comando básico para fazer uma checagem no database...&lt;br /&gt;De vez em quando é bom !&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-family: courier new;"&gt;ALTER DATABASE&lt;/span&gt;&lt;span style="font-family: courier new;"&gt; Pubs &lt;/span&gt;&lt;span style="color: rgb(51, 51, 255); font-family: courier new;"&gt;SET SINGLE_USER&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;go&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-family: courier new;"&gt;DBCC CHECKDB&lt;/span&gt;&lt;span style="font-family: courier new;"&gt; (Pubs, &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-family: courier new;"&gt;REPAIR_ALLOW_DATA_LOSS&lt;/span&gt;&lt;span style="font-family: courier new;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;go&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255); font-family: courier new;"&gt;ALTER DATABASE&lt;/span&gt;&lt;span style="font-family: courier new;"&gt; Pubs &lt;/span&gt;&lt;span style="color: rgb(51, 51, 255); font-family: courier new;"&gt;SET MULTI_USER&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;go&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Troque "Pubs" pelo nome do database em questão.&lt;br /&gt;&lt;br /&gt;O database deve estar em SINGLE_USER MODE.&lt;br /&gt;&lt;br /&gt;O parâmetro importante do CHECKDB tem 3 opções:&lt;br /&gt;- REPAIR_ALLOW_DATA_LOSS: esta forma de reparo pode causar a perda de dados.&lt;br /&gt;- REPAIR_FAST: mantido por questões de compatibilidade, não faz nada estrutural.&lt;br /&gt;- REPAIR_REBUILD: corrige estruturas que não irão causar perda de dados.&lt;br /&gt;&lt;br /&gt;Abraços.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-7792115528132955922?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/7792115528132955922/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=7792115528132955922' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/7792115528132955922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/7792115528132955922'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2011/03/check-db.html' title='Check DB'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-3693870238936692090</id><published>2011-02-19T10:40:00.004-02:00</published><updated>2011-02-19T10:49:31.303-02:00</updated><title type='text'>SQLRockstar - English SQL Bloggers</title><content type='html'>I found a very nice SQL Blog today from Thomas LaRock.&lt;br /&gt;&lt;br /&gt;He made a special list of SQL Bloggers grouping them like the database names: &lt;span style="font-weight:bold;"&gt;Master, ResourceDB, MSDB, Model and TempDB&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;He couldn't be more nerd...&lt;br /&gt;&lt;br /&gt;It worths the look:&lt;br /&gt;&lt;a href="http://thomaslarock.com/rankings/#axzz1DIObJzHY"&gt;http://thomaslarock.com/rankings/#axzz1DIObJzHY&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;See ya.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-3693870238936692090?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/3693870238936692090/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=3693870238936692090' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/3693870238936692090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/3693870238936692090'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2011/02/sqlrockstar-english-sql-bloggers.html' title='SQLRockstar - English SQL Bloggers'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-6216339788214269230</id><published>2010-12-21T00:46:00.004-02:00</published><updated>2010-12-21T00:50:09.677-02:00</updated><title type='text'>Qual versão do SQL estou rodando ?</title><content type='html'>&lt;span style="font-style:italic;"&gt;SELECT @@version&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Tabela mais completa, impossível:&lt;br /&gt;&lt;a href="http://sqlserverbuilds.blogspot.com/"&gt;&lt;br /&gt;SQL Server Builds&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Abracos,&lt;br /&gt;&lt;br /&gt;Pericles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-6216339788214269230?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/6216339788214269230/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=6216339788214269230' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/6216339788214269230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/6216339788214269230'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2010/12/qual-versao-do-sql-estou-rodando.html' title='Qual versão do SQL estou rodando ?'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-501398339253812682</id><published>2010-12-06T11:52:00.009-02:00</published><updated>2010-12-06T12:15:34.319-02:00</updated><title type='text'>Compêndio XML</title><content type='html'>Olá a todos,&lt;br /&gt;&lt;br /&gt;estava estudando para a prova 70-433 do SQL 2008, e segundo o descritivo da prova, caem várias questões sobre XML, então saí em busca de mais informações sobre o assunto.&lt;br /&gt;&lt;br /&gt;Encontrei na revista Plugmasters, vários artigos do nosso colega &lt;span style="font-weight:bold;"&gt;Gustavo Maia Aguiar&lt;/span&gt;, inclusive cito o blog dele nos posts anteriores.&lt;br /&gt;&lt;br /&gt;Fiz uma compilação dos artigos sobre XML que ele escreveu naquele site, e cheguei a um documento com 75 páginas !&lt;br /&gt;&lt;br /&gt;São artigos sobre SQL 2005, porém servem muito bem de base para o 2008.&lt;br /&gt;&lt;br /&gt;Achei que o resultado ficou interessante, e seria de muita importância que outras pessoas pudessem ter acesso a este material, então consultei o Gustavo, para obter uma autorização de publicação deste material no meu blog, e fiquei muito feliz em saber que ele gostou da idéia.&lt;br /&gt;&lt;br /&gt;Bem, sem mais explicações, segue o link do material.&lt;br /&gt;Na primeira página, estão listados os artigos que fazem parte do documento.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Arquivo:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.mdssistemas.inf.br/arquivos/Compendio_XML-Gustavo_Maia.pdf"&gt;Compendio XML -Gustavo Maia.pdf&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;São artigos muito bem ilustrados, inclusive com vários exemplos !&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Blog do Gustavo:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://gustavomaiaaguiar.spaces.live.com/"&gt;http://gustavomaiaaguiar.spaces.live.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Revista Plugmasters:&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.plugmasters.com.br"&gt;http://www.plugmasters.com.br&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;abraços e até mais.&lt;br /&gt;Péricles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-501398339253812682?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/501398339253812682/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=501398339253812682' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/501398339253812682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/501398339253812682'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2010/12/compendio-xml.html' title='Compêndio XML'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-7259449581214731553</id><published>2010-08-08T21:12:00.006-03:00</published><updated>2010-08-08T21:24:39.378-03:00</updated><title type='text'>Ferramentas Úteis</title><content type='html'>Olá galera,&lt;br /&gt;&lt;br /&gt;gostaria de citar duas ferramentas muito interessantes que utilizei recentemente.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;A primeira&lt;/span&gt; me ajudou a recuperar uma base corrompida.&lt;br /&gt;Depois de tentar todo tipo de comando DBCC no SQL Server, pesquisei e baixei algumas ferramentas de Recovery, e a única que resolveu o problema foi esta:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;RECOVERY FOR SQL SERVER&lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.officerecovery.com/mssql/index.htm"&gt;http://www.officerecovery.com/mssql/index.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;A segunda&lt;/span&gt;, como todos sabem, na versão Express do SQL 2005/2008, não está incluído o SQL Profiler, ferramenta essencial para detectar problemas de performance... encontrei esta aí, com uma interface muito parecida com o original inclusive:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;ANJLAB SQL PROFILER&lt;/span&gt;&lt;br /&gt;&lt;a href="http://sites.google.com/site/sqlprofiler/"&gt;http://sites.google.com/site/sqlprofiler/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Vale a pena conferir.&lt;br /&gt;&lt;br /&gt;abraços,&lt;br /&gt;&lt;br /&gt;Péricles Sevegnani.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-7259449581214731553?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/7259449581214731553/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=7259449581214731553' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/7259449581214731553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/7259449581214731553'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2010/08/ferramentas-uteis.html' title='Ferramentas Úteis'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-6165994477495579202</id><published>2010-06-10T23:46:00.011-03:00</published><updated>2010-06-11T19:03:02.760-03:00</updated><title type='text'>Performance Tuning no SQL Server</title><content type='html'>Olá,&lt;br /&gt;&lt;br /&gt;gostaria de abordar um tema que está começando a gerar interesse de muitos administradores de banco de dados: "performance tuning" ou melhoria de desempenho.&lt;br /&gt;&lt;br /&gt;Seu banco de dados está crescendo, o servidor fica cada dia mais lento, você começa a procurar as possíveis causas da lentidão, e se pergunta: onde está o problema ?&lt;br /&gt;&lt;br /&gt;Raramente, a resposta é simples.&lt;br /&gt;Encontrar um serviço/processo rodando no servidor que está tomando muito tempo de CPU; anti-virus; baixar a última atualização; são alguns exemplos... mas convenhamos, é praticamente uma loteria.&lt;br /&gt;&lt;br /&gt;Na maioria dos casos, o problema está relacionado a vários fatores.&lt;br /&gt;&lt;br /&gt;Sem olhar seu sistema, eu diria que &lt;span style="font-weight:bold;"&gt;90%&lt;/span&gt; dos problemas relacionados a performance estão na sua aplicação.&lt;br /&gt;&lt;br /&gt;Portanto, faça sua lição de casa, e revise seu código, seu modelo de dados, sua metodologia de acesso aos dados, a forma de exibição, etc.&lt;br /&gt;&lt;br /&gt;No mais, segue abaixo uma lista de boas práticas para manter seu servidor com uma boa performance.&lt;br /&gt;&lt;br /&gt;As primeiras dicas são as que estão ao seu alcance, e não há necessidade de desembolso... em seguida, outras dicas que exigem um pouco de investimento.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1) Básicas:&lt;/span&gt;&lt;br /&gt;   - mantenha seu Windows com o último Service Pack disponível;&lt;br /&gt;   - mantenha seu SQL Server com o último Service Pack disponível + pacotes acumulativos (CUs);&lt;br /&gt;   - disponha de uma janela de manutenção mensal, onde você vai reindexar sua base de dados, com base no índice de fragmentação das tabelas mais críticas;&lt;br /&gt;   - desfragmente seu disco rígido também, com o serviço SQL Server desligado;&lt;br /&gt;   - se o seu database é grande (acima de 10Gb por exemplo), separe as tabelas por Filegroups, e distribua quando possível, estes Filegroups em discos rígidos diferentes;&lt;br /&gt;   - configure o anti-virus do servidor SQL Server para não escanear as pastas onde estão os arquivos MDF/NDF e LDF dos databases, tampouco as pastas dos System Databases;&lt;br /&gt;   - não instale impressoras no servidor SQL Server;&lt;br /&gt;   - evite compartilhamento com outras aplicações, isole seu servidor única e exclusivamente para o serviço SQL Server;&lt;br /&gt;   - coloque os Filegroups em outro disco rígido, assim como o TempDB;&lt;br /&gt;   - desligue as opções de Auto-Close e Auto-Shrink de cada database;&lt;br /&gt;   - revise as tabelas, de forma que as mesmas tenham Primary e Foreign Keys bem definidas, índices que estejam sendo utilizados;&lt;br /&gt;   - centralize o código, utilizando Stored Procedures - esta prática também evita tráfego de rede, deixando o processamento no servidor e retornando somente o resultado para aplicação;&lt;br /&gt;   - evite o uso de Cursores, prefira operações baseadas em blocos (set-based);&lt;br /&gt;   - faça backups completos diariamente.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2) Avançadas ($$$):&lt;/span&gt;&lt;br /&gt;   - adquira mais discos rígidos, você vai precisar para RAID e também para separar os arquivos;&lt;br /&gt;   - prefira RAID nível 10 (espelhamento e distribuição);&lt;br /&gt;   - disco rápido é SAS (antigo SCSI) - fuja de IDE e SATA;&lt;br /&gt;   - se puder, adquira uma unidade Storage (SAN, EVA, etc);&lt;br /&gt;   - compre memória RAM: o ideal é que o SQL Server trabalhe sempre utilizando o "cache", portanto, quanto mais memória melhor;&lt;br /&gt;   - não há uma recomendação padrão, pois os ambientes podem variar muito (OLTP e OLAP), mas sempre faço uma conta básica: 2GB de RAM para o sistema operacional; e o restante, pelo menos 25% da soma do tamanho dos databases para Buffer Pool do SQL Server, isto evita paginação;&lt;br /&gt;   - ou seja, se a soma dos seus databases for de aproximadamente 100GB, seu servidor SQL deveria ter em torno de 24GB de RAM (mínimo de 16GB, e ideal 32GB);&lt;br /&gt;   - particione as tabelas "gigantes", utilizando o recurso do próprio SQL Server, "partitioned tables"; para isto você vai precisar da versão Enterprise.&lt;br /&gt;&lt;br /&gt;É claro que os tópicos apresentados são muito superficiais, e necessitam de um estudo adequado para cada caso, a idéia aqui foi dar uma "pincelada" nos principais.&lt;br /&gt;&lt;br /&gt;Sinta-se à vontade para entrar em contato, e expor suas dúvidas, ou contribuir com mais alguma dica, terei maior prazer em publicar.&lt;br /&gt;&lt;br /&gt;Obrigado, abraços e até a próxima!&lt;br /&gt;Péricles Sevegnani.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-6165994477495579202?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/6165994477495579202/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=6165994477495579202' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/6165994477495579202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/6165994477495579202'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2010/06/performance-tuning-no-sql-server.html' title='Performance Tuning no SQL Server'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-7117585722447488011</id><published>2010-01-04T13:08:00.003-02:00</published><updated>2010-01-04T13:25:54.542-02:00</updated><title type='text'>Certificação Microsoft 5 Estrelas</title><content type='html'>olá a todos, feliz 2010 !&lt;br /&gt;&lt;br /&gt;Que seja um ano de muitas conquistas e realizações a todos nós !&lt;br /&gt;&lt;br /&gt;Abro este ano com um post sobre certificação Microsoft, mais especificamente sobre:&lt;br /&gt;&lt;br /&gt;- certificação Microsoft 5 Estrelas&lt;br /&gt;&lt;a href="http://www.technetbrasil.com.br/cincoestrelas/"&gt;http://www.technetbrasil.com.br/cincoestrelas/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- prova 70-441 (2005 Designer).&lt;br /&gt;&lt;a href="http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-441&amp;locale=en-us"&gt;http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-441&amp;locale=en-us&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;O programa profissional 5 Estrelas (SQL) é uma iniciativa da Microsoft para preparar os usuários para a prova 70-431 e levar conhecimento a todos que gostam do assunto.&lt;br /&gt;&lt;br /&gt;Obtive a 5a. estrela neste programa há alguns dias, porém... nem tudo são flores, como explico abaixo.&lt;br /&gt;&lt;br /&gt;Recentemente, me preparei para a prova 70-441 (Designing Database Solutions with SQL 2005) e não obtive a pontuação necessária (score = 634, needed = 700), o que me frustrou muito, de certa forma, neste final de ano.&lt;br /&gt;&lt;br /&gt;Porém, eu prefiro ser reprovado por falta de capacidade do que aprovado por sorte.&lt;br /&gt;&lt;br /&gt;Digo isso, porque às vezes a experiência, que nos dá uma certa dose de confiança, que aliada a um estudo autodidata, garante um bom conhecimento, porém não é credencial para sucesso na prova.&lt;br /&gt;&lt;br /&gt;Percebo que preciso estudar (muito) e aprender mais sobre: Service Broker, Integration Services e Reporting Services. Aliás, deixo como dica para aquele que decide fazer a 70-441.&lt;br /&gt;&lt;br /&gt;Já vi em alguns fóruns que a 70-441 é a mais difícil, em comparação a 70-442. De qualquer forma, acredito que isto depende do perfil do profissional.&lt;br /&gt;&lt;br /&gt;Enfim... meu planejamento para este ano é obter o MCITP Developer e Administrator, e para isto são 4 provas... extremamente difíceis... mas, vamos lá!&lt;br /&gt;&lt;br /&gt;abraços,&lt;br /&gt;&lt;br /&gt;Péricles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-7117585722447488011?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/7117585722447488011/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=7117585722447488011' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/7117585722447488011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/7117585722447488011'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2010/01/certificacao-microsoft-5-estrelas.html' title='Certificação Microsoft 5 Estrelas'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-8525202021738964555</id><published>2009-11-08T21:49:00.039-02:00</published><updated>2011-11-03T23:25:14.301-02:00</updated><title type='text'>Blogs de SQL Server</title><content type='html'>Compartilho aqui com vocês, a lista de alguns blogs sobre SQL Server e IT que costumo visitar e apreciar:&lt;br /&gt;&lt;br /&gt;- Blog do Luti:&lt;br /&gt;&lt;a href="http://luticm.blogspot.com/"&gt;http://luticm.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Fabiano Neves Amorim:&lt;div&gt;&lt;a href="http://blogfabiano.com/"&gt;http://blogfabiano.com/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;- Blog do Miranda:&lt;br /&gt;&lt;a href="http://www.rmiranda.com.br/"&gt;http://www.rmiranda.com.br/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Alex Rosa - Database Specialist:&lt;br /&gt;&lt;a href="http://alexrosadba.wordpress.com/"&gt;http://alexrosadba.wordpress.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- $hell Your Experience - Laerte Junior:&lt;br /&gt;&lt;a href="http://laertejuniordba.spaces.live.com/blog/"&gt;http://laertejuniordba.spaces.live.com/blog/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Thiago Zavaschi:&lt;br /&gt;&lt;a href="http://www.zavaschi.com/"&gt;http://www.zavaschi.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- PFE Brasil - SQL Server:&lt;br /&gt;&lt;a href="http://blogs.msdn.com/pfebrasilsql/default.aspx"&gt;http://blogs.msdn.com/pfebrasilsql/default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Conor vs. SQL:&lt;br /&gt;&lt;a href="http://blogs.msdn.com/conor_cunningham_msft/default.aspx"&gt;http://blogs.msdn.com/conor_cunningham_msft/default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Felipe Ferreira:&lt;br /&gt;&lt;a href="http://blogs.solidq.com/fferreira/Home.aspx"&gt;http://blogs.solidq.com/fferreira/Home.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Diego Nogare:&lt;br /&gt;&lt;a href="http://www.diegonogare.net/"&gt;http://www.diegonogare.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Gustavo Maia:&lt;br /&gt;&lt;a href="http://gustavomaiaaguiar.wordpress.com/"&gt;http://gustavomaiaaguiar.wordpress.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Roberto Fonseca:&lt;br /&gt;&lt;a href="http://rffonseca.wordpress.com/"&gt;http://rffonseca.wordpress.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- SQL Blog Ninja - Fabricio Catae:&lt;br /&gt;&lt;a href="http://blogs.msdn.com/fcatae/"&gt;http://blogs.msdn.com/fcatae/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Tulio Rosa:&lt;br /&gt;&lt;a href="http://tuliorosa.blogspot.com/"&gt;http://tuliorosa.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Sql From Hell.com:&lt;br /&gt;&lt;a href="http://sqlfromhell.wordpress.com/"&gt;http://sqlfromhell.wordpress.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Blog 50 minutos:&lt;br /&gt;&lt;a href="http://www.50minutos.com.br/blog/"&gt;http://www.50minutos.com.br/blog/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Rodrigo Crespi:&lt;br /&gt;&lt;a href="http://www.blog.crespidb.com.br/"&gt;http://www.blog.crespidb.com.br/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Diário de um DBA:&lt;br /&gt;&lt;a href="http://silasmendes.com/dba/"&gt;http://silasmendes.com/dba/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- TSQL Master:&lt;/div&gt;&lt;div&gt;&lt;a href="http://tsqlmaster.blogspot.com/"&gt;http://tsqlmaster.blogspot.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Glenn Berry's:&lt;br /&gt;&lt;a href="http://sqlserverperformance.wordpress.com/"&gt;http://sqlserverperformance.wordpress.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Fabricio Lima:&lt;br /&gt;&lt;a href="http://fabriciolima.net/blog/"&gt;http://fabriciolima.net/blog/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Midnight DBA - Sean and Jennifer McCown - DBA Rant:&lt;br /&gt;&lt;a href="http://midnightdba.itbookworm.com/"&gt;http://midnightdba.itbookworm.com/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.midnightdba.com/DBARant/"&gt;http://www.midnightdba.com/DBARant/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Pinal Dave - SQLAuthority:&lt;br /&gt;&lt;a href="http://blog.sqlauthority.com/"&gt;http://blog.sqlauthority.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- SQL Server Central:&lt;br /&gt;&lt;a href="http://www.sqlservercentral.com/"&gt;http://www.sqlservercentral.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- SQL GO !!! - Andressa:&lt;br /&gt;&lt;a href="http://sqlgo.wordpress.com/"&gt;http://sqlgo.wordpress.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- SQL Server e BI:&lt;br /&gt;&lt;a href="http://www.sqlserverbh.com.br/"&gt;http://www.sqlserverbh.com.br/&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;- Luciano Palma:&lt;br /&gt;&lt;a href="http://lpalma.com/"&gt;http://lpalma.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- SQLInsiders.Net:&lt;br /&gt;&lt;a href="http://www.sqlinsiders.net/"&gt;http://www.sqlinsiders.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Viviane Ribeiro:&lt;br /&gt;&lt;a href="http://vivianeribeiro1.wordpress.com/"&gt;http://vivianeribeiro1.wordpress.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;- Evandro Junqueira Ramos:&lt;br /&gt;&lt;a href="http://www.sqlserverdicas.com/"&gt;http://www.sqlserverdicas.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;abraços e até a próxima!&lt;br /&gt;Péricles.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-8525202021738964555?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/8525202021738964555/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=8525202021738964555' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/8525202021738964555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/8525202021738964555'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2009/11/blogs-de-sql-server.html' title='Blogs de SQL Server'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-6233297850288033660</id><published>2009-09-22T21:02:00.003-03:00</published><updated>2009-09-22T21:36:45.240-03:00</updated><title type='text'>Removendo Braviax (cru629)</title><content type='html'>Esta semana me deparei com o insistente Braviax.&lt;br /&gt;&lt;br /&gt;Seu ícone é uma bolinha vermelha no canto direito, ao lado do relógio do Windows XP.&lt;br /&gt;&lt;br /&gt;Passei CCleaner (&lt;a href="http://www.ccleaner.com"&gt;http://www.ccleaner.com&lt;/a&gt;), meu preferido, porém sem sucesso.&lt;br /&gt;&lt;br /&gt;Tentei passar o HijackThis (&lt;a href="http://www.hijackthis.de/"&gt;http://www.hijackthis.de/&lt;/a&gt;), mas ele não deixava nem executar o utilitário.&lt;br /&gt;&lt;br /&gt;Consegui executar o HijackThis renomeando o arquivo executável, tipo 123.exe. Ele executou mas não conseguiu remover o Bravia.&lt;br /&gt;&lt;br /&gt;Pesquisei na net e encontrei algumas dicas, tipo entrar em modo de segurança e apagar os seus arquivos principais, que são (c:\windows\braviax.exe, c:\windows\cru629.dat, c:\windows\system32\braviax.exe, c:\windows\system32\cru629.dat), pois eles não se deixam excluir normalmente.&lt;br /&gt;&lt;br /&gt;O Braviax também não aparece no Task Manager (Gerenciador de Tarefas).&lt;br /&gt;&lt;br /&gt;Resumo da ópera: entrar em modo de segurança e apagar os arquivos não resolveu.&lt;br /&gt;&lt;br /&gt;O que resolveu mesmo, foi o Malware Bytes (&lt;a href="http://www.malwarebytes.org/"&gt;http://www.malwarebytes.org/&lt;/a&gt;), rodou uma vez, reiniciei e... assunto resolvido. Fica a dica.&lt;br /&gt;&lt;br /&gt;Até a próxima!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-6233297850288033660?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/6233297850288033660/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=6233297850288033660' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/6233297850288033660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/6233297850288033660'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2009/09/removendo-braviax-cru629.html' title='Removendo Braviax (cru629)'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-8258307284508848506</id><published>2009-09-22T20:39:00.004-03:00</published><updated>2009-09-22T20:45:56.745-03:00</updated><title type='text'>Migrando logins entre servidores SQL 2005</title><content type='html'>Há um certo tempo, postei o link para script de migração de logins de SQL 2000 para 2005.&lt;br /&gt;&lt;br /&gt;Segue agora link para script de migração de logins entre servidores SQL 2005, bastante útil quando você quer dar uma melhorada no seu servidor...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/918992/"&gt;http://support.microsoft.com/kb/918992/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dica: não acho interessante migrar aquelas contas estranhas, tipo "authority", "autoridade", "nt service", "builtin", "##ms_...".&lt;br /&gt;&lt;br /&gt;Abraços.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-8258307284508848506?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/8258307284508848506/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=8258307284508848506' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/8258307284508848506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/8258307284508848506'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2009/09/migrando-logins-entre-servidores-sql.html' title='Migrando logins entre servidores SQL 2005'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-5142058643558945087</id><published>2008-11-19T23:43:00.006-02:00</published><updated>2008-11-20T00:09:05.846-02:00</updated><title type='text'>Teste de Perfomance em Inserts via Aplicação x Stored Procedures</title><content type='html'>Olá!&lt;br /&gt;&lt;br /&gt;Gostaria de compartilhar com os amigos um pequeno, porém significante teste feito com inserções de registros.&lt;br /&gt;&lt;br /&gt;Meu objetivo é provar por A+B que o insert via Stored Procedure é mais rápido que o insert via aplicação.&lt;br /&gt;&lt;br /&gt;Foram utilizados nestes testes os componentes da paleta dbGo/ADO do Delphi 7.&lt;br /&gt;&lt;br /&gt;O banco de dados utilizado foi SQL 2005 Express SP3, rodando num laptop.&lt;br /&gt;&lt;br /&gt;Abaixo, segue os links para você baixar a aplicação teste, bem como o script utilizado para criação de um database, uma tabela, e uma stored procedure, a serem utilizadas no seu teste.&lt;br /&gt;&lt;br /&gt;Fiz um laço no Delphi, inserindo 10.000 registros na tabela de testes.&lt;br /&gt;&lt;br /&gt;No primeiro teste, utilizando componente TADOQuery para fazer a inserção, levou 28 segundos.&lt;br /&gt;&lt;br /&gt;No segundo teste, utilizando componente TADOStoredProc, levou 20 segundos.&lt;br /&gt;&lt;br /&gt;Uma redução aí na faixa dos 30%.&lt;br /&gt;&lt;br /&gt;Baixe a aplicação, faça o teste, e chegue as suas próprias conclusões.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.mdssistemas.inf.br/arquivos/PerformanceTester.zip"&gt;Aplicação&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mdssistemas.inf.br/arquivos/Script.zip"&gt;Script&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Por isso, recomendo veementemente o uso de Stored Procedures para Inserir, Excluir, Consultar, enfim, para fazer qualquer tipo de processamento que requer algum requinte de performance.&lt;br /&gt;&lt;br /&gt;Além disto, Stored Procedures possuem as seguintes vantagens em relação a T-SQL via aplicação:&lt;br /&gt;&lt;br /&gt;- elas permitem programação modular, ou seja, a lógica de negócio fica centralizada em um ponto, ao invés de vários pontos nas aplicações;&lt;br /&gt;&lt;br /&gt;- elas permitem execuções mais rápidas, porque o "engine" do SQL Server otimiza sua execução e guarda no seu "cache" para futura utilização;&lt;br /&gt;&lt;br /&gt;- elas reduzem tráfego de rede, justamente porque sua execução fica a nível de servidor, e somente o retorno é devolvido à aplicação "client";&lt;br /&gt;&lt;br /&gt;- elas podem ser usadas como mecanismo de segurança;&lt;br /&gt;&lt;br /&gt;- elas evitam "lock" de tabela, uma vez que o "engine" enfileira todas as chamadas que são feitas às SPs e controla sua execução.&lt;br /&gt;&lt;br /&gt;Abraços e até a próxima.&lt;br /&gt;&lt;br /&gt;Pericles.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-5142058643558945087?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/5142058643558945087/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=5142058643558945087' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/5142058643558945087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/5142058643558945087'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2008/11/teste-de-perfomance-em-inserts-via.html' title='Teste de Perfomance em Inserts via Aplicação x Stored Procedures'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-1768400857943017142</id><published>2008-08-08T17:53:00.006-03:00</published><updated>2008-08-08T18:17:39.079-03:00</updated><title type='text'>Problemas e Soluções para SQL 2005 no Vista</title><content type='html'>Estou instalando meus sistemas em alguns clientes com o Windows Vista, e minha intenção aqui é compartilhar algumas dicas sobre as dificuldades encontradas.&lt;br /&gt;&lt;br /&gt;O caso que serviu de inspiração para este post foi com a versão Home Basic.&lt;br /&gt;&lt;br /&gt;O serviço do SQL foi instalado nesta máquina e ela é utilizada como "servidor", onde outra estação com Windows XP a acessava.&lt;br /&gt;&lt;br /&gt;Após instalação e liberação das devidas portas no firewall, ativação do serviço "Navegador/Browser" do SQL, o sistema entrava, localmente e remotamente.&lt;br /&gt;&lt;br /&gt;Porém, localmente, algumas telas do sistema apresentavam uma lentidão inaceitável. Remotamente estava a 100%.&lt;br /&gt;&lt;br /&gt;Puxei minha "cartilha" e comecei:&lt;br /&gt;&lt;br /&gt;- atualizei o SQL Server, com o SP2:&lt;br /&gt;- não resolveu.&lt;br /&gt;&lt;br /&gt;- atualizei o Service Pack do Vista para SP1, pois era original:&lt;br /&gt;não resolveu.&lt;br /&gt;&lt;br /&gt;- revisei as configurações do Firewall, liberando a 1433 TCP e 1434 UDP e compartilhamento de impressoras (por teimosia, pois na estação remota não havia problema de acesso):&lt;br /&gt;não resolveu.&lt;br /&gt;&lt;br /&gt;- desliguei o Serviço de Indexação do Vista:&lt;br /&gt;nada.&lt;br /&gt;&lt;br /&gt;Fui embora, levei o backup da base e fui revisar minha aplicação (Delphi), na tentativa de pegar algum problema, porém... sem sucesso.&lt;br /&gt;&lt;br /&gt;Contatei meu "brother", Microsoft MCSE, e ele deu uma dica: RSS (receive-side scaling), que é uma nova função do sistema operacional (Vista e Server 2003), que tem gerado alguns problemas.&lt;br /&gt;&lt;br /&gt;Voltei ao cliente, decidido a desligar o tal "autotuning", aí vai o comando:&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;netsh interface tcp set global autotuning=disabled&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Legal, mas... reiniciei e... nada, o problema continua.&lt;br /&gt;&lt;br /&gt;Já quase desistindo, resolvi brincar com os protocolos de rede do SQL.&lt;br /&gt;Fui desligando um-a-um, até chegar num denominador comum... e bingo... achei.&lt;br /&gt;&lt;br /&gt;A única combinação que funcionou, e resolveu o problema, foi o protocolo "Named Pipes/Pipes Nomeados".&lt;br /&gt;&lt;br /&gt;Deixei somente este protocolo ativo, e funcionou 100%, localmente e remotamente.&lt;br /&gt;&lt;br /&gt;Fiquem à vontade para comentar o assunto, e abraços, até a próxima !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-1768400857943017142?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/1768400857943017142/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=1768400857943017142' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/1768400857943017142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/1768400857943017142'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2008/08/problemas-e-solucoes-para-sql-2005-no.html' title='Problemas e Soluções para SQL 2005 no Vista'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-1434201133974531347</id><published>2008-06-29T00:21:00.003-03:00</published><updated>2008-06-29T00:31:08.729-03:00</updated><title type='text'>Certificação Microsoft</title><content type='html'>É com muita alegria que compartilho mais esta conquista pessoal: aprovação na prova 70-431, que dá a certificação MCTS em SQL Server 2005.&lt;br /&gt;&lt;br /&gt;Não foi fácil... eu já estava há alguns anos postergando a realização da prova, mas este mês fui inspirado pela minha esposa, e decidi fazê-la. Marquei a prova num ato de impulso, com menos de 15 dias pra estudar. Era agora ou nunca.&lt;br /&gt;&lt;br /&gt;Para os que quiserem se aventurar nesta, a prova é em inglês. A minha teve 47 questões, 35 de múltipla escolha e 12 simulados.&lt;br /&gt;&lt;br /&gt;Experiência é imprescindível, uma vez que caíram algumas questões que você não encontra resposta em livro algum, só quem já escreveu um SELECT pra "sacar" a pergunta.&lt;br /&gt;&lt;br /&gt;Obrigado a todos que me apoiaram.&lt;br /&gt;&lt;br /&gt;Até a próxima!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-1434201133974531347?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/1434201133974531347/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=1434201133974531347' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/1434201133974531347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/1434201133974531347'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2008/06/certificacao-microsoft.html' title='Certificação Microsoft'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-1791785856954429645</id><published>2008-05-28T21:11:00.005-03:00</published><updated>2008-05-28T22:02:04.865-03:00</updated><title type='text'>Migrando logins entre instâncias SQL 2000</title><content type='html'>Algumas vezes precisamos migrar um ambiente para um novo servidor.&lt;br /&gt;&lt;br /&gt;Após os procedimentos padrão:&lt;br /&gt;- instalação do SQL Server no novo servidor;&lt;br /&gt;- restauração do backup ou "attach" do database.&lt;br /&gt;&lt;br /&gt;Surge então o problema: os logins e suas respectivas senhas.&lt;br /&gt;&lt;br /&gt;A Microsoft disponibiliza no link abaixo, "receita de bolo" para a solução do problema.&lt;br /&gt;&lt;br /&gt;Basicamente, trata-se de rodar o script mencionado no Servidor1, capturar o "result", e rodar no Servidor2.&lt;br /&gt;&lt;br /&gt;Vale lembrar que esta solução funciona somente entre servidores 7.0 e 2000.&lt;br /&gt;&lt;br /&gt;Link: &lt;a href="http://support.microsoft.com/kb/246133/en-us"&gt;&lt;span style="font-size:85%;"&gt;http://support.microsoft.com/kb/246133/en-us&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Abraços e até a próxima!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-1791785856954429645?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/1791785856954429645/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=1791785856954429645' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/1791785856954429645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/1791785856954429645'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2008/05/migrando-logins-entre-instancias-sql.html' title='Migrando logins entre instâncias SQL 2000'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-4444382921118169688</id><published>2007-11-12T23:17:00.000-02:00</published><updated>2007-11-13T09:40:13.106-02:00</updated><title type='text'>Trabalhando com Datas no SQL Server</title><content type='html'>Um assunto muito recorrente nos fóruns de discussão, é o tratamento de campos de data/hora no SQL Server.&lt;br /&gt;&lt;br /&gt;O problema basicamente se resume a dois pontos:&lt;br /&gt;- passagem de parâmetros para um comando SQL;&lt;br /&gt;- exibição de data/hora em algum formato específico.&lt;br /&gt;&lt;br /&gt;Sobre a passagem de parâmetros, o formato padrão do SQL Server é o americano (USA): mm/dd/yyyy. Desta forma, 10/04/2007 seria dia 04 de Outubro de 2007.&lt;br /&gt;&lt;br /&gt;Ainda sobre a passagem de parâmetros, ela se dá em 2 momentos:&lt;br /&gt;- através da aplicação (Delphi, VB, etc.);&lt;br /&gt;- via T-SQL, em stored procedures, triggers, por exemplo.&lt;br /&gt;&lt;br /&gt;Eu diria que na passagem de parâmetros via aplicação - utilizando os recursos normais dos componentes de acesso a dados - não há com o que se preocupar, uma vez que o componente de acesso a dados vai se encarregar de fazê-lo, e informar o parâmetro no formato devido.&lt;br /&gt;&lt;br /&gt;E por último, quando houver necessidade de informar uma data manualmente, "na unha", eu sugeriria fazê-lo da seguinte forma, utilizando o exemplo acima: "dd-mes-yyyy".&lt;br /&gt;&lt;br /&gt;Ex.:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;SELECT&lt;/span&gt; *&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;FROM&lt;/span&gt; Pedidos&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;WHERE&lt;/span&gt; DataPedido &lt;span style="color:#3333ff;"&gt;BETWEEN&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;'01-oct-2007'&lt;/span&gt; &lt;span style="color:#3333ff;"&gt;AND&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;'31-dec-2007'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Percebam que eu coloquei o nome do mês, de forma abreviada (em inglês). É isto mesmo !&lt;br /&gt;Faz 10 anos que esta fórmula tem dado certo para mim... por isso a recomendo.&lt;br /&gt;&lt;br /&gt;Não preciso me preocupar com barras ou se a primeira parte é o mês ou dia... passo desta forma e está resolvido.&lt;br /&gt;&lt;br /&gt;Ok, uma vez que a passagem de parâmetros está esclarecida, vamos a segunda parte: a exibição.&lt;br /&gt;&lt;br /&gt;Em primeiro lugar, gostaria de colocar que se tem alguém que deve se preocupar com exibição de datas, o responsável é a aplicação front-end.&lt;br /&gt;&lt;br /&gt;Banco de dados não foi feito pra formatar datas e/ou números. Banco de dados foi feito pra armazenar dados, e retornar, da forma mais rápida possível e confiável.&lt;br /&gt;&lt;br /&gt;Porém, às vezes, desejamos efetuar um SELECT e imprimir o resultado, precisamos formatar as datas.&lt;br /&gt;&lt;br /&gt;Aí vai a dica: converta o campo data/hora para texto.&lt;br /&gt;&lt;br /&gt;Ex.:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;SELECT&lt;/span&gt; &lt;span style="color:#3366ff;"&gt;CONVERT&lt;/span&gt;(&lt;span style="color:#3366ff;"&gt;VARCHAR&lt;/span&gt;(20), &lt;span style="color:#cc33cc;"&gt;GETDATE&lt;/span&gt;(), 101) &lt;span style="color:#3366ff;"&gt;AS&lt;/span&gt; Data&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Notem o 3o. parâmetro - código 101.&lt;br /&gt;&lt;br /&gt;No BOL (Books OnLine) existe uma tabela de códigos para este parâmetro, que vai de 101 até 130.&lt;br /&gt;&lt;br /&gt;O padrão britânico/francês, por exemplo, que possui o formato mais próximo do nosso (dd/mm/yy), é o código 103.&lt;br /&gt;&lt;br /&gt;Teste os formatos e encontre o mais apropriado para sua necessidade.&lt;br /&gt;&lt;br /&gt;Abraços e até a próxima!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-4444382921118169688?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/4444382921118169688/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=4444382921118169688' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/4444382921118169688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/4444382921118169688'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2007/11/trabalhando-com-datas-no-sql-server.html' title='Trabalhando com Datas no SQL Server'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-8987126117467715552</id><published>2007-11-01T14:51:00.000-02:00</published><updated>2007-11-01T15:02:00.141-02:00</updated><title type='text'>SQL 2005 Cumulative Update Package #4</title><content type='html'>A Microsoft liberou em 17 de outubro de 2007, um novo pacote de atualizações acumuladas para o banco de dados SQL 2005 (após o Service Pack 2).&lt;br /&gt;&lt;br /&gt;A maioria dos bugs corrigidos estão relacionados a ferramentas auxiliares do SQL, tais como Integration Services, Analysis Services, ou ainda, recursos menos utilizados, como replicação e database mirroring.&lt;br /&gt;&lt;br /&gt;Porém, um bug em particular chamou a atenção, foi o de 50001716, que foi identificado por deixar as &lt;em&gt;queries&lt;/em&gt; mais lentas do que na versão 2000, quando utilizado o operador LIKE. Segundo a Microsoft, o &lt;em&gt;engine&lt;/em&gt; escolhe a versão sub-otimizada do plano de execução quando encontra este operador.&lt;br /&gt;&lt;br /&gt;Segue link para mais detalhes.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/941450/LN/"&gt;&lt;span style="font-size:78%;"&gt;http://support.microsoft.com/kb/941450/LN/&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-8987126117467715552?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/8987126117467715552/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=8987126117467715552' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/8987126117467715552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/8987126117467715552'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2007/11/sql-2005-cumulative-update-package-4.html' title='SQL 2005 Cumulative Update Package #4'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-5641179768483420788</id><published>2007-10-22T12:33:00.000-02:00</published><updated>2007-10-22T12:37:22.881-02:00</updated><title type='text'>Versão do SQL e Service-Pack aplicado</title><content type='html'>Ok, você executou o comando &lt;em&gt;SELECT @@VERSION&lt;/em&gt; e o resultado não foi muito claro...&lt;br /&gt;&lt;br /&gt;Segue link para uma tabela/lista das versões e service-packs do SQL Server (todas as versões).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sqlsecurity.com/FAQs/SQLServerVersionDatabase/tabid/63/Default.aspx"&gt;&lt;span style="font-size:78%;"&gt;http://www.sqlsecurity.com/FAQs/SQLServerVersionDatabase/tabid/63/Default.aspx&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-5641179768483420788?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/5641179768483420788/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=5641179768483420788' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/5641179768483420788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/5641179768483420788'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2007/10/verso-do-sql-e-service-pack-aplicado.html' title='Versão do SQL e Service-Pack aplicado'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-3553921509802071672</id><published>2007-10-21T23:44:00.000-02:00</published><updated>2007-10-22T12:37:53.342-02:00</updated><title type='text'>SQL Server 2005</title><content type='html'>Você ainda não migrou seu banco de dados para a última versão do Microsoft SQL Server ?&lt;br /&gt;&lt;br /&gt;Não sabe o que está perdendo...&lt;br /&gt;&lt;br /&gt;O SQL Server 2005 está mais robusto, mais confiável, mais seguro, e ainda mais fácil de usar !&lt;br /&gt;&lt;br /&gt;Para pequenos negócios (databases até 4Gb), a versão &lt;strong&gt;SQL 2005 Express Edition é gratuita&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Para quem está achando que estou ganhando comissão da Microsoft para vender seu produto, está enganado, somente gostaria de comentar que não precisei modificar uma única linha sequer das minhas aplicações Delphi (com ADO) para rodar a nova versão.&lt;br /&gt;&lt;br /&gt;Apenas tive que padronizar os &lt;em&gt;JOINS&lt;/em&gt; dos comandos &lt;em&gt;SELECT&lt;/em&gt; para se adequar ao &lt;em&gt;SQL ANSI 92&lt;/em&gt;, porque a versão 2005 não aceita mais o comando "&lt;em&gt;*=&lt;/em&gt;" para designar um &lt;em&gt;LEFT OUTER JOIN&lt;/em&gt;. Agora você deve especificar a cláusula &lt;em&gt;FROM&lt;/em&gt; corretamente.&lt;br /&gt;&lt;br /&gt;No mais, nenhuma dificuldade.&lt;br /&gt;&lt;br /&gt;Consulte as &lt;em&gt;TOP 30 Features&lt;/em&gt; do produto no site da Microsoft.&lt;br /&gt;&lt;a href="http://www.microsoft.com/sql/prodinfo/features/top30features.mspx"&gt;&lt;span style="font-size:78%;"&gt;http://www.microsoft.com/sql/prodinfo/features/top30features.mspx&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-3553921509802071672?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/3553921509802071672/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=3553921509802071672' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/3553921509802071672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/3553921509802071672'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2007/10/sql-server-2005.html' title='SQL Server 2005'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-5189866806672506408</id><published>2007-10-21T23:01:00.000-02:00</published><updated>2007-10-21T23:37:07.138-02:00</updated><title type='text'>Script para Reindexar Tabelas e Liberar Espaço</title><content type='html'>Utilizo o script abaixo para verificar o status de todas as tabelas de um database, reindexar os índices das mesmas, e atualizar o espaço utilizado pelos índices.&lt;br /&gt;&lt;br /&gt;Na primeira parte, identifico o nome do database e salvo em uma variável, para uso mais adiante.&lt;br /&gt;&lt;br /&gt;O conceito do script baseia-se num cursor, criado a partir da lista de tabelas, armazenadas na tabela do sistema &lt;em&gt;SysObjects&lt;/em&gt; (se preferir, utilize as tabelas do &lt;em&gt;Information_Schema&lt;/em&gt;).&lt;br /&gt;&lt;br /&gt;O comando para verificar a tabela, é o "&lt;em&gt;dbcc checktable&lt;/em&gt;".&lt;br /&gt;&lt;strong&gt;Detalhe importante&lt;/strong&gt;: o database precisa estar em modo &lt;em&gt;SINGLE_USER&lt;/em&gt; para este comando ser executado com sucesso.&lt;br /&gt;&lt;br /&gt;O comando para reindexar a tabela é o "&lt;em&gt;dbcc dbreindex&lt;/em&gt;".&lt;br /&gt;&lt;br /&gt;O comando para atualizar o espaço utilizado é o "&lt;em&gt;dbcc updateusage&lt;/em&gt;".&lt;br /&gt;&lt;br /&gt;Consulte o BOL para sintaxe dos parâmetros.&lt;br /&gt;&lt;br /&gt;Para usá-lo, abra o &lt;em&gt;Query Analyzer&lt;/em&gt;, e posicione no database desejado.&lt;br /&gt;Ou acrescente na primeira linha, o comando &lt;em&gt;USE&lt;/em&gt;, para selecionar o database, caso necessite executar a partir do utilitário &lt;em&gt;O-SQL&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#009900;"&gt;-- Inicio&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;DECLARE&lt;/span&gt; @DsDatabase &lt;span style="color:#3333ff;"&gt;SYSNAME&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;SELECT&lt;/span&gt; @DsDatabase = D.Name&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;FROM&lt;/span&gt; Master..&lt;span style="color:#009900;"&gt;SysProcesses&lt;/span&gt; P, Master..&lt;span style="color:#009900;"&gt;SysDatabases&lt;/span&gt; D&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;WHERE&lt;/span&gt; P.Dbid = D.Dbid&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;AND P.Spid = &lt;span style="color:#cc33cc;"&gt;@@Spid&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;DECLARE&lt;/span&gt; @NomeTabela &lt;span style="color:#3333ff;"&gt;VARCHAR&lt;/span&gt;&lt;span style="color:#000000;"&gt;(80)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;DECLARE&lt;/span&gt; CursorTabelas &lt;span style="color:#3333ff;"&gt;CURSOR FAST_FORWARD&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#3333ff;"&gt;FOR&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;SELECT&lt;/span&gt; &lt;span style="color:#3333ff;"&gt;DISTINCT&lt;/span&gt; &lt;span style="color:#cc33cc;"&gt;CONVERT&lt;/span&gt;(&lt;span style="color:#3333ff;"&gt;VARCHAR&lt;/span&gt;(80), T.Name) &lt;span style="color:#3333ff;"&gt;AS&lt;/span&gt; Objeto&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;FROM&lt;/span&gt; SysObjects T, SysIndexes I&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;WHERE&lt;/span&gt; T.Type = &lt;span style="color:#ff0000;"&gt;'U'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;AND I.Id = T.Id&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;ORDER&lt;/span&gt; &lt;span style="color:#3333ff;"&gt;BY&lt;/span&gt; Objeto&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;OPEN&lt;/span&gt; CursorTabelas&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;FETCH NEXT FROM&lt;/span&gt; CursorTabelas &lt;span style="color:#3333ff;"&gt;INTO&lt;/span&gt; @NomeTabela&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;WHILE&lt;/span&gt; &lt;span style="color:#cc33cc;"&gt;@@fetch_status&lt;/span&gt; = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#3333ff;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;PRINT&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;'Reindexando tabela '&lt;/span&gt; + @NomeTabela + &lt;span style="color:#ff0000;"&gt;'...'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;IF&lt;/span&gt; (&lt;span style="color:#3333ff;"&gt;SELECT&lt;/span&gt; &lt;span style="color:#cc33cc;"&gt;DATABASEPROPERTYEX&lt;/span&gt; (@DsDatabase, &lt;span style="color:#ff0000;"&gt;'UserAccess'&lt;/span&gt;)) = &lt;span style="color:#ff0000;"&gt;'SINGLE_USER'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;DBCC CHECKTABLE&lt;/span&gt; (@NomeTabela, REPAIR_ALLOW_DATA_LOSS)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;DBCC DBREINDEX&lt;/span&gt; (@NomeTabela)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;DBCC UPDATEUSAGE&lt;/span&gt; (@DsDatabase, @NomeTabela)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;FETCH NEXT FROM&lt;/span&gt; CursorTabelas &lt;span style="color:#3333ff;"&gt;INTO&lt;/span&gt; @NomeTabela&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;color:#3333ff;"&gt;END&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;CLOSE&lt;/span&gt; CursorTabelas&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&lt;span style="color:#3333ff;"&gt;DEALLOCATE&lt;/span&gt; CursorTabelas&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:85%;color:#009900;"&gt;-- Fim&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:85%;color:#009900;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-5189866806672506408?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/5189866806672506408/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=5189866806672506408' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/5189866806672506408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/5189866806672506408'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2007/10/script-para-reindexar-tabelas-e-liberar.html' title='Script para Reindexar Tabelas e Liberar Espaço'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2235986735116944312.post-8745182549877482377</id><published>2007-10-21T22:32:00.000-02:00</published><updated>2007-10-21T23:35:56.043-02:00</updated><title type='text'>Início</title><content type='html'>Olá a todos!&lt;br /&gt;Sou programador SQL Server e Delphi há 10 anos e a internet sempre foi uma fonte riquíssima de recursos - leia-se Google ;)&lt;br /&gt;Portanto, decidi criar este espaço para compartilhar meu humilde conhecimento em desenvolvimento de software, e ouvir novas opiniões.&lt;br /&gt;&lt;br /&gt;Espero que gostem, comentem por favor!&lt;br /&gt;&lt;br /&gt;Atualmente, dirijo uma empresa de desenvolvimento de software sob medida, ou seja, no jargão da área, uma fábrica de software. Fazemos o sistema conforme as necessidades do cliente, "pacote" aqui nem pensar...&lt;br /&gt;&lt;br /&gt;Visite: &lt;a href="http://www.mdssistemas.inf.br/"&gt;http://www.mdssistemas.inf.br/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Entre em contato: &lt;a href="mailto:periclessevegnani@yahoo.com.br"&gt;periclessevegnani@yahoo.com.br&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2235986735116944312-8745182549877482377?l=blogsqlserver.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogsqlserver.blogspot.com/feeds/8745182549877482377/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2235986735116944312&amp;postID=8745182549877482377' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/8745182549877482377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2235986735116944312/posts/default/8745182549877482377'/><link rel='alternate' type='text/html' href='http://blogsqlserver.blogspot.com/2007/10/incio.html' title='Início'/><author><name>Péricles Sevegnani</name><uri>http://www.blogger.com/profile/06970611035107949586</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://1.bp.blogspot.com/_IJQgdmlPG08/S0qQzAuEBdI/AAAAAAAAACU/VjmXusg6pv0/S220/PericlesViacredi.jpg'/></author><thr:total>1</thr:total></entry></feed>
