DBAtlas · Atlas de operaciones de bases de datos

Mover un archivo de datos/log a otra ubicación

SQL ServerAlmacenamiento

Comando

-- 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;

Qué hace

Cambia la ubicación física de un archivo de base de datos: la nueva ruta se define en los metadatos, el archivo se mueve físicamente mientras la base de datos está offline y luego la base de datos se pone online.

Cuándo usarlo

Al sustituir un disco o al mover a otra unidad para ganar espacio.

Precaución

OFFLINE + ROLLBACK IMMEDIATE corta todas las conexiones activas; planifique un tiempo de inactividad. No ponga la base de datos ONLINE antes de copiar realmente el archivo a la nueva ruta en el SO, o la base de datos pasa a SUSPECT. tempdb requiere un método distinto (MODIFY FILE + reinicio del servicio de SQL Server).

Abrir en DBAtlas →

Relacionado