Sql-Server
程序試圖解鎖它不擁有的資源
SQL Server 2005 SP4 32 位
我有一個每晚執行的 DBCC CHECKDB 作業。昨晚,工作開始後不久,我收到了以下錯誤。數據庫未處於可疑模式,當我現在執行 CHECKDB 時它會恢復正常。該數據庫是完全可訪問的。我應該擔心嗎?我不想在這一點上回到備份。
2013-04-02 02:10:55.53 spid56 Error: 1203, Severity: 20, State: 1. 2013-04-02 02:10:55.53 spid56 Process ID 56 attempted to unlock a resource it does not own: PAGE: 34:1:388664. Retry the transaction, because this error may be caused by a timing condition. If the problem persists, contact the database administrator. 2013-04-02 02:10:55.58 spid56 Error: 3314, Severity: 17, State: 3. 2013-04-02 02:10:55.58 spid56 During undoing of a logged operation in database 'MY_DATABASE_NAME', an error occurred at log record ID (1342973:12519:37). Typically, the specific failure is logged previously as an error in the Windows Event Log service. Restore the database or file from a backup, or repair the database.
如果這只是一次問題並且 CHECKDB 執行沒有任何錯誤並且您有良好的備份,請不要費心去調查它(除非您想將時間和資源花在不可重現的事情上)。
如果您能夠重現該問題,那麼我建議您
- 在測試環境中複製並使用 Profiler 擷取正在發生的事情。
- 作為一種主動措施,您可能有一個代理作業或 powershell 作業來掃描錯誤日誌(請注意,您可以在 Powershell 作業中放置一個邏輯,僅從上次結束時開始掃描)以查找特定錯誤,例如 Error: 1203或錯誤:3314,然後觸發SQLDIAG以擷取問題發生時實際發生的情況。
如果您需要任何這樣的腳本,請告訴我,我很樂意分享。