sql >> Base de Datos >  >> Database Tools >> SSMS

SQL Server:¿Cómo adjuntar/reparar una base de datos desconectada/dañada?

Puedes intentar una solución alternativa. En resumen:

  1. Cree una base de datos ficticia con el mismo nombre (es posible que primero deba eliminar la base de datos real, guardar los archivos originales o cambiarle el nombre).
  2. Quitar el dummy fuera de línea (separar y (poner fuera de línea o detener el servicio SQL)).
  3. Elimine los archivos ficticios, reemplácelos luego con los archivos DB reales.
  4. Intente volver a adjuntar la base de datos

Editar

Según la nota de comentario de OP, también puede necesitar reconstruir el registro (si perdió transacciones)

  1. ALTER DATABASE [MyDatabase] RECONSTRUIR EL INICIO DE SESIÓN (NOMBRE='MyDatabaseLog',FILENAME='D:\Microsoft SQL Server\YourDataPath\Data\Logfile.ldf')

    y coloque la base de datos en el registro de varios usuarios (quitar la base de datos puede requerir que la ponga en modo de un solo uso)

  2. ALTERAR BASE DE DATOS [nomdb] CONFIGURAR MULTI_USUARIO

Para todos los detalles gore, puede consultar el Artículo de Paul Randal

(Tenga en cuenta que en este artículo el autor usa el MODO DE EMERGENCIA para (intentar) reparar el registro de transacciones)

Ya lo usé con éxito pero dependiendo de la extensión del daño u otros detalles puede ser una tarea imposible. Considere la posibilidad de restaurar una copia de seguridad.

Tenga en cuenta que estas acrobacias están bien en un servidor de desarrollo, pero realmente necesita planificar (y perforar) para la recuperación ante desastres en un servidor de producción.