搜尋本站文章

2015-06-30

安裝程式,自動為 tempdb 建立多個資料檔案 - SQL Server 2016 CTP 2

SQL Server 2016 CTP 2 安裝程式,會自動為 tempdb 建立多個資料檔案。
使用多個資料檔案可減少 tempdb 儲存體爭用並明顯產生更好的延展性。


  • 如果的邏輯處理器數目小於或等於 8,使用相同數目的資料檔案做為邏輯處理器。
  • 如果邏輯處理器數目大於 8,使用 8 為資料檔案,然後如果爭用持續,請增加資料檔案數目 (最多的邏輯處理器數目) 的 4 的倍數直到爭用降低至可接受的層級,或變更的工作負載/程式碼。



  • 建立最大化磁碟頻寬所需的最多檔案。使用多個檔案可減少 tempdb 儲存體爭用並明顯產生更好的延展性。
  • 不過,不要建立太多檔案,因為這樣會降低效能及增加管理負擔。



  • 一般來說,請為伺服器上的每一個 CPU 建立一個資料檔 (來負責任何相似性遮罩設定),然後依需要向上或向下調整檔案數。
  • 請注意,雙核心 CPU 被視為兩個 CPU。


-- 01_安裝程式,自動為 tempdb 建立多個資料檔案




-- 02_CPU只有一個核心



-- 03_自動偵測_設定僅使用一個 tempdb 資料檔案



-- 04_刻意調整為超過CPU核心數量的資料檔案,錯誤產生






使用SSMS管理工具,檢視tempdb的資料庫檔案

-- 05_SSMS_檢視tempdb的資料庫檔案



使用TSQL,檢視tempdb的資料庫檔案

USE tempdb
GO
SELECT name N'邏輯名稱' , size/128.0 N'使用的磁碟空間(MB)' ,
CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 N'資料實際上使用的空間(MB)',
case is_percent_growth
 when 0 then concat(growth * 8, 'KB')
 else concat(cast(growth as decimal(5, 2)), '%')
end N'檔案成長方式',
size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 N'剩餘的可用空間(MB)', physical_name N'完整檔案路徑與名稱'
FROM sys.database_files;
GO

-- 06_TSQL_檢視tempdb的資料庫檔案





參考資料

若要降低 SQL Server tempdb 資料庫中的配置爭用的建議
https://support.microsoft.com/en-us/kb/2154845/zh-tw

最佳化 tempdb 效能 - SQL Server 2008 R2
https://technet.microsoft.com/zh-tw/library/ms175527(v=sql.105).aspx

Working with tempdb in SQL Server 2005
https://technet.microsoft.com/en-us/library/cc966545.aspx

tempdb Database - SQL Server 2016 Community Technology Preview 2 (CTP2).
https://msdn.microsoft.com/en-us/library/ms190768.aspx

SQL Server 2016 新功能搶先看 - 動態資料遮罩 / 多重 tempdb 資料檔
http://blogs.technet.com/b/technet_taiwan/archive/2015/06/11/sql-server-2016-new-features-dynamic-data-masking-tempdb.aspx

SQL Server 2016 CTP2 : first thoughts about tempdb database
http://www.dbi-services.com/index.php/blog/entry/sql-server-2016-ctp2-first-thoughts-about-tempdb-database