Diagnósticos de concessão de memória usando o Extended Events no SQL Server 2012 e 2014 aprimorados

Aplica-se a: Microsoft SQL Server 2012 Analysis ServicesSQL Server 2012 DeveloperSQL Server 2012 Enterprise

A Microsoft distribui o Microsoft SQL Server 2012 corrige e correções do Microsoft SQL Server 2014 como arquivos para download. Como as correções cumulativas, cada versão nova contém todos os hotfixes e todas as correções de segurança que foram incluídas no anterior SQL Server 2012 e 2014 corrigir lançamento.

Resumo


Essa atualização adiciona um novo evento estendido: query_memory_grant_usage. Este evento estendido contém as seguintes colunas (campos de evento) e tem como objetivo ajudar a detectar o desempenho de concessão imprecisas ou memória insuficiente. 
Coluna Tipo Descrição
Sql_handle Varbinary(64) Mapa de hash do texto SQL da solicitação. É anulável.
Plan_handle Varbinary(64) Mapa de hash do plano para a execução de SQL. É anulável.
Query_hash Binary(8) Valor binário hash calculado na consulta e usado para identificar as consultas que tenham uma lógica similar. Você pode usar o hash de consulta para determinar o uso de recursos agregados para consultas que diferem somente pelos valores literais.
Query_plan_hash Binary(8) Valor binário hash calculado sobre o plano de execução de consulta e utilizado para identificar planos de execução de consulta semelhantes. Você pode usar o hash do plano de consulta para localizar o custo acumulado de consultas com planos de execução semelhantes.
Ideal_memory_kb UInt(64) Tamanho em KB para concessão de memória ideal.
Granted_memory_kb UInt(64) Concedido a memória em KB.
Used_memory_kb UInt(64) Memória usada em KB.
Usage_percent UInt(32) Memória usada/concedido para filtragem fácil.
DOP UInt(32) Grau de paralelismo.
Granted_percent UInt(32) Memória concedida/ideal para filtragem fácil.

Resolução


Esse problema foi corrigido nos seguintes service packs para o SQL Server:

       Service Pack 3 para o SQL Server de 2014

       Service Pack 4 para o SQL Server 2012 

Informações adicionais


Você pode definir um limite de memória como um filtro para esse novo estendido eventos para que o evento estendido é acionado somente quando a concessão de memória de uma consulta excede o limite.

Referências


Saiba mais sobre a terminologia usada pela Microsoft para descrever as atualizações de software.