tempdb にデータファイルを追加する
SQL Serverストレージコマンド
-- Show current tempdb files:
SELECT name, physical_name, size*8/1024 AS size_mb, growth
FROM sys.master_files WHERE database_id = DB_ID(N'tempdb');
-- Add a new file (up to the number of CPU cores, equally sized):
ALTER DATABASE [tempdb]
ADD FILE (
NAME = N'tempdev2',
FILENAME = N'T:\tempdb\tempdb_mssql_2.ndf',
SIZE = 8GB, FILEGROWTH = 1GB
);概要
tempdb にデータファイルを追加して、割り当て (PFS/GAM/SGAM) の競合を減らし I/O を分散する。
使用する場面
tempdb の競合 (PAGELATCH_UP 待機) や tempdb の使用量が多いシステムで。
注意
tempdb のすべてのデータファイルは、同じサイズと同じ拡張増分にする必要がある (比例フィルのため)。追加したファイルは再起動なしですぐに使用される。既存ファイルのサイズが異なる場合は先にすべて揃える。そうしないと新しい (空の) ファイルに不均衡な負荷がかかる。ファイル数は通常コア数に合わせる (最大 8)。SQL Server 2016 以降のセットアップはデフォルトでこれを行う。