Share via


MSSQLSERVER_1204

Detalhes

Nome do produto

SQL Server

Versão do produto

10.50

Número da compilação do produto

10.50.0000.00

ID do evento

1204

Origem do evento

MSSQLSERVER

Componente

SQLEngine

Nome simbólico

LK_OUTOF

Texto da mensagem

A instância do Mecanismo de Banco de Dados do SQL Server não pode obter um recurso LOCK neste momento. Execute a instrução novamente quando houver menos usuários ativos. Peça ao administrador de banco de dados que verifique a configuração do bloqueio e da memória dessa instância ou as transações de longa execução.

Explicação

O SQL Server não pôde obter um recurso de bloqueio. Isso pode ter sido causado por qualquer uma das seguintes razões:

  • O SQL Server não pode alocar mais memória do sistema operacional porque está sendo usado por outros processos ou o servidor está funcionando com a opção de configuração memória máxima do servidor.

  • O gerenciador de bloqueio não usará mais que 60 por cento da memória disponível para o SQL Server.

Ação do usuário

Se você suspeitar que o SQL Server não pode alocar memória suficiente, tente o seguinte:

  • Se outros aplicativos além do SQL Server estiverem consumindo recursos, tente interromper esses aplicativos ou considere executá-los em um servidor separado. Isso irá liberar memória de outros processos para o SQL Server.

  • Se você tiver configurado a memória máxima do servidor, aumente a definição da memória máxima do servidor.

Se você suspeitar que o gerenciador de bloqueio usou o máximo de memória disponível, identifique a transação que está mantendo a maioria dos bloqueios e a conclua. O script seguinte identificará a transação com a maioria de bloqueios:

SELECT request_session_id, COUNT (*) num_locks
FROM sys.dm_tran_locks
GROUP BY request_session_id 
ORDER BY count (*) DESC

Identifique a ID da sessão mais elevada e encerre-a usando o comando KILL.