適用於:SQL Server
詳細資料
屬性 | 值 |
---|---|
產品名稱 | SQL 伺服器 |
事件識別碼 | 845 |
事件來源 | MSSQLSERVER |
元件 | SQLEngine |
符號名稱 | BUFLATCH_TIMEOUT |
訊息文字 | 等候緩衝閂類型 %d (資料庫識別碼 %d,頁面 %S_PGID) 時發生逾時。 |
說明
程序等候取得閂鎖,但該程序等候至時間限制過期仍無法取得閂鎖。 如果 I/O 作業花太多時間才完成 (通常是因其他工作封鎖系統程序所導致),便可能發生此錯誤。 在某些情況下,此錯誤可能是硬體故障的結果。
原因
此錯誤訊息取決於您系統的整體環境。 下列任何情況都可能導致過度受阻的系統:
- 不符合輸入/輸出 (I/O) 和記憶體需求的硬體
- 未正確設定和測試的設定
- 效率不佳的設計
當系統負載過重且無法符合工作負載需求時,您可能會發現錯誤 845。 壓力環境最常見的原因包括:
- 硬體問題
- 壓縮的磁碟區
- 非預設 SQL Server 組態設定
- 沒有效率的查詢或索引設計
- 頻繁的資料庫自動成長或自動成長作業
使用者動作
請嘗試下列命令來防止發生此錯誤:
判斷您是否有任何硬體瓶頸。 請參閱 識別瓶頸 ,以取得良好的起點。 如有必要,請升級您的硬體,以便服務環境組態、查詢和負載的需求。
確認您的所有硬體都正常運作。 檢查是否有任何記錄的錯誤,並執行硬體廠商所提供的任何診斷。 檢查錯誤記錄檔或事件記錄檔中是否有相關聯的 I/O 失敗。 I/O 失敗通常指向磁碟故障。
請確定您的磁碟區未壓縮。 不支援將數據和記錄檔儲存在壓縮的磁碟驅動器上,請參閱 資料庫檔案和檔案群組。 如需壓縮磁碟驅動器支援的其他資訊,請檢閱下列文章: 壓縮磁碟區上 SQL Server 資料庫的支援描述
當您關閉下列所有 SQL Server 組態選項時,查看錯誤訊息是否消失:
微調查詢以減少系統上使用的資源。 效能調整有助於降低系統的壓力,並改善個別查詢的響應時間。
將 autoshrink 屬性設定為 OFF,以減少資料庫大小變更的額外負荷。
請確定您將 autogrow 屬性設定為大小足以不常遞增的遞增。 排程作業以檢查資料庫中的可用空間,然後在離峰時段增加資料庫大小。
檢查錯誤記錄檔中是否有非產生的工作和其他重大錯誤。 請先解決這些錯誤,因為它們可能指向基礎問題的根本原因。
如果經常發生重大錯誤,例如斷言錯誤,請解決這些問題。
如果 845 錯誤訊息不常發生,您可以忽略錯誤。