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.