DMV'S/DMF's

Eae galera tudo certo? Espero que sim =)

  Bom, hoje vou abordar um assunto muito importante na vida de um DBA de SQL SERVER! A utilização das Dynamic Management Views (DMV's) e das Dynamic Management Functions (DMF's). Acredito que a grande maioria aqui ja trabalhou com a versão 2000 do SQL SERVER e devem saber o quanto era dificil monitorar certas coisas relacionadas a performance, um exemplo? Simples! Como você capturava um plano de execução de um procedure no cache? Pois é, você não capturava pois não tinha uma forma de se fazer isso! Isso mudou com o lançamento do SQL SERVER 2005, foram introduzidas as DMV's e as DMF's!

 As DMV's e as DMF's podem lhe fornecer uma informação mais detalhada do que está ocorrendo internamente no SQL SERVER, usadas em conjunto elas se tornam ferramentas extremamente poderosas para investigar a causa de algum problema, monitorar o ambiente dentre outras utilidades.

 Vou listas abaixo as DMV's e DMF's mais utilizadas pelos DBA's hoje em dia e na sequência darei um exemplo de como capturar planos de execução das procedures do cache:


  • sys.dm_exec_cached_plans - Retorna planos armazenados no cache do SQL que permitem a execução mais rápida das queries, no caso o plano que esta sendo utilizado
  • sys.dm_exec_query_stats - Planos armazenados no cache do SQL, planos "antigos" e atuais
  • sys.dm_exec_sessions - Sessões abertas com o SQL Server.
  • sys.dm_exec_connections - Conexões com o SQL Server.
  • sys.dm_db_index_usage_stats - Estatisticas de seeks, scans, lookups por indice.
  • sys.dm_io_virtual_file_stats - Estatisticas de IO para os arquivos das bases de dados.
  • sys.dm_tran_active_transactions - Estado de uma transação no SQL Server.
  • sys.dm_exec_sql_text - Retorna o código T-SQL.
  • sys.dm_exec_query_plan - Retorna o plano de execução.
  • sys.dm_os_wait_stats - Retorna informação sobre os recursos em espera no SQL Server.
  • sys.dm_os_performance_counters - Retorna contadores do performance monitor relacionados ao SQL Server.
Exemplo para capturar planos do cache:

   select * from sys.dm_exec_cached_plans cp
   cross apply sys.dm_exec_query_plan (plan_handle) qp
   cross apply sys.dm_exec_sql_text (plan_handle) st


 Espero que tenham gostado do post! Obviamente que não é só isso que tenho a falar das DMV's e DMF's, então, fiquem atentos nas atualizações do blog =)

 Abraço! 

Nenhum comentário:

Postar um comentário