Cabiar ruta del los archivos de la base de datos

Hola, me gustaria saber como puedo cambiar la ruta del archivo de datos o del registro de transacciones. Gracias

1 respuesta

Respuesta
1
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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas