sp_spaceused

Continuando a série dos comandos históricos, vou apresentar o comando sp_spaceused. Embora esse seja um comando antigo, essa é uma das procedures que mais uso no dia a dia. Nos posts anteriores comentei sobre a importância do SET STATISTICS IO e do uso correto do DBCC DROPCLEANBUFFERS. Comentei sobre o DBCC SHOWCONTIG para visualizar a…

4

Desafio: Analisando Servidor com Perfmon

Hoje é dia de desafio! Estou colocando os contadores (na forma gráfica) para que você possa analisar e tirar suas conclusões. Artigo: Perfmon- Falso Sentido de Monitoração Artigo: Os 7 Grandes Mitos do Perfmon: Parte 1: Buffer Cache Hit Ratio, Average Disk Queue Length e %Disk Busy Parte 2: Paging File:%Usage, Memory: Page Faults/sec e…

10

Qual o significado de PREEMPTIVE_OS_PIPEOPS?

Publiquei um post de um cenário na qual o comando KILL que não consegue matar o processo. Desafio: Comando KILL demorado (infinito) Esse foi um desafio (fácil, pelo jeito). A resposta é usar uma ferramenta para matar o processo do NOTEPAD.EXE, seja através de script Powershell, usando o Task Manager ou o comando TASKKILL. Alguns…

8

Desafio: Comando KILL demorado (infinito)

A ideia desse post surgiu há 3 semanas durante um treinamento interno com a equipe de suporte. Desde então tivemos comemorações de Natal e Ano Novo. Espero que todos tenham aproveitado essa época. Aproveito para desejar a todos um ótimo ano de 2014!!! O tópico de hoje é entender um conceito relacionado a threads e…

12

Desafio: Qual a distribuição de memória?

Desde o SQL Server 2000, existem 3 grandes famílias de memória. São elas: Database Cache: Memória dedicada ao cache de páginas de dados (tabelas e índices) Stolen Memory: Memória roubada (!?!?) Free Memory: Memória livre na instância SQL server Qual das figuras abaixo representa uma situação típica de um servidor saudável e atendendo uma alta…

7

Available Memory: Memória Livre no Sistema Operacional

Estou revisando um servidor em relação à quantidade de memória RAM disponível e notei um gráfico bem interessante: quantidade de memória livre em MB ao longo do tempo. Mudando a escala, o gráfico apresenta os vales mais acentuados: Desafio rápido: Seria isso um problema? Resposta: <ainda vou publicar>

6

Desafio: Cadê meu Join?

Dessa vez apresento um desafio curioso que recebi esses dias enquanto estava no escritório. Uma pessoa me apresentou uma consulta SQL que relacionava os dados de cliente com os endereços. SELECT c.* FROM Clientes c LEFT OUTER JOIN Regioes r ON c.regiaoId = r.regiaoId ANDr.regiaoId IS NULL O interessante é que o plano de execução…

12

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

Desafio: Erros gerados em consulta indexada

  No desafio anterior, comentamos sobre a restrição de uso do ORDER BY dentro de uma View. Dessa vez, o desafio está relacionado a uma consulta que passa a gerar erros após a criação de índices. Imagine uma tabela composta pelos campos (ID, Nome, Idade) como na figura abaixo e uma consulta para determinar o…

9

Desafio: Usando ORDER BY dentro de uma VIEW

Deixo compartilhar uma situação que ocorreu no trabalho: o desenvolvedor utilizava uma view para retornar os dados ordenados. Segundo ele, o comando abaixo funcionava no SQL 2000, mas deixou de funcionar no SQL 2005. CREATE VIEW vwOperacao AS SELECT * FROM tbOperacao ORDER BY data Msg 1033, Level 15, State 1, Procedure vwOperacao, Line 4…

6