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 →

Связанные материалы