Mover um arquivo de dados/log para outro local
SQL ServerArmazenamentoComando
-- 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;O que faz
Altera a localização física de um arquivo do banco: o novo caminho é definido nos metadados, o arquivo é movido fisicamente com o banco offline e então o banco volta a ficar online.
Quando usar
Ao substituir um disco ou mover para outra unidade para ganhar espaço.
Atenção
OFFLINE + ROLLBACK IMMEDIATE derruba todas as conexões ativas; planeje o downtime. Não coloque o banco ONLINE antes de copiar de fato o arquivo para o novo caminho no SO, senão o banco fica SUSPECT. O tempdb exige outro método (MODIFY FILE + restart do serviço do SQL Server).