A significant part of sql server process memory has been paged out

Ouch! Você sabe o que essa mensagem significa? 2010-10-31 12:00:00.00 spid1s      A significant part of sql server process memory has been paged out. This may result in a performance degradation. Duration: 0 seconds. Working set (KB): 4620, committed (KB): 1652332, memory utilization: 0%. Pensando na data, dia 31/Out, eu seriamente pensaria em Helloween! Porque essa…

4

Worldwide Online TechDay 2010

Fiz meu primeiro WebCast junto a equipe do TechNet e Comunidades com o apoio dos organizadores Fabio Hara e Nilton Pinheiro. Agradeço a comunidade SQL Server, que participou da palestra em pleno sábado de tarde. Considero que a palestra foi nível 200-300 na escala utilizada pela Microsoft. Download da Apresentação Formato PDF Tópicos Abordados na…

0

Monitorando Alta CPU através da RING BUFFER

Alto consumo de CPU, como monitorar? Recentemente, li um comentário interessante postado pelo Fernando Garcia no post Como Monitorar com Ring Buffer. Ele mencionou o uso do RING BUFFER para diagnosticar alto consumo de CPU. Isso é algo fantástico para um DBA que não tem acesso remoto ao servidor, ou seja, não pode abrir o…

2

Background Task: Checkpoint Process

Checkpoint process é uma tarefa realizada periodicamente em todos os bancos de dados para manter as informações sincronizadas entre os arquivos de Dados e Log. É importante lembrar que as escritas de dados são realizadas de forma assíncrona, ou seja, os comandos de UPDATE, INSERT e DELETE alteram os dados em memória (apesar de manter…

6

NULL or NOT NULL: Qual a diferença?

A idéia começou a partir de um comentário gerado no post Data Buffer, quando o DBA SQL sugeriu a utilização do DBCC PAGE para visualizar os registros dentro de um buffer – enfim, ele queria ver os bits & bytes do SQL Server. Isso me lembrou uma pergunta bastante interessante sobre o comportamento do banco…

6

Erro de Timeout em Query SQL

Hoje o pessoal estava reclamando sobre erros de timeout no SQL Server. Qual seria uma forma eficiente de gerar um trace da aplicação/SQL e identificar quem está causando problemas? Uma forma é gerar um Trace com essas informações e abrir usando a query abaixo. SELECT DatabaseName, TextData, StartTime, EndTime, Duration/1000 as ‘Duration (ms)’, Reads, Writes,…

5

Desafio: Resource Monitor e Paginação de Memória

Esse é um desafio bastante difícil e não ficaria surpreso se aparecesse algo assim na certificação do Microsoft Certified Master. Esse problema envolve o diagnóstico da quantidade de memória disponível no servidor, mas sob uma perspectiva mais abrangente. Torna-se necessário compreender o cenário como um todo ao invés de analisar os erros pontualmente. Estava lendo…

15

Problemas com NOLOCK (SQL Server)

Estava comentando sobre a recomendação indiscriminada do uso do NOLOCK, mas até que ponto isso é bom ou ruim. Se a vantagem em performance é conhecida, quais seriam as desvantagens? Links relacionados Como usar SELECT WITH NOLOCK para melhorar a Performance? Qual a sintaxe correta: NOLOCK ou WITH (NOLOCK)? NOLOCK e INSERT/UPDATE/DELETE Problemas com NOLOCK…

3

Coleta de dados no SQL 2008–Script 3

A terceira parte do script de coleta de dados para diagnóstico de performance está apresentado nesse artigo. A segunda parte era o coração do script e roda em intervalos periódicos de 5 a 15 segundos. Por outro lado, a terceira parte corresponde a parte massiva e que coleta a maior parte das informações. O objetivo…

4

Coleta de dados no SQL 2008–Script 2

A segunda parte do script de coleta de dados para diagnóstico de performance está apresentado nesse artigo. Aqui, os dados serão coletados em intervalos de 5 a 15 segundos. Esse é o coração do blocker script e corresponde a um ponto muito delicado, porque a coleta é realizada frequentemente sem impacto de performance. Links Relacionados…

2

Coleta de dados no SQL 2008–Script 1

A primeira parte do script de coleta de dados para diagnóstico de performance está apresentado nesse artigo. Links Relacionados Blocker Script original: sp_blocker_pss80 Versão SQL2000: Blocker Modificado Coleta de dados no SQL 2008–Script 1  Coleta de dados no SQL 2008–Script 2 Coleta de dados no SQL 2008–Script 3 Versão final: Monitor SQL (Versão atualizada do Blocker…

0

UPDATE WITH (NOLOCK): Como funciona?

Links relacionados Como usar SELECT WITH NOLOCK para melhorar a Performance? Qual a sintaxe correta: NOLOCK ou WITH (NOLOCK)? NOLOCK e INSERT/UPDATE/DELETE Problemas com NOLOCK Efeitos colaterais do NOLOCK – Parte 1 Efeitos colaterais do NOLOCK – Parte 2 O comando NOLOCK avisa o processador do SQL Server para evitar a utilização de bloqueios (LOCK)…

0

LAB: SQL Blocker Script 2000 (Performance)

Blocker Script é uma stored procedure escrita por um engenheiro de suporte (MikeZ), sendo muito utilizado para coletar dados relacionados a bloqueios. Esse script está disponível através do artigo KB 271509. How to monitor blocking in SQL Server 2005 and in SQL Server 2000 http://support.microsoft.com/kb/271509/en-us Esse script tem anos de existência e seu código continua…

10

NOLOCK ou WITH (NOLOCK): Qual a sintaxe correta?

A hint “nolock” permite que o processador do SQL Server não utilize bloqueios (LOCK) durante a leitura de informações, comportamento denominado de leitura suja. Esse é um truque velho e conhecido do SQL Server 2000 e que muitos desenvolvedores tem utilizado. O objetivo desse post é orientar sobre a a sintaxe correta do NOLOCK. Links…

0

Como usar SELECT WITH NOLOCK para melhorar a Performance?

Pode parecer uma dica simples demais, mas tenho observado muitas dúvidas quanto ao uso do NOLOCK. No tempo do SQL 2000, a própria Microsoft (que ninguém me ouça dizendo isso!) recomendava o uso indiscriminado do NOLOCK [sem referência]. Por esse motivo, decidi explicar um pouco seu funcionamento. Conhece o checklist de Performance de servidor? Checklist:…

13