MSSQLSERVER_1204MSSQLSERVER_1204

세부 정보Details

제품 이름Product Name SQL ServerSQL Server
이벤트 IDEvent ID 12041204
이벤트 원본Event Source MSSQLSERVERMSSQLSERVER
구성 요소Component SQLEngineSQLEngine
심볼 이름Symbolic Name LK_OUTOFLK_OUTOF
메시지 텍스트Message Text SQL Server 데이터베이스 엔진 인스턴스에서 지금 LOCK 리소스를 가져올 수 없습니다.The instance of the SQL Server Database Engine cannot obtain a LOCK resource at this time. 활성 사용자가 적을 때 문을 다시 실행하십시오.Rerun your statement when there are fewer active users. 데이터베이스 관리자에게 이 인스턴스의 잠금 및 메모리 구성이나 장기 실행 트랜잭션을 확인하도록 요청하십시오.Ask the database administrator to check the lock and memory configuration for this instance, or to check for long-running transactions.

설명Explanation

SQL ServerSQL Server에서 리소스를 잠글 수 없습니다. cannot obtain a lock resource. 이 오류는 다음과 같은 문제로 인해 발생할 수 있습니다.This can be caused by either of the following reasons:

  • 다른 프로세스가 사용 중이거나 서버가 max server memory 옵션이 구성된 상태로 동작 중이어서 SQL ServerSQL Server가 운영 체제에서 더 많은 메모리를 할당할 수 없습니다. cannot allocate more memory from the operating system, either because other processes are using it, or because the server is operating with the max server memory option configured.

  • 잠금 관리자는 SQL ServerSQL Server에서 사용 가능한 메모리의 60% 이상을 사용하지 않습니다.The lock manager will not use more than 60 percent of the memory available to SQL ServerSQL Server.

사용자 동작User Action

SQL Server에 충분한 메모리를 할당할 수 없는 경우 다음을 시도하십시오.If you suspect that SQL Server cannot allocate sufficient memory, try the following:

  • SQL Server 외에 다른 응용 프로그램이 리소스를 사용 중인 경우 이 응용 프로그램을 중지하거나 별도의 서버에서 실행합니다.If applications besides SQL Server are consuming resources, try stopping these applications or consider running them on a separate server. 이렇게 하면 다른 프로세스에서 사용하는 메모리를 해제하여 SQL Server에서 사용할 수 있습니다.This will remove release memory from other processes for SQL Server.

  • max server memory를 구성한 경우 설정값을 늘리십시오.If you have configured max server memory, increase max server memory setting.

잠금 관리자가 최대 가용 메모리 양을 사용한 경우 가장 많은 잠금을 보유한 트랜잭션을 확인하여 이를 종료하십시오.If you suspect that the lock manager has used the maximum amount of available memory identify the transaction that is holding the most locks and terminate it. 다음 스크립트를 사용하여 가장 많은 잠금을 보유한 트랜잭션을 확인할 수 있습니다.The following script will identify the transaction with the most locks:

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

가장 높은 세션 ID를 확인하고 KILL 명령을 사용하여 종료하십시오.Take the highest session id, and terminate it using the KILL command.