SQL Server Tips and Tricks


Olá Pessoal!

Hoje iremos falar sobre SQL Server Tips and Tricks, acompanha aí! \o


  • DBCC (Database Console Commands)

O SQL Server possui uma série de comandos chamados DBCC (Database Console Commands).
Estes comandos são divididos em quatro categorias:


  1. Manutenção (Maintenance)
  2. Diversos (Miscellaneous)
  3. Informação (Informational)
  4. Validação (Validation)

1- Comandos de Manutenção

Fazem alguma manutenção preventiva ou corretiva no banco de dados.

2- Comandos Gerais

Possuem diversas funcionalidades, como alocação de tabela na memória,
ajuda sobre outros comandos DBCC e ‘pinagem’ de tabela.

3- Comandos de Status

Fazem algumas verificações de algumas configurações do banco de dados

4- Comandos de validação


Checagem da “saúde” de alguns objetos do banco de dados como tabelas,
valores das colunas IDENTITY e constraints.


  • Monitor Index Usage (Índice Usage Monitor) Função : sys.dm_db_index_operational_stats ()

Esta função de gerenciamento dinâmico (DMF) retorna as informações detalhadas sobre as atividades de baixo nível
sobre índices, como operações de entrada / saída (I / O), bloqueio , e métodos de acesso.

 Esta função pode fornecer informações valiosas sobre o seu uso do índice. Ao utilizar este DMF, você pode decifrar todos os tipos de
 informações para determinar não apenas quais índices são utilizados, mas também como eles são usados.

 Interessante não? : )


  •  FILLFACTOR e PAD_INDEX  

A opção FILL FACTOR determina quantos % de uma página de dados deve ser preenchido com o índice e quanto deve ser mantido em branco, reservado para inclusões e alterações.

 Ele é uma opção que quando utilizada vai dimensionar o nível folha da tabela com o objetivo de flexibilizar a forma de armazenamento de dados, estabelecendo sempre um fator de quanto será preenchido este nível.

 Por exemplo, se marcarmos FILL FACTOR = 80%, então o SQL Server irá apenas preencher 80% de cada página com os índices. Se você alterar ou incluir dados, o SQL Server consegue reorganizar os índices de maneira mais rápida, pois ele tem 20% de espaço em branco em cada página de dados para poder preencher.
  
 Caso o seu banco seja utilizado apenas para consulta a melhor opção é FILL FACTOR 100%;
   
 O PAD_INDEX realiza um trabalho diferente do FILL FACTOR, PAD_INDEX afeta os outros dois níveis de armazenamento de dados, primeiramente sobre o nível intermediário, que poderiamos chamar de nível tronco e depois o nível raiz, onde existe a menor alocação e concentração de dados. Especificando PAD_INDEX você fixa o espaço nos nós intermediários. 
  
 Normalmente, PAD_INDEX não é necessária a menos que tenha atividade extremamente desequilibrado e não são capazes de reequilibrar  a árvore (o que significa que você precisa para alcançar alta disponibilidade).
  
 Utilizando as opções acima você poderá reduzir o disco I/O, ajudando a impulsionar o desempenho global de seu banco.

  • Checkpoint

Emitido quando você executa um comando Transact-SQL CHECKPOINT. Por padrão, pontos de verificação manuais são executados até a conclusão.

O processo de CHECKPOINT verifica quais as transações comitadas já foram armazenadas com sucesso no arquivo de Transaction Log e pede para que o SQL Server armazene as páginas de dados destas transações, que estão em memória, no arquivo de dados.


  •  Limpeza de cache 
 Imediatamente após o CHECKPOINT, fazemos a limpeza do cache em memória com o comando DBCC DROPCLEANBUFFERS (DROP CLEAN BUFFERS). A query fica assim:

USE DATABASE
GO
CHECKPOINT
GO
DBCC DROPCLEANBUFFERS;
GO

Agora verifique o processo do SQL, já com a memória liberada para o Sistema Operacional.

Para realizar a limpeza de cache de procedures, basta executar:


DBCC FREEPROCCACHE

Bem pessoal, é isso. Espero que tenham gostado.
Fiquem atentos aos próximos posts!

o/

Thallita Celeste

Olá! Sou Thallita, fundadora do blog ThallitaCeleste. Sou Analista de segurança, com fome de conhecimento e grande vontade de ajudar as pessoas ao redor. Aqui, tento manter meu histórico sobre diversos temas. Bem, seja Bem Vindo ao meu Blog! Espero que goste. o/

Nenhum comentário:

Postar um comentário