Mover bases de datos entre servidores en SQL SERVER es generalmente sencillo, pero cuando se trata de la base de datos Master, es un poco más complejo. Aquí va un ejemplo de cómo restaurar la base de datos master en otro servidor.
Vamos a asumir que el SQL SERVER 2000 ya esta instalado en la nueva máquina, y tiene los mismos service packs a nivel de base de datos de la maquina original, ahora seguiremos estos pasos:
1. En la nueva máquina vamos a detener los servicios del SQL SERVER 2000
net stop MSSQLServer
sqlservr -c -m
3. Restaurar la Base de Datos Master en la nueva ubicación a través del SQL Query Analizer
RESTORE DATABASE master FROM disk='c:\oracle\BACKUP'
WITH MOVE 'master' to 'c:\Program Files\Microsoft SQL server\MSSQL\Data\master.mdf',
MOVE 'mastlog' to 'c:\Program Files\Microsoft SQL server\MSSQL\Data\mastlog.ldf',
REPLACE
4.Volver a levantar el servicio de SQL SERVER con las minimas configuraciones
sqlservr -c -f -T3608 -T4022
5. Separar la base de datos Model
exec sp_detach_db N'model'
6. Adjuntar Base de datos model
sp_attach_db 'model','C:\Program Files\Microsoft SQL
Server\MSSQL\Data\model.mdf','C:\Program Files\Microsoft SQL
Server\MSSQL\Data\modellog.ldf'
USE master
go
UPDATE sysdatabases SET
filename='c:\Program Files\Microsoft SQL server\MSSQL\Data\tempdb.mdf'
WHERE name='tempdb'
go
ALTER DATABASE tempdb
MODIFY FILE (name = tempdev, filename =
'c:\Program Files\Microsoft SQL server\MSSQL\Data\tempdb.mdf')
go
ALTER DATABASE tempdb MODIFY FILE (name = templog, filename =
'c:\Program Files\Microsoft SQL server\MSSQL\Data\templog.ldf')
go
NOTA: No trate de alterar la tempdb sin haber restaurado la base
de datos model porque obtendra el error
[Microsoft][ODBC
SQL Server Driver][Shared Memory]ConnectionCheckForData
(CheckforData()).
Server: Msg 11, Level 16, State 1, Line 0
General network error. Check your network documentation.
Connection Broken
8. restaurar la base de datos msdb, La base de datos msdb es la que almacena la información de jobs, dts , planes de mantenimiento, para restaurarla es necesario tener acceso a la base de datos tempdb por eso debemos iniciar nuevamente el servicio de SQL SERVER en modo single-user
sqlservr -c -m
RESTORE DATABASE msdb FROM disk='c:\oracle\BACKUP'
WITH MOVE 'msdbdata' TO
sqlservr -c -m
RESTORE DATABASE msdb FROM disk='c:\oracle\BACKUP'
WITH MOVE 'msdbdata' TO
'C:\Program Files\Microsoft SQL Server\MSSQL\Data\msdbdata.mdf',
MOVE 'msdblog' TO
MOVE 'msdblog' TO
'C:\Program Files\Microsoft SQL Server\MSSQL\Data\msdblog.ldf',
REPLACE
Processed 207848 pages for database 'msdb', file 'MSDBData' on file 1.
Processed 1 pages for database 'msdb', file 'MSDBLog' on file 1.
RESTORE DATABASE successfully processed 207849 pages in 75.898 seconds (22.434 MB/sec).
REPLACE
Processed 207848 pages for database 'msdb', file 'MSDBData' on file 1.
Processed 1 pages for database 'msdb', file 'MSDBLog' on file 1.
RESTORE DATABASE successfully processed 207849 pages in 75.898 seconds (22.434 MB/sec).
9.Una vez realizado esto, ya podemos restaurar o adjuntar las bases de datos de usuario y con esto tendremos el servidor disponible nuevamente.
Exec sp_detach_db N'northwind'
Exec sp_attach_db N'northwind', C:\Program Files\Microsoft SQL Server\MSSQL\data\northwnd.mdf, N'd:\mssql7\data\northwnd.ldfgo
Restaurar
RESTORE DATABASE Northwind FROM disk='c:\backups\northwind.BAK'WITH MOVE northwnd_data' TO
'C:\Program Files\Microsoft SQL Server\MSSQL\Data\northwnd.mdf',
MOVE 'northwnd_log' TO
'C:\Program Files\Microsoft SQL Server\MSSQL\Data\northwnd.ldf',
REPLACE
:)
No hay comentarios:
Publicar un comentario