MSSQLSERVER_802 - 資料庫引擎 錯誤
適用於:SQL Server
詳細資料
屬性 | 值 |
---|---|
產品名稱 | SQL Server |
事件識別碼 | 802 |
事件來源 | MSSQLSERVER |
元件 | SQLEngine |
符號名稱 | NO_BUFS |
訊息文字 | 緩衝集區裡沒有足夠的可用記憶體。 |
注意
本文著重於 SQL Server。 如需針對 Azure SQL 資料庫 記憶體不足問題進行疑難解答的資訊,請參閱使用 Azure SQL 資料庫 針對記憶體不足錯誤進行疑難解答。
說明
當緩衝池已滿且緩衝池無法擴大時,就會造成此狀況。
使用者動作
下列清單概述有助於針對記憶體錯誤進行疑難解答的一般步驟:
確認其他應用程式或服務是否在此伺服器上耗用記憶體。 重新設定較不重要的應用程式或服務以耗用較少的記憶體。
開始收集 SQL Server 的性能監視器計數器:緩衝區管理員、SQL Server:記憶體管理員。
檢查下列 SQL Server 記憶體組態參數:
最大伺服器記憶體
最小伺服器記憶體
每個查詢的最小記憶體
請注意任何不尋常的設定,並視需要加以更正。 考慮 SQL Server 的記憶體需求增加。 預設設定會列在 [伺服器記憶體組態選項] 中。
觀察 DBCC MEMORYSTATUS 輸出,以及當您看到這些錯誤訊息時變更的方式。
檢查工作負載(並行會話數目,目前正在執行查詢)。
下列動作可能會讓 SQL Server 有更多記憶體可用:
如果 SQL Server 以外的應用程式正在耗用資源,請嘗試停止這些應用程式或在個別伺服器上執行它們。
如果您已設定 最大伺服器記憶體,請增加其設定。 如需詳細資訊,請參閱 手動設定選項。
執行下列 DBCC 命令以釋放數個 SQL Server 記憶體快取。
DBCC FREESYSTEMCACHE
DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE
如果問題持續發生,您必須進一步調查並可能減少工作負載。