Share via


MSSQLSERVER_802 - Database Engine 錯誤

適用於:SQL Server

詳細資料

屬性
產品名稱 SQL Server
事件識別碼 802
事件來源 MSSQLSERVER
元件 SQLEngine
符號名稱 NO_BUFS
訊息文字 緩衝集區裡沒有足夠的可用記憶體。

注意

本文著重於 SQL Server。 如需針對 Azure SQL Database 記憶體不足問題進行疑難排解的資訊,請參閱 使用 Azure SQL Database 針對記憶體不足錯誤進行疑難排解。

說明

當緩衝集區已滿且緩衝集區無法擴大時,就會造成此狀況。

使用者動作

下列清單概述有助於針對記憶體錯誤進行疑難排解的一般步驟:

  1. 確認其他應用程式或服務是否在此伺服器上耗用記憶體。 重新設定較不重要的應用程式或服務以耗用較少的記憶體。

  2. 開始收集 SQL Server 的效能監視器計數器:緩衝區管理員 、SQL Server :記憶體管理員

  3. 檢查下列 SQL Server 記憶體組態參數:

    • 最大伺服器記憶體

    • 最小伺服器記憶體

    • 每個查詢的最小記憶體

    請注意任何不尋常的設定,並視需要加以更正。 考慮 SQL Server 的記憶體需求增加。 預設設定會列在 [伺服器記憶體組態選項 ] 中

  4. 觀察 DBCC MEMORYSTATUS 輸出,以及當您看到這些錯誤訊息時變更的方式。

  5. 檢查工作負載(並行會話數目,目前正在執行查詢)。

下列動作可能會讓 SQL Server 有更多記憶體可用:

  • 如果 SQL Server 以外的應用程式正在耗用資源,請嘗試停止這些應用程式或在個別伺服器上執行它們。

  • 如果您已設定 最大伺服器記憶體 ,請增加其設定。 如需詳細資訊,請參閱 手動 設定選項。

執行下列 DBCC 命令以釋放數個 SQL Server 記憶體快取。

  • DBCC FREESYSTEMCACHE

  • DBCC FREESESSIONCACHE

  • DBCC FREEPROCCACHE

如果問題持續發生,您必須進一步調查並可能減少工作負載。