本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 tempdb 以減少爭用
建議您使用大小相等且成長係數相等的多個資料檔案來設定 tempdb。
在大量使用 tempdb 的忙碌資料庫伺服器上,您可能會注意到伺服器遇到繁重負載時嚴重封鎖。您可能會注意到任務正在等待指向 tempdb 中頁面的資源。這些頁面可能是格式為 2:x:x (例如 2:1:1 或 2:1:2) 的無頁面空間 (PFS) 和共用全域配置圖 (SGM) 頁面
若要改善 tempdb 並行,您可以增加 tempdb 中的資料檔案數目,以最大化磁碟頻寬並減少配置結構中的爭用。以下是一些指導方針:
-
如果邏輯處理器的數量等於或小於 8:使用相同數量的資料檔案和邏輯處理器。
-
如果邏輯處理器的數量高於 8:使用 8 個資料檔案。
如果爭用持續存在,請增加 4 的倍數中的資料檔案數量,直到爭用修復為止,最多到伺服器上的邏輯處理器數量。這有助於避免 tempdb 中的 SGAM 爭用。如果您使用的是 SQL Server 2014 或更早版本,您也需要啟用追蹤旗標 1118
從 SQL Server 2016 (13.x) 開始,此行為由 的 AUTOGROW_SINGLE_FILE和 AUTOGROW_ALL_FILES選項控制。 ALTER DATABASE例如:
alter database<database name>MODIFY FILEGROUP [PRIMARY] AUTOGROW_ALL_FILES
如需設定這些選項的詳細資訊,請參閱 Microsoft SQL Server 文件