Sql-Server-2012

伺服器上的所有查詢都變慢了,cpu 正常,可用記憶體充足但 SQL 使用很少

  • May 13, 2020

前幾天我登錄到我們的伺服器,看到 SQL 正在使用 100% 的 cpu,並且伺服器速度慢到爬行。我決定停止 SQL 並重新啟動它。但是,它拒絕正常停止並停止響應。在玩弄它之後,我最終讓它重新啟動並再次執行。

但是,所有針對它的查詢現在都慢了 10-30 倍,並且在某些情況下會影響伺服器的性能。

我一直在尋找解決方案,但我看不到任何解決 SQL 執行緩慢的全球性問題的方法。CPU 使用率沒有異常,並且有大量可用記憶體——事實上,SQL 只使用了大約 300mb,而以前它曾經是大約 20gb,這可能是問題的一部分。

我創建了一個全新的數據庫,當我嘗試填充它時,它比以前慢了大約 30 倍,並且伺服器變得非常無響應。

會不會是一些簡單的需要重置的東西,或者是之前壞了之後需要進行的修復?

當您試圖找出 SQL Server 執行緩慢的原因時,請先檢查以下事項:

  1. 在任務管理器中,CPU 使用者實際上是 sqlserver.exe,還是其他?如果是其他問題,請先排除故障。
  2. 如果它實際上是 sqlserver.exe,請檢查目前正在執行的查詢。最簡單的方法是使用Adam Machanic 出色的 sp_WhoIsActive這是執行它的方法。
  3. 檢查伺服器的等待統計資訊。我最喜歡的方法是使用sp_AskBrent,這是我的儲存過程,它需要 5 秒的等待統計樣本並檢查一些診斷查詢。

有關更多詳細資訊,請查看以下資源:

我建議不要重新啟動 SQL Server,因為這樣您會失去所有收集的統計資訊,並且在重新啟動後,您將無法找出導致使用 DMV 緩慢的原因。我會問你多久更新一次統計數據,重建索引。您是否嘗試找出導致緩慢的原因。不要只是在灌木叢中擊中箭頭,首先要深入了解實際上的瓶頸是查詢或索引不佳,或者可能是資源緊縮。關於任務管理器中的 300MB 記憶體,您不應該參考任務管理器來了解 SQL Server 記憶體使用情況,如果 SQL Server 服務帳戶具有 Locked pages in memory 權限,則它不會顯示正確的值。下面是關於在 SQL Server 中解決性能問題的白皮書 http://technet.microsoft.com/en-us/library/dd672789%28v=sql.100%29.aspx

我建議您查看等待統計數據並進行分析。它可以讓您清楚地了解導致瓶頸的原因

引用自:https://dba.stackexchange.com/questions/69741