¿Cómo corregir los errores de consistencia de DBCC CHECKDB?

Contenido

Al ejecutar el comando DBCC CHECKDB en SQL Server, es posible que encuentre un error de consistencia de la base de datos que dice algo como:

?Fecha y horaspid53 DBCC CHECKDB (mydb) ejecutado por MYDOMAINtheuser encontró 15 errores y reparó 0 errores. Tiempo transcurrido: 0 horas 0 minutos 0 segundos. La instantánea de la base de datos interna tiene un LSN de punto de división = 00000026:0000089d:0001 y el primer LSN = 00000026:0000089c:0001. este es solo un mensaje informativo. No se requiere ninguna acción del usuario.?

El mensaje anterior indica la cantidad de errores de coherencia encontrados en la base de datos SQL y cuántos se repararon.

Solución rápida:Puede considerar usar DBCC CHECKDB con opciones de reparación para corregir errores de coherencia de la base de datos. Pero tenga en cuenta que ejecutar dbcc checkdb con ‘REPAIR_ALLOW_DATA_LOSS’ puede provocar la pérdida de datos. Utilice el software Stellar Repair for MS SQL para reparar y restaurar la base de datos SQL mientras mantiene la integridad de los datos. El software puede ayudar a reparar archivos MDF y NDF de SQL Server y recuperar todos los objetos de la base de datos. Descargue la versión de prueba gratuita del software desde el enlace que se proporciona a continuación para comprobar su eficacia.

¿Qué causa los errores de coherencia en la base de datos de SQL Server?

DBCC CHECKDB realiza comprobaciones de coherencia física y lógica en las páginas de la base de datos, las páginas de asignación, las relaciones de índice, etc. Si alguna de estas comprobaciones falla, el comando checkdb informa de los errores de coherencia. Varias razones hacen que DBCC informe errores de coherencia, como problemas en el sistema de hardware o en el motor de SQL Server, daños en el sistema de archivos o páginas dañadas en la memoria.

Antes de intentar resolver el problema de la inconsistencia de la base de datos, primero es importante comprender por qué se han producido los errores de coherencia de la base de datos.

¿Cómo determinar las causas detrás de los errores de coherencia en la base de datos de SQL Server?

Para averiguar qué ha causado los errores de consistencia de la base de datos, considere usar:

1. Registro de eventos del sistema de Windows

Verificar el registro de eventos del sistema de Windows ayuda a determinar si el problema de E/S es responsable de los errores de consistencia de la base de datos de SQL Server. Especifica si la causa detrás de los errores está relacionada con un controlador de disco o un problema de falla de hardware. Hay diferentes ID de eventos registrados en el registro del sistema que puede consultar para encontrar información sobre cómo resolver la causa del error.

Usar:Si sospecha que un problema en el hardware subyacente provoca errores de incoherencia en la base de datos, ejecute el programa de diagnóstico proporcionado por el fabricante del hardware para identificar posibles problemas de hardware.

2. Analice el archivo ERRORLOG de SQL Server

Consulte el registro de errores de SQL Server para ver si se han informado errores, como infracciones de acceso o aserciones. Además, busque Msg 832 en el archivo ERRORLOG para determinar si las páginas de la base de datos en el caché están dañadas.

3. Comando Chkdsk para probar la integridad del sistema de archivos

Los problemas con el sistema de archivos son otra razón que puede resultar en un problema de coherencia en la base de datos SQL. Utilizar elcomando chkdskpara comprobar la integridad del sistema de archivos.

4. SQLIOSim para realizar comprobaciones de integridad en el sistema de disco

Utilice la herramienta SQLIOSim para comprobar la integridad de E/S del sistema de disco. La herramienta puede ayudarlo a descubrir posibles problemas de integridad de datos. Consulte estoEnlacepara obtener más información sobre esta herramienta.

Métodos para corregir errores de consistencia DBCC CHECKDB en la base de datos de SQL Server

Usar:Si el error en cuestión se debe a problemas de hardware o del sistema de archivos, intente resolverlos antes de realizar una restauración o reparación para corregir el error.

Método 1: restaurar la base de datos desde la copia de seguridad

La primera y más recomendada solución que puede probar paracorregir el error de consistencia DBCC CHECKDBes restaurar la base de datos desde una excelente copia de seguridad conocida. Sin embargo, si la copia de seguridad no está actualizada o está dañada, continúe con la siguiente solución.

Método 2: ejecute DBCC CHECKDB con la opción de reparación mínima

Si no es posible restaurar desde la copia de seguridad, intente ejecutar el comando DBCC CHECKDB con la opción de reparación mínima para corregir los errores de coherencia.

DBCC CHECKDB “REPAIR_ALLOW_DATA_LOSS es el nivel mínimo de reparación” que puede intentar resolver los errores. Sin embargo, tenga cuidado, la opción REPAIR_ALLOW_DATA_LOSS, como su nombre lo indica, puede provocar la pérdida de datos. Esencialmente, la opción de reparación puede desasignar datos (como filas, páginas o series de páginas), a los que el usuario no puede acceder ni recuperar.

Lee esto:Cómo reparar una base de datos SQL usando el comando DBCC CHECKDB

¿Qué más puedes hacer?

Utilice una herramienta de reparación de base de datos SQL especializada como Stellar Repair para MS SQL para corregir errores de base de datos y restaurar la base de datos a un estado consistente, manteniendo los datos intactos. Es la mejor alternativa a la opción DBCC CHECKDB Repair_Allow_Data_Loss que ayuda a reparar archivos SQL db (MDF y NDF) severamente dañados y recupera todos los objetos SQL db.

Mire el video a continuación para conocer el proceso de trabajo completo del software:

Conclusión

Los problemas con el sistema de archivos o el hardware o las páginas de la base de datos dañadas en la memoria son algunas de las razones que pueden provocar errores de coherencia de la base de datos informados por DBCC CHECKDB. Puede consultar el Registro de errores de eventos del sistema de Windows o el Registro de errores de SQL Server para obtener más información sobre las causas de los errores y determinar si la resolución del sistema de archivos o el hardware puede solucionar los errores de coherencia. De lo contrario, puede intentar restaurar la base de datos desde una copia de seguridad o ejecutar DBCC CHECKDB con elReparar_permitir_pérdida_de_datosOpción para reparar la base de datos. Si nada funciona, el uso de Stellar Repair para el software MS SQL puede ayudar. El software puede ayudar a restablecer el acceso a la base de datos con unos pocos clics.

Artículos Relacionados