En algunas ocasiones las base de datos se dañan con fallas de hardware, apagones inesperados del servidor y transacciones interrumpidas incorrectamente. SQL Server provee de sentencias que permiten verificar y reparar una base de datos con inconsistencias o dañada.Antes de realizar el siguiente procedimiento deberia realizar un respaldo de la base de datos dañada si lo permite SQL Server o hacer una copia física de los archivos.
Paso 1: se coloca la base de datos en modo emergencia y usuario único
Alter Database mibd SET SINGLE_USER
Alter Database mibd SET EMERGENCY
Paso 2: Reparar la base datos
DBCC CHECKDB(‘mibd’, REPAIR_ALLOW_DATA_LOSS).
Repita este paso hasta que el mensaje sea ‘0 errores encontrados’ para la base de datos. La sentecia CHECKDB con la opcion REPAIR_ALLOW_DATA_LOSS elimina datos de ser necesario para realizar la reparación o corregir la consistencia de los datos, para una reparación más rápida y sin pérdida de datos pruebe la opcion REPAIR_REBUILD, aunque en ocasiones con esta opción no se repara completamente la base de datos.
Paso 3. Aplicar ajuste en el tamaño de la base de datos y el log
ckup log [TuBaseDeDatos] with Truncate_Only
DBCC SHRINKDATABASE ( [TuBaseDeDatos], 5 )
Paso 4: Regresar a multiusuario y colocar en linea la base de datos
Alter Database mibd SET ONLINE
Alter Database mibd SET MULTI_USER