martes, 28 de junio de 2011

Restaurar Base de Datos Master en SQL Server 2000

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

2. Iniciar  el servicio SQL SERVER en modo single-user
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'

7. Modificar la ruta de la base de datos TEMPDB
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
'C:\Program Files\Microsoft SQL Server\MSSQL\Data\msdbdata.mdf',
 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).

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.ldf
go
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