Sql-Server
由於成為死鎖的受害者,重新索引作業失敗,但它是凌晨 3 點執行的唯一程序..?
我在維護計劃中有一個重新索引作業,我在凌晨 3 點在給定數據庫中的每個表上執行,因此它不會中斷任何其他工作。
但是它失敗並報告原因是表上的死鎖的受害者 - 我怎樣才能找出除它之外鎖定表的原因是什麼?
您是否啟用了死鎖跟踪標誌(1222 等)?這些將為您提供 SQL Server 的 ERRORLOG 文件(通常在日誌目錄中)中的死鎖轉儲,因此應該可以幫助您深入了解它。有關詳細資訊,請參閱http://msdn.microsoft.com/en-us/library/ms178104(v=SQL.90).aspx 。
可以使用 為目前服務啟用它
DBCC TRACEON (-1, 1222)
。但是,如果您希望 traceflag 永久更改,則需要將 traceflag 放在 SQL Server 的啟動參數 (-T1222
) 上,然後停止並重新啟動 SQL Server。