DBCC CHECKDB REPAIR_REBUILD con ejemplo

Contenido

Como administradores de bases de datos, debe ejecutar el comando DBCC CHECKDB para verificar la coherencia física y lógica de su base de datos SQL. Estas comprobaciones pueden fallar debido a corrupción en la base de datos. Si DBCC CHECKDB informa errores de consistencia, debe identificar la causa raíz detrás de la corrupción de la base de datos para encontrar la mejor solución posible para corregir los errores.

Posibles razones detrás de la corrupción de la base de datos SQL

Las siguientes son las razones más comunes que conducen a la corrupción de la base de datos de SQL Server:

  • Hardware defectuoso: Compruebe si hay defectos en los controladores de disco, controladores de dispositivos u otros componentes de hardware. Si los errores de consistencia se deben a problemas de hardware, asegúrese de que la configuración del dispositivo de hardware cumpla con los Requisitos de entrada/salida del motor de base de datos de Microsoft SQL Server . O bien, comuníquese con su proveedor de hardware o fabricante del dispositivo para resolver los problemas de hardware subyacentes.
  • Errores en el software SQL: Si no puede encontrar ningún problema con el hardware subyacente, verifique si hay errores de software, ya que se sabe que Microsoft causa daños en el índice o pérdida de datos mientras ejecuta un reconstrucción de índice en línea en SQL Server 2012/2014 .
  • Ataque de virus o malware: Los archivos de la base de datos SQL pueden corromperse debido a un ataque de virus o malware, haciendo que los archivos sean inaccesibles.

Si no se detectan problemas de hardware o software, la mejor solución para reparar la corrupción es restaurar la base de datos desde la copia de seguridad más reciente. Si no hay una buena copia de seguridad, puede corregir los errores ejecutando el comando DBCC CHECKDB con una opción de reparación necesaria para corregir errores específicos. La siguiente sección discutirá cómo corregir los errores de corrupción de la base de datos cuando se recomienda ‘REPAIR_REBUILD’ como el nivel mínimo de reparación para resolver todos los errores informados por DBCC CHECKDB.

¿Cómo reparar una base de datos SQL corrupta usando ‘DBCC CHECKDB con REPAIR_REBUILD’?

El comando REPAIR_REBUILD ayuda a reconstruir páginas corruptas o reparar filas faltantes en índices no agrupados. Puede usarlo para realizar la reparación de la base de datos “sin posibilidad de pérdida de datos”.

Antes de ejecutar el comando ‘DBCC CHECKDB REPAIR_REBUILD’, asegúrese de poner la base de datos en modo SINGLE_USER ejecutando el siguiente comando:

ALTER DATABASE your_dbname SET SINGLE_USER

Esto es importante porque reparar una base de datos SQL y ejecutar un comando DBCC CHECKDB son dos operaciones separadas. Además, una base de datos está en modo MULTIUSUARIO. Y para solucionarlo, debe ponerlo en modo SINGLE_USER para evitar errores.

Una vez que la base de datos esté configurada en modo SINGLE_USER, ejecute el siguiente comando para reparar la base de datos:

DBCC CHECKDB(‘su_nombre_bd’, REPAIR_REBUILD)

Una vez que se repare la base de datos, vuelva a establecer la base de datos en modo MULTI_USER:

ALTER DATABASE your_dbname SET MULTI_USER

Ejemplo de DBCC CHECKDB con REPAIR_REBUILD

Aquí hay un example que muestra un mensaje de error que recomienda ejecutar “repair_rebuild como nivel mínimo de reparación” en la base de datos VLDB.

Siga estos pasos para resolver el error de la tabla:

Paso 1: Abra SQL Server Management Studio (SSMS) y ejecute este comando:

ALTER DATABASE VLDB SET SINGLE_USER CON ROLLBACK INMEDIATO;
Establecer base de datos en modo de usuario único

Paso 2: Una vez que la base de datos esté en modo SINGLE_USER, haga clic derecho en bases de datos y haga clic en Actualizar .

Actualizar la base de datos

Paso 3: Ahora expanda Bases de datos haciendo clic en el “+” icono. Puedes ver el ‘VLDB’ está en modo SINGLE_USER.

Base de datos en modo de usuario único

Etapa 4: Ahora, ejecute el siguiente comando de reconstrucción de reparación DBCC CHECKDB:

Dbcc Comprobar DB Reparación Reconstruir

Si no hay errores, la consulta se ejecutará correctamente. Si es así, ponga la base de datos en modo MULTI_USER.

¿Qué sucede si falla ‘DBCC CHECKDB REPAIR_REBUILD’?

La opción REPAIR_REBUILD solo puede corregir errores menores de corrupción. Por lo tanto, es posible que no resuelva todos los errores informados por CHECKDB y resulte en un error que recomienda “REPAIR_ALLOW_DATA_LOSS como el nivel mínimo de reparación”, como puede ver en la imagen a continuación.

Reparación Permitir pérdida de datos como nivel mínimo de reparación

Ejecute el comando “DBCC CHECKDB con REPAIR_ALLOW_DATA_LOSS” como último recurso para reparar la base de datos, ya que implica un riesgo de pérdida de datos. Una mejor alternativa es utilizar una herramienta profesional de reparación de SQL.

Estelar

Reparación estelar para el software MS SQL puede ayudar a corregir todo tipo de errores de corrupción de la base de datos SQL. Repara el archivo MDF de la base de datos y recupera todos los objetos, lo que le ayuda a restaurar la base de datos a su forma original sin pérdida de datos.

Conclusión

Si obtiene errores de coherencia al ejecutar el comando DBCC CHECKDB, el uso de la opción REPAIR_REBUILD puede ayudar a corregir los errores sin pérdida de datos. Sin embargo, es posible que no resuelva todos los errores de coherencia. Es posible que deba ejecutar DBCC CHECKDB con REPAIR_ALLOW_DATA_LOSS para reparar la corrupción de la base de datos, pero recuerde que puede provocar la pérdida de datos. Usando Reparación estelar para el software MS SQL puede ayudarlo a reparar una base de datos gravemente dañada y restaurarla sin cambios en su forma original.

Related Posts