Mover una base de datos en SQL Server es un proceso relativamente sencillo para las bases de datos de usuario. Sin embargo, cuando se trata de mover las bases de datos del sistema, requiere un poco más de trabajo y precaución. En este artículo, discutiremos los pasos involucrados en mover las bases de datos del sistema y proporcionaremos una lista de verificación para garantizar una migración fluida y exitosa.
Paso 1: Copia de seguridad
Antes de comenzar el proceso de migración, es crucial tener copias de seguridad de todas las bases de datos de usuario, así como de las bases de datos master, model y msdb. Esto asegura que tenga un punto de restauración en caso de que algo salga mal durante la migración.
Paso 2: Mover msdb y model
En Enterprise Manager, haga clic derecho en el servidor y elija Propiedades. Haga clic en Parámetros de inicio y agregue un nuevo parámetro “-T3608” (sin las comillas). Detenga SQL Server y vuelva a iniciarlo, asegurándose de que SQL Agent NO esté iniciado. Ejecute los siguientes comandos en Query Analyzer para desacoplar las bases de datos msdb y model:
use master go exec sp_detach_db 'msdb' go exec sp_detach_db 'model' go
Mueva los archivos de datos y registro tanto para msdb como para model a sus nuevas ubicaciones. Luego, ejecute los siguientes comandos en Query Analyzer para adjuntar las bases de datos model y msdb:
use master go exec sp_attach_db 'model', 'RUTA_AL_ARCHIVO_DE_DATOS_DE_MODEL\model.mdf', 'RUTA_AL_ARCHIVO_DE_REGISTRO_DE_MODEL\modellog.ldf' go
Elimine la bandera -T3608 en Enterprise Manager/Server/Properties/Startup Parameters. Detenga SQL Server y vuelva a iniciarlo. Finalmente, ejecute los siguientes comandos en Query Analyzer para verificar las rutas de los archivos:
use model go exec sp_helpfile go
use master go exec sp_attach_db 'msdb', 'RUTA_AL_ARCHIVO_DE_DATOS_DE_MSDB\msdbdata.mdf', 'RUTA_AL_ARCHIVO_DE_REGISTRO_DE_MSDB\msdblog.ldf' go
use msdb go exec sp_helpfile go
Paso 3: Mover tempdb
Ejecute los siguientes comandos en Query Analyzer para modificar las rutas de los archivos de tempdb:
use master go alter database tempdb modify file (name = tempdev, filename = 'RUTA_A_LA_NUEVA_UBICACION_DEL_ARCHIVO_DE_DATOS_DE_TEMPDB\tempdb.mdf') go alter database tempdb modify file (name = templog, filename = 'RUTA_A_LA_NUEVA_UBICACION_DEL_ARCHIVO_DE_REGISTRO_DE_TEMPDB\templog.ldf') go
Detenga SQL Server y vuelva a iniciarlo. Ejecute el siguiente comando en Query Analyzer para verificar las rutas de los archivos:
use tempdb go exec sp_helpfile go
Detenga SQL Server. Mueva los archivos de datos y registro originales de tempdb a una nueva ubicación o cambie su nombre para asegurarse de que SQL Server no los esté utilizando. Inicie SQL Server y ejecute los siguientes comandos en Query Analyzer para verificar si hay errores:
use tempdb go create table test (a int) insert into test (a) values (1) select * from test drop table test go
Elimine los archivos de datos y registro originales de tempdb. Este paso es opcional pero se recomienda para una verificación exhaustiva.
Paso 4: Mover master
Nota: Este paso solo es necesario si está moviendo la base de datos master y todos los archivos que SQL Server utiliza en su ‘ubicación de datos’.
En Enterprise Manager, haga clic derecho en el servidor y elija Propiedades. Haga clic en Parámetros de inicio y elimine cualquier parámetro existente. Agregue los siguientes tres parámetros:
-dRUTA_A_LA_NUEVA_UBICACION_DEL_ARCHIVO_MDF_DE_MASTER\master.mdf -eRUTA_A_LA_NUEVA_UBICACION_DEL_LOG_DE_ERRORES_DE_SQLAGENT\ERRORLOG -lRUTA_A_LA_NUEVA_UBICACION_DEL_ARCHIVO_DE_REGISTRO_DE_MASTER\mastlog.ldf
Detenga SQL Server. Mueva los archivos según se especifica a continuación:
RUTA_ANTIGUA_DEL_ARCHIVO_MDF_DE_MASTER\master.mdf --> RUTA_NUEVA_DEL_ARCHIVO_MDF_DE_MASTER\master.mdf RUTA_ANTIGUA_DEL_ARCHIVO_DE_REGISTRO_DE_MASTER\Data\mastlog.ldf --> RUTA_NUEVA_DEL_ARCHIVO_DE_REGISTRO_DE_MASTER\mastlog.ldf RUTA_ANTIGUA_DE_LA_UBICACION_DE_DATOS_DE_SQL\BACKUP --> RUTA_NUEVA_DE_LA_UBICACION_DE_DATOS_DE_SQL (la carpeta completa con todo lo que contiene) RUTA_ANTIGUA_DE_LA_UBICACION_DE_DATOS_DE_SQL\JOBS --> RUTA_NUEVA_DE_LA_UBICACION_DE_DATOS_DE_SQL (la carpeta completa con todo lo que contiene) RUTA_ANTIGUA_DE_LA_UBICACION_DE_DATOS_DE_SQL\LOG --> RUTA_NUEVA_DE_LA_UBICACION_DE_DATOS_DE_SQL (la carpeta completa con todo lo que contiene) RUTA_ANTIGUA_DE_LA_UBICACION_DE_DATOS_DE_SQL\REPLDATA --> RUTA_NUEVA_DE_LA_UBICACION_DE_DATOS_DE_SQL (la carpeta completa con todo lo que contiene)
Haga los cambios necesarios en el registro utilizando regedit:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer BackupDirectory = RUTA_NUEVA_DE_LA_UBICACION_DE_DATOS_DE_SQL\BACKUP HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Replication WorkingDirectory = RUTA_NUEVA_DE_LA_UBICACION_DE_DATOS_DE_SQL\REPLDATA HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Setup SQLDataRoot = RUTA_NUEVA_DE_LA_UBICACION_DE_DATOS_DE_SQL\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\SQLServerAgent ErrorLogFile = RUTA_NUEVA_DE_LA_UBICACION_DE_DATOS_DE_SQL\LOG\SQLAGENT.OUT WorkingDirectory = RUTA_NUEVA_DE_LA_UBICACION_DE_DATOS_DE_SQL\JOBS
Inicie SQL Server y verifique que la migración haya sido exitosa.
Conclusión
Mover las bases de datos del sistema en SQL Server requiere una planificación y ejecución cuidadosas. Siguiendo los pasos descritos en este artículo, puede garantizar una migración fluida y exitosa. Sin embargo, es importante tener en cuenta que esta lista de verificación es solo una guía y puede necesitar ajustarse según la configuración específica de su sistema. Siempre haga copias de seguridad y proceda con precaución al realizar cambios en las bases de datos del sistema.
¡Gracias por leer!