Hola, me gustaria saber como puedo cambiar la ruta del archivo de datos o del registro de transacciones. Gracias
1 respuesta
Respuesta de mrivasr
1
1
mrivasr, Java J2ee Jee Oracle BEA JBoss SQL Server
He creado un ejemplo, el detalle es el siguiente: Paso 1: ------- Crear la base de datos, en tu caso no es necesario por que tu base de datos esta creada, USE master GO CREATE DATABASE db_test ON PRIMARY ( NAME = test_primary, FILENAME = 'd:\mssql7\data\test_primary01.mdf', SIZE = 5MB, MAXSIZE = 50, FILEGROWTH = 1MB), FILEGROUP test_DATA ( NAME = test_DATA, FILENAME = 'd:\mssql7\data\test_data01.ndf', SIZE = 10MB, MAXSIZE = 100, FILEGROWTH = 1MB), FILEGROUP test_INDX ( NAME = test_INDX, FILENAME = 'd:\mssql7\data\test_indx01.ndf', SIZE = 10MB, MAXSIZE = 100, FILEGROWTH = 1MB) LOG ON ( NAME = test_LOG, FILENAME = 'd:\mssql7\data\test_log01.ldf', SIZE = 10MB, MAXSIZE = 100, FILEGROWTH = 1MB) GO ALTER DATABASE db_test MODIFY FILEGROUP test_DATA DEFAULT; Paso 2: ------- Ubicarte en la base de datos y verificas la ruta de tus archivos, use db_test go exec sp_helpfile go Paso 3: ------- Ejecutar el comando "sp_detach_db" en la base de datos use master go sp_detach_db 'db_test' Go Paso 4: ------- Realizar una copia de los archivo de la base de datos exec xp_cmdshell 'copy d:\mssql7\data\test_data01.ndf e:\mssql7\data\' exec xp_cmdshell 'copy d:\mssql7\data\test_indx01.ndf e:\mssql7\data\' exec xp_cmdshell 'copy d:\mssql7\data\test_log01.ldf e:\mssql7\data\' exec xp_cmdshell 'copy d:\mssql7\data\test_primary01.mdf e:\mssql7\data\' Paso 5: ------- Atachar nuevamente la base de datos, pero con las nuevas rutas, use master go sp_attach_db 'DB_TEST','e:\mssql7\data\test_data01.ndf', 'e:\mssql7\data\test_indx01.ndf', 'e:\mssql7\data\test_log01.ldf', 'e:\mssql7\data\test_primary01.mdf' Go Verificas y Eso es todo, Microsoft tiene un articulo que te permite realizar esta tarea, el articulo es Q224071: INF: Moving SQL Server Databases to a New Location with Detach/Attach Saludos, MRR