Sql-Server

伺服器轉移後數據庫變慢

  • August 30, 2019

我有一個大數據庫,大約 250GB,最近我們的系統不得不轉移到一台新機器上。

老機器:

  • 擁有 Windows Server 2008 R2 標準版
  • 執行 SQL Server 2012
  • 32GB 的 RAM,為 SQL MAX RAM 定義了 20GB。
  • 22 個 VCPU

新機:

  • Windows Server 2012 R2 標準版
  • 執行 SQL Server 2012
  • 40GB 的 RAM,為 SQL MAX RAM 定義了 24GB
  • 22 個 VCPU

如您所見,新伺服器應該足以以與舊伺服器相同的性能執行系統,但速度較慢。有時,相同的 Procs 需要多執行 2 到 5 倍(似乎有所不同)。

我試圖解決問題的事情:

  • 啟用標誌 1118(在舊標誌中未啟用)
  • 打開即時文件初始化(在舊版本中也沒有啟動)
  • 將 MAX RAM 設置為 20GB,與舊版本一樣
  • 使用Ola Hallegren 的 SQL Server 維護解決方案重新索引和檢查完整性
  • 更改 SQL 程序優先級

通過在舊伺服器上分離並在新伺服器上附加來傳輸數據庫。

應該需要的任何更多資訊都可以確定我的問題,我很樂意提供。

最後,我不是 DBA,我只是負責一項我不應該做的任務的程序員。

有時,相同的 Procs 需要多執行 2 到 5 倍(似乎有所不同)。

您應該使用sp_recompile 'procedureName'. 這應該是遷移後步驟之一。

要注意的另一件事是,如果您要使用更多最大記憶體(因為您在新伺服器上有更多 RAM),您應該考慮測試並啟用 TF2335

還要檢查伺服器上的電源選項。它應該設置為高性能。

我同意@Phil,請諮詢您的 VM 管理員,看看主機是否在資源方面過度承諾。根據您是否使用 VMWare,有諸如氣球驅動程序*(pdf 白皮書)之*類的東西。對於 Hyper-V,請閱讀使用 Hyper-V 動態記憶體執行 SQL Server白皮書。

在 SQL 伺服器可以重新建構它將在舊伺服器上擁有的記憶體計劃之前,您的伺服器將會很慢。

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