DBAtlas · Атлас эксплуатации баз данных

Перенос файла данных/журнала в другое место

SQL ServerХранение

Команда

-- 1) Tell SQL Server the new path (nothing is moved yet):
ALTER DATABASE [Customer]
MODIFY FILE (NAME = N'Customer_data',
             FILENAME = N'G:\Data\Customer_data.mdf');

-- 2) Take the database offline:
ALTER DATABASE [Customer] SET OFFLINE WITH ROLLBACK IMMEDIATE;

-- 3) Physically copy/move the file to the new path AT THE OPERATING SYSTEM level (G:\Data\...).

-- 4) Bring it online:
ALTER DATABASE [Customer] SET ONLINE;

Что делает

Меняет физическое расположение файла базы данных: новый путь задаётся в метаданных, файл физически переносится, пока база в OFFLINE, затем база переводится в ONLINE.

Когда использовать

При замене диска или переносе на другой диск ради свободного места.

Внимание

OFFLINE + ROLLBACK IMMEDIATE разрывает все активные соединения; планируйте простой. Не переводите базу в ONLINE, пока файл действительно не скопирован по новому пути в ОС, иначе база станет SUSPECT. Для tempdb нужен другой способ (MODIFY FILE + перезапуск службы SQL Server).

Открыть в DBAtlas →

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