Ir a contenido


MENSAJE DE BIENVENIDA Foro vínculado con Twitter, más info aquí.

“El secreto para progresar es empezar por algún lugar. El secreto para empezar por algún lugar es fragmentar tus complejas y abrumadoras tareas de tal manera que queden convertidas en pequeñas tareas que puedas realizar y entonces simplemente comenzar por la primera.” - Mark Twain

Foto

Recuperación Base Datos Master


  • Please log in to reply
1 reply to this topic

#1 Alberto Dominguez

Alberto Dominguez

    Gurú

  • Administradores
  • 1.059 Mensajes:
  • LocationMadrid

Escrito 17 mayo 2010 - 21:40

Opción 1: El Servicio Arranca:
1.- Iniciar servicio en Single User Mode (sqlservr.exe -m)
(Ejecutar en una ventana de comandos dentro de la ruta de la instancia en cuestión en la carpeta \binn)
2.- Restore Database
(Hacer el restore en otra ventana de comandos desde sqlcmd)

Opción 2: El Servicio No Arranca SQL 2005:
1.- Rebuild (desde Disco de Instalación: start /wait setup.exe /qn INSTANCENAME=<ID Instancia> REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=<sa password>)
2.- Iniciar servicio en Single User Mode (sqlservr.exe -m) o (sqlservr.exe -m -sSQLINSTANCE2)
(Ejecutar en una ventana de comandos dentro de la ruta de la instancia en cuestión en la carpeta \binn, la ventana se quedará en espera)
3.- Restore Database o Attach (sp_attatch_db...)
(Hacer el restore en otra ventana de comandos desde sqlcmd, una vez realizado la otra ventana en espera devuelve el prompt.)

Ejemplo del Rebuild en SQL 2005:
start /wait setup.exe /qn INSTANCENAME=MSSQLSERVER REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=Pa$$w0rd

start /wait setup.exe /qn INSTANCENAME=SQLINSTANCE2 REINSTALL=SQL_Engine REBUILDDATABASE=1 SAPWD=Pa$$w0rd


Opción 2: El Servicio No Arranca SQL 2008:
1.- Rebuild (desde Disco de Instalación: start /wait setup.exe /ACTION=REBUILDDATABASE /INSTANCENAME=<ID Instancia> /SQLSYSADMINACCOUNTS=<Admin User>)
2.- Iniciar servicio en Single User Mode (sqlservr.exe -m) o (sqlservr.exe -m -sSQLINSTANCE2)
(Ejecutar en una ventana de comandos dentro de la ruta de la instancia en cuestión en la carpeta \binn, la ventana se quedará en espera)
3.- Restore Database o Attach (sp_attatch_db...)
(Hacer el restore en otra ventana de comandos desde sqlcmd, una vez realizado la otra ventana en espera devuelve el prompt.)
A veces hay que añadir al restore la clausula WITH REPLACE, porque si no da error 3154


Ejemplo del Rebuild en SQL 2008:
start /wait setup.exe /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=ny-sql-01\administrator

start /wait setup.exe /ACTION=REBUILDDATABASE /INSTANCENAME=SQLINSTANCE2 /SQLSYSADMINACCOUNTS=ny-sql-01\administrator

Opción 2: El Servicio No Arranca SQL 2008 R2:
1.- Rebuild (desde Disco de Instalación: start /wait setup.exe /ACTION=REBUILDDATABASE /INSTANCENAME=<ID Instancia> /SQLSYSADMINACCOUNTS=<Admin User> /SAPWD=<Strong Password>)
2.- Iniciar servicio en Single User Mode (sqlservr.exe -m) o (sqlservr.exe -m -sSQLINSTANCE2)
(Ejecutar en una ventana de comandos dentro de la ruta de la instancia en cuestión en la carpeta \binn, la ventana se quedará en espera)
3.- Restore Database o Attach (sp_attatch_db...)
(Hacer el restore en otra ventana de comandos desde sqlcmd, una vez realizado la otra ventana en espera devuelve el prompt.)
A veces hay que añadir al restore la clausula WITH REPLACE, porque si no da error 3154


Ejemplo del Rebuild en SQL 2008 R2:
start /wait setup.exe /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLSERVER /SQLSYSADMINACCOUNTS=ny-sql-01\administrator /SAPWD=Pa$$w0rd

start /wait setup.exe /ACTION=REBUILDDATABASE /INSTANCENAME=SQLINSTANCE2 /SQLSYSADMINACCOUNTS=ny-sql-01\administrator /SAPWD=Pa$$w0rd

Para hacer REBUILD DE LA MASTER EN SQL 2000:
http://msdn.microsof...aa197950(SQL.80).aspx


Saludos,

Alberto Dominguez

Enterprise Architect y Trainer
MCT, MCPD, MCITP, MCITP Dynamics, MCSE, MCSA, MCTS, MCP...
ITIL V3 Foundation Qualification in IT Service Management
Imagen enviadaPerfil Profesional Imagen enviadaTwitter
Imagen enviadaImagen enviadaImagen enviadaImagen enviada

#2 Alberto Dominguez

Alberto Dominguez

    Gurú

  • Administradores
  • 1.059 Mensajes:
  • LocationMadrid

Escrito 11 enero 2011 - 23:08

Por las pruebas que he realizado, no deja hacer Rebuild si tenemos instalado el SP1 o el SP2 en SQL 2005. Con lo que en caso de perder la master deberíamos reinstalar la instancia, actualizar al SP correspondiente y luego restaurar la master, previa colocación de los archivos de las demás bases de datos de la instancia en sus correspondientes paths.

Los pasos serían los siguientes:

1.- El servicio está parado porque hemos perdido la master. Consultar el número de versión de nuestra instancia (ver indicaciones más abajo).
2.- Copiar el directorio de Datos de la instancia a otra ubicación.
3.- Desinstalar la Instancia desde Agregar y Quitar Programas.
4.- Borrar los directorios de la Instancia.
5.- Instalar de nuevo la instancia (con esto conseguimos una master nueva vacía).
6.- Parchear la instancia con los mismos parches que tenía la que hemos desinstalado. Nos tiene que quedar una instancia con el mismo número de versión que la que hemos eliminado.
7.- Parar el servicio de la instancia.
8.- Copiar los archivos de datos de las bases de datos a la ubicación correspondiente (¡Ojo! sólo las bases de datos de la instancia antigua, exceptuando la master).
9.- Desde una ventana de comandos, iniciar el servicio en Single User Mode (sqlservr.exe -m).
10.- Desde otra ventana de comandos, restaurar desde SQLCMD la base de datos master.
11.- Iniciar el servicio.

Algunas consideraciones:

Para hacer el RESTORE, hay que hacerlo desde SQLCMD. Dejo comando para conectar a una instancia desde SQLCMD:

sqlcmd -S ny-sql-01\sqlinstance2

¡Ojo! Importante la -S mayuscula.

Por otro lado, para ver la versión de nuestra instancia:

SELECT SERVERPROPERTY('productversion')
También podemos ver el número de versión de cada instancia desde el wizard de desinstalación de Agregar y Quitar Programas, si es que no podemos arrancar el servicio, que será lo más probable si hemos perdido la master.

Una vez que conocemos el número, para saber que parches hemos de instalar para dejar la instancia en la misma versión que tenía la antigua antes de desinstalarla, podemos consultar este link: http://sqlserverbuilds.blogspot.com/
Saludos,

Alberto Dominguez

Enterprise Architect y Trainer
MCT, MCPD, MCITP, MCITP Dynamics, MCSE, MCSA, MCTS, MCP...
ITIL V3 Foundation Qualification in IT Service Management
Imagen enviadaPerfil Profesional Imagen enviadaTwitter
Imagen enviadaImagen enviadaImagen enviadaImagen enviada




0 usuarios están leyendo este tema

0 miembro/s, 0 invitado/s, 0 usuario/s anónimo/s