MSSQLSERVER_1204

Details

Produktname

SQL Server

Produktversion

10.50

Buildnummer des Produkts

10.50.0000.00

Ereignis-ID

1204

Ereignisquelle

MSSQLSERVER

Komponente

SQLEngine

Symbolischer Name

LK_OUTOF

Meldungstext

Die Instanz des SQL Server-Datenbankmoduls kann derzeit keine LOCK-Ressource erhalten. Führen Sie die Anweisung erneut aus, wenn die Zahl der aktiven Benutzer kleiner ist. Bitten Sie den Datenbankadministrator, die Konfiguration der Sperren und des Arbeitsspeichers für diese Instanz zu überprüfen oder nach lange andauernden Transaktionen zu suchen.

Erklärung

SQL Server kann keine Sperrenressource erhalten. Dies kann eine der beiden folgenden Ursachen haben:

  • SQL Server kann keinen zusätzlichen Arbeitsspeicher vom Betriebssystem zuordnen, weil der Arbeitsspeicher von anderen Prozessen verwendet wird oder weil der Server mit der konfigurierten Option max server memory ausgeführt wird.

  • Der Sperren-Manager verwendet nicht mehr als 60 Prozent des für SQL Server verfügbaren Arbeitsspeichers.

Benutzeraktion

Wenn Sie vermuten, dass SQL Server nicht genügend Arbeitsspeicher zuordnen kann, können Sie folgende Maßnahmen durchführen:

  • Wenn andere Anwendungen als SQL Server Ressourcen verbrauchen, versuchen Sie, diese Anwendungen zu beenden, oder führen Sie sie auf einem separaten Server aus. Dadurch wird Arbeitsspeicher von anderen Prozessen für SQL Server freigegeben.

  • Wenn Sie die Option max server memory konfiguriert haben, erhöhen Sie die Einstellung für diese Option.

Wenn Sie vermuten, dass der Sperren-Manager die maximale Menge an verfügbarem Arbeitsspeicher verwendet hat, identifizieren Sie die Transaktion, die die meisten Sperren aufrechterhält, und beenden Sie sie. Das folgende Skript identifiziert die Transaktion mit den meisten Sperren:

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

Nehmen Sie die höchste Sitzungs-ID, und beenden Sie sie mithilfe des KILL-Befehls.