Partilhar via


sys.dm_exec_query_resource_semaphores (Transact-SQL)

Retorna informações sobre o status do sinal do recurso de consulta atual. sys.dm_exec_query_resource_semaphores oferece o status de memória de execução da consulta geral e permite determinar se o sistema pode ter acesso a memória suficiente. Essa exibição complementa as informações da memória obtidas em sys.dm_os_memory_clerks para dar um panorama completo do status da memória do servidor. sys.dm_exec_query_resource_semaphores retorna uma linha para o sinal do recurso normal e outra para o sinal do recurso de consulta pequena.

Nome da coluna

Tipo de dados

Descrição

resource_semaphore_id

smallint

ID não exclusivo do sinal do recurso. 0 para o sinal do recurso normal e 1 para o sinal do recurso da consulta pequena.

ObservaçãoObservação
Este ID é exclusivo em versões do SQL Server anteriores ao SQL Server 2008. Essa alteração pode afetar a execução de consulta de solução de problemas. Para obter mais informações, consulte "Comentários", posteriormente neste tópico.

target_memory_kb

bigint

Conceda o destino de uso em quilobytes.

max_target_memory_kb

bigint

Destino potencial máximo em quilobytes. NULL para o sinal do recurso da consulta pequena.

total_memory_kb

bigint

Memória usada pelo sinal do recurso em quilobytes. Se o sistema estiver sob pressão de memória ou se a memória mínima forçada for concedida com freqüência, esse valor poderá ser maior que os valores de target_memory_kb ou max_target_memory_kb. A memória total é uma soma das memórias disponível e concedida.

available_memory_kb

bigint

Memória disponível para uma concessão nova em quilobytes.

granted_memory_kb

bigint

Total de memória concedida em quilobytes.

used_memory_kb

bigint

Parte fisicamente usada da memória concedida em quilobytes.

grantee_count

int

Número de consultas ativas com concessões atendidas.

waiter_count

int

Número de consultas que esperam as concessões serem atendidas.

timeout_error_count

bigint

Número total de erros de tempo-limite desde a inicialização do servidor. NULL para o sinal do recurso da consulta pequena.

forced_grant_count

bigint

Número total de concessões de memória mínimas forçadas desde a inicialização do servidor. NULL para o sinal do recurso da consulta pequena.

pool_id

int

ID do pool de recursos ao qual pertence este sinal do recurso.

Permissões

Requer a permissão VIEW SERVER STATE no servidor.

Comentários

As consultas que usam exibições de gerenciamento dinâmico com ORDER BY ou agregações podem aumentar o uso da memória e, dessa forma, contribuir para o problema que estão solucionando.

Use sys.dm_exec_query_resource_semaphores para solucionar problemas, mas não o inclua em aplicativos que utilizarão versões futuras do SQL Server.

O recurso Administrador de recursos permite que um administrador de banco de dados distribua recursos de servidor entre pools de recursos, até um máximo de 20 pools. No SQL Server 2008, cada pool se comporta como uma instância de servidor independente pequena e requer dois sinais. O número de linhas retornadas de sys.dm_exec_query_resource_semaphores pode ser até 20 vezes mais do que o retornado no SQL Server 2005.