Sql-Server
伺服器轉移後數據庫變慢
我有一個大數據庫,大約 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 伺服器可以重新建構它將在舊伺服器上擁有的記憶體計劃之前,您的伺服器將會很慢。