Tag Archives: sql

Dicas para otimizar suas funções SQL

Existe uma grande diferença entre escrever uma instrução SQL que funciona e uma que funciona bem e é performática.

Algumas vezes os desenvolvedores estão muito focados em escrever suas queries que apenas resolvam uma tarefa específica sem levar em consideração performance ou o impacto na instancia do SQL server, como por exemplo quantidade de CPU, IO e memória que eles estão consumindo.  Assim, eles comem outros processos do SQL Server durante a execução derrubando toda a instância. Este artigo tentará prover ao desenvolvedor alguns pequenos detalhes que podem ajudar a otimizar as instruções.

Um grande número de livros e “white papers” foram escritos falando sobre performance no SQL server e este artigo não ira de forma alguma substituir o conhecimento que pode ser adiquirido com esses livros e “white papers”. A intenção é prover uma lista rápida para ajudar o desenvolvedor a identificar possíveis gargalos que podem existir no código SQL.

Continue reading Dicas para otimizar suas funções SQL

Uma pequena coleção de comandos DBCC

Existe um número bem legal de comandos DBCC que não fazem nada de mais a não ser checar consistencia no banco de dados. Eu coloque alguns no script abaixo. O primeiro comando é o único considerado mais “perigoso”, isso causará um grande stress no sistema de I/O enquanto efetua a limpesa do cache. Dependendo do workload, isso pode levar alguns minutos, e durante o processo ele pode impactar a performance.

-- A Small Collection of Useful DBCC Commands
-- Glenn Berry
-- August 2010
-- http://glennberrysqlperformance.spaces.live.com/
-- Twitter: GlennAlanBerry

-- Clears out contents of buffer cache
-- Use caution before doing this on a production system!
DBCC DROPCLEANBUFFERS;

-- Clears procedure cache on entire Continue reading Uma pequena coleção de comandos DBCC 

MCM SQL Server 2008 – Retake 3º prova

Bom,,,
acabei de refazer o 3º teste,,,, sabe quando você tem aquela impressão de que não era uma boa ideia ter saido da cama hoje?
Então,,,, a prova foi basicamente a mesma,,, trouxe o meu notebook, pq é o único que tem câmera, detalhe: você tem que ter uma câmera externa se você só tem a interna do notebook pode trata de pedi emprestado pra alguém,,,
Usando o livemeeting o pessoal pede pra você compartilhar o desktop e liberar a câmera,,, abrir o microfone e começar a fazer a prova…
Tenho que esperar até a tarde para descobrir se passei ou não…

O lado ruim do MCM

Como muitas coisas na vida o MCM também tem seu lado ruim…
Não posso dizer que eh um curso ruim mas, existem alguns dias que você não irá querer sair do apartamento, ou pior, vai querer ir embora.
Dependendo do instrutor mesmo que o tópico seja ruim ele ainda consegue extrair alguma coisa, mas tem outros que não fazem a minima questão.
Não vou citar quais pois seria muita falta de educação, eh muito pouco provável que eles leiam meu blog e ainda por cima saibam alguma coisa de português pra tentar responder…
Meu concelho eh, 70% ta no material de pre-leitura, 10% no material dos instrutores e 20% na sua boa vontade de aprender.

Dicas para a viagem

ATENÇÃO !!!! post muuuuuito longo

A ideia desse post é, basicamente, descrever algumas coisas que passamos por lá.
Onde comprar, onde não comprar, como funciona a lavanderia,,, coisas assim,,,,
Vamos começar pelo início de tudo:

  • Preparando para a Viajem

–VTM
Acho que uma das melhores dicas para a viagem é FAÇA um VTM (Visa Travel Money) ele é um cartão de débito, parece com poupança, mas em dólares, você compra em uma casa de câmbio perto de um lugar movimentado (pq? simples, como você vai estar viajando, caso alguma coisa aconteça, algum amigo seu pode transferir dinheiro para a casa de câmbio e assinar o papel para a transferência).
Você transfere o valor em reais para acasa de câmbio, eles convertem em dólares, e colocam na conta do cartão. Qual o seu limite? o valor que você colocar no cartão.
Então qual a vantagem? Você não precisa

Continue reading Dicas para a viagem

MCM SQL Server 2008 – E lá vamos nós…

Recebi o link para acesso ao sharepoint da Microsoft com informações sobre as pessoas que vão fazer o curso junto comigo e acesso ao material dos dias de treinamento,,, tem muita coisa interessante,,,
Hoje ja é o último dia aqui na empresa já providenciei minha mensagem de férias para o email, vai fica uma coisa +/- assim:
“Olá, não estarei disponível durante os dias 29/04 até 28/05 devido a um treinamento. NÃO estarei lendo emails nesse período e apagarei todos os emails recebidos durante ele, caso haja necessidade de contato falar com XXX ou YYY”
Eu seu que é uma mensagem meio pesada, mas é o únido jeito de ter o foco suficiente para esse curso, afinal, é caro e tenho que ficar concentrado nele…

Script de Fragmentação de Índices

Bom,,, o script abaixo analisa todos os objetos de índices da instância do SQL e mostra a fragmentação dos índices… em teoria, quanto maior a coluna fragmentation mais fragmentado estará o índice.

SELECT CONVERT(NVARCHAR(130), SERVERPROPERTY(‘servername’)) AS instancename ,
db.name AS databaseName ,
ps.OBJECT_ID AS objectID ,
ps.index_id AS indexID ,
ps.partition_number AS partitionNumber ,
ps.avg_fragmentation_in_percent AS fragmentation ,
ps.page_count
FROM sys.databases db
INNER JOIN sys.dm_db_index_physical_stats(NULL, NULL, NULL, NULL,
N’Limited’) ps ON db.database_id = ps.database_id
WHERE ps.index_id > 0
AND ps.page_count > 100
AND ps.avg_fragmentation_in_percent > 30
OPTION ( MAXDOP 1 ) ;

Event Log Error – Resolve Partial Assembly failed for Microsoft.VC80.CRT.mui

“Resolve Partial Assembly failed for Microsoft.VC80.CRT.mui” é um erro que fica em System no event log, o Event Id: 59 e Source: SideBySide. Ele é acompanhado por outro erro com o mesmo Event ID e Source:“Generate Activation Context failed for c:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\bin\msmdctr90.DLL. Reference error message: Access is denied”Verifique com qual conta o serviço Performance Logs and Alerts está sendo executado. Provavelmente é o Network Service. Esta conta não tem acesso ao c:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\bin\ (Ou lugar onde você instalou o SQL). Para resolver isso permita que o grupo Performance Log Users tenha acesso à List Folder Contents para esta pasta.

Siga os seguintes passos:

  1. Botão direito em c:\Program Files\Microsoft SQL Server\MSSQL.2\OLAP\bin\ e selecione Sharing and Security…
  2. Selecione a aba Security
  3. Click em Add
  4. Click em Locations e selecione o nome do computador local
  5. Click em Advanced e em seguida em Find Now
  6. Na lista que aparece duplo-click no grupo chamado Performance Log Users
  7. Tenha certeza que a caixa do List Folder Contents esta com Allow selecionado e click em OK