MSSQLSERVER_1204

新建日期: 2006 年 7 月 17 日

详细信息

产品名称

SQL Server

产品版本

9.0

产品内部版本号

9.00.1281.60

事件 ID

1204

事件源

MSSQLSERVER

组件

SQLEngine

符号名称

LK_OUTOF

消息正文

SQL Server 数据库引擎的实例此时无法获得 LOCK 资源。请在活动用户较少时重新运行该语句。请询问数据库管理员,检查此实例的锁定和内存配置,或检查是否有长时间运行的事务。

说明

SQL Server 无法获得锁资源。这可能是由以下任一原因导致的:

  • SQL Server 无法从操作系统分配更多的内存,因为其他进程正在使用它,或者因为服务器在配置了 max server memory 选项的情况下运行。
  • 锁管理器使用的内存不会超过可供 SQL Server 使用的内存的 60%。

用户操作

如果您怀疑 SQL Server 无法分配足够的内存,请尝试执行以下操作:

  • 如果除 SQL Server 外的应用程序正在占用资源,请尝试停止这些应用程序,或者考虑在单独的服务器上运行它们。这样其他进程将释放并删除内存供 SQL Server 使用。
  • 如果已配置 max server memory,请增大其设置。

如果您怀疑锁管理器使用了最大可用内存,请识别持有最多锁的事务并终止它。以下脚本将识别持有最多锁的事务:

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

采用最大会话 id,并使用 KILL 命令终止它。