DBAtlas · データベース運用アトラス

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 以降のセットアップはデフォルトでこれを行う。

DBAtlas で開く →

関連項目