分享方式:


MSSQLSERVER_845

適用於:SQL Server

詳細資料

屬性
產品名稱 SQL Server
事件識別碼 845
事件來源 MSSQLSERVER
元件 SQLEngine
符號名稱 BUFLATCH_TIMEOUT
訊息文字 等候緩衝閂類型 %d (資料庫識別碼 %d,頁面 %S_PGID) 時發生逾時。

說明

程序等候取得閂鎖,但該程序等候至時間限制過期仍無法取得閂鎖。 如果 I/O 作業花太多時間才完成 (通常是因其他工作封鎖系統程序所導致),便可能發生此錯誤。 在某些案例中,此錯誤可能是硬體故障的結果。

原因

此錯誤訊息取決於您系統的整體環境。 下列任一情況都可能導致過度受阻的系統:

  • 不符合輸入/輸出 (I/O) 和記憶體需求的硬體
  • 未正確設定和測試的設定
  • 效率不佳的設計

當系統負載過重且無法符合工作負載需求時,您可能會發現錯誤 845。 壓力環境最常見的原因包括:

  • 硬體問題
  • 壓縮的磁碟區
  • 非預設 SQL Server 組態設定
  • 沒有效率的查詢或索引設計
  • 頻繁的資料庫 AutoGrow 或 AutoShrink 作業

使用者動作

請嘗試下列命令來防止發生此錯誤:

  • 判斷您是否有任何硬體瓶頸。 請參閱 識別瓶頸 以取得好起點。 如有必要,請升級您的硬體,以便服務環境組態、查詢和負載的需求。

  • 確認您的所有硬體都正常運作。 檢查是否有任何記錄的錯誤,並執行硬體廠商所提供的任何診斷。 檢查錯誤記錄檔或事件記錄檔中是否有相關聯的 I/O 失敗。 I/O 失敗通常指向磁碟故障。

  • 請確定您的磁碟區未壓縮。 不支援將數據和記錄檔儲存在壓縮的磁碟驅動器上,請參閱 資料庫檔案和檔案群組。 如需壓縮磁碟驅動器支援的其他資訊,請檢閱下列文章: 壓縮磁碟區上不支援 SQL Server 資料庫

  • 當您關閉下列所有 SQL Server 組態選項時,查看錯誤訊息是否消失:

  • 微調查詢以減少系統上使用的資源。 效能調整有助於降低系統的壓力,並改善個別查詢的響應時間

  • 將 AutoShrink 屬性設定為 OFF,以減少資料庫大小變更的額外負荷

  • 請確定您將 AutoGrow 屬性設定為足夠大的增量,使其不常發生。 排程作業以檢查資料庫中的可用空間,然後在非尖峰時段增加資料庫大小。

  • 檢查錯誤記錄檔中是否有非產生的工作和其他重大錯誤。 請先解決這些錯誤,因為它們可能指向基礎問題的根本原因。

  • 如果經常發生重大錯誤,例如判斷提示,請解決這些問題

  • 如果 845 錯誤訊息不常發生,您可以忽略錯誤