Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Se aplica a: SQL Server
Attribute | Valor |
---|---|
Nombre del producto | SQL Server |
Id. de evento | 824 |
Origen de eventos | MSSQLSERVER |
Componente | SQLEngine |
Nombre simbólico | B_HARDSSERR |
Texto del mensaje | SQL Server detectó un error de E/S de coherencia lógico: %ls. Ocurrió durante %S_MSG de la página %S_PGID en la base de datos con id. %d, desplazamiento %#016I64x, archivo '%ls'. El registro de errores de SQL Server o el registro de errores del sistema operativo pueden contener mensajes adicionales con más detalles. Se trata de una condición de error grave que amenaza la integridad de la base de datos y que se debe corregir de inmediato. Realice una comprobación completa de coherencia de la base de datos (DBCC CHECKDB). Este error puede deberse a muchos factores. Para obtener más información consulte https://go.microsoft.com/fwlink/?linkid=2252374. |
Es posible que aparezca el mensaje de error siguiente en el registro de errores de SQL Server o en el de eventos de aplicación de Windows si se produce un error en una comprobación de coherencia lógica después de leer o escribir una página de base de datos:
2022-11-02 15:46:42.90 spid51 Error: 824, Severity: 24, State: 2.
2022-11-02 15:46:42.90 spid51 SQL Server detected a logical consistency-based I/O error: incorrect pageid (expected 1:43686; actual 0:0). It occurred during a read of page (1:43686) in database ID 23 at offset 0x0000001554c000 in file 'H:\MSSQL16.MSSQLSERVER\MSSQL\DATA\my_db.mdf'. Additional messages in the SQL Server error log or operating system error log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see https://go.microsoft.com/fwlink/?linkid=2252374.
Si una consulta SELECT o DML se ejecuta en este mensaje, se devuelve el mensaje de error a la aplicación y se finaliza la conexión de la base de datos.
Este error indica que Windows informa de que la página se lee correctamente desde el disco, pero SQL Server detectó algún problema en ella. Este error es similar al error 823, solo que Windows no detectó el error. El error 824 normalmente indica un problema en el subsistema de E/S, como errores en la unidad de disco, problemas de firmware, controladores de dispositivo defectuosos, etc. Para obtener más información sobre los errores de E/S, vea el capítulo 2 del documento sobre conceptos básicos de E/S de Microsoft SQL Server.
SQL Server usa las siguientes API de Windows para realizar las operaciones de E/S: ReadFile
, WriteFile
, ReadFileScatter
y WriteFileGather
. Después de realizar estas operaciones de E/S, SQL Server busca condiciones de error asociadas a estas llamadas API. Si se produce un error del sistema operativo en estas llamadas API, SQL Server notifica el error 823. Puede haber situaciones en las que la llamada API de Windows realmente sea correcta, pero que los datos transferidos por la operación de E/S hayan detectado un problema de coherencia lógica. Estos problemas de coherencia lógica se notifican a través del error 824.
El error 824 contiene la información siguiente:
Estas comprobaciones de coherencia lógica son comprobaciones de integridad que SQL Server realiza para asegurarse de que determinados elementos clave de los datos que intervienen en la transferencia de E/S se han mantenido intactos durante la operación de E/S. Las comprobaciones incluyen las de suma de comprobación, página rasgada, transferencia corta, id. de página incorrecto, lectura obsoleta y error de auditoría de página. La naturaleza de las comprobaciones realizadas varía en función de las distintas opciones de configuración en el nivel de base de datos y de servidor.
El mensaje de error 824 suele indicar que hay un problema con el sistema de almacenamiento subyacente, el hardware o un controlador que se encuentra en la ruta de acceso de la solicitud de E/S. Este error puede producirse si hay incoherencias en el sistema de archivos o si el archivo de base de datos está dañado.
Si se produce el error 824, puede probar las siguientes soluciones:
Revise la tabla suspect_pages de msdb
para comprobar si otras páginas (en la misma base de datos o en otras) tienen este problema.
SELECT * FROM msdb..suspect_pages
WHERE (event_type = 1 OR event_type = 2 OR event_type = 3);
Compruebe la coherencia de las bases de datos ubicadas en el mismo volumen (como el que se indica en el mensaje 824) mediante el comando DBCC CHECKDB. Si detecta incoherencias en el comando DBCC CHECKDB
, use las instrucciones del artículo de Knowledge Base Cómo solucionar los errores de coherencia de la base de datos indicados por DBCC CHECKDB.
DBCC CHECKDB;
Si la base de datos que encuentra estos errores 824 no tiene activada la opción de base de datos PAGE_VERIFY CHECKSUM
, hágalo de inmediato. Los errores 824 se pueden producir por otros motivos que no sean un error de suma de comprobación, pero CHECKSUM proporciona la mejor opción para comprobar la coherencia de la página después de que se haya escrito en el disco. Use este script para identificar las bases de datos en las que la opción CHECKSUM no está habilitada:
SELECT * FROM sys.databases
WHERE page_verify_option_desc != 'CHECKSUM';
Revise los registros de eventos de Windows para ver si hay errores o mensajes notificados desde el sistema operativo, un dispositivo de almacenamiento o un controlador de dispositivo. Si están relacionados con este error de alguna manera, debe solucionar esos errores primero. Por ejemplo, aparte del mensaje 824, también puede observar un evento como "El controlador ha detectado un error de controlador en \Device\Harddisk4\DR4" notificado por el disco en el registro de eventos. En ese caso, tiene que evaluar si este archivo está presente en este dispositivo y luego corregir esos errores de disco en primer lugar.
Use la utilidad SQLIOSim para averiguar si estos errores 824 se pueden reproducir fuera de las solicitudes normales de E/S de SQL Server. La utilidad SQLIOSim se incluye en SQL Server 2008 (10.0.x) y versiones posteriores, por lo que no hay necesidad de una descarga independiente.
Consulte al proveedor de hardware o al fabricante del dispositivo para asegurarse de que:
Si el fabricante del dispositivo o el proveedor de hardware le han proporcionado alguna utilidad de diagnóstico, úsela para evaluar el estado del sistema de E/S.
Evalúe si hay controladores de filtro en la ruta de acceso de estas solicitudes de E/S. Puede ejecutar los siguientes comandos para enumerar todos los controladores de filtro del sistema:
fltmc filters
fltmc instances
Si ejecuta una máquina virtual, asegúrese de que todos los controladores de virtualización se actualizan o comprueban con el proveedor de virtualización para obtener más información.
Si el problema no está relacionado con el hardware y tiene una copia de seguridad limpia disponible, úsela para restaurar la base de datos.
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyCursos
Módulo
Implementación del control de errores con Transact-SQL - Training
Implementación del control de errores con Transact-SQL
Documentación
Solución de errores de coherencia de la base de datos notificados - SQL Server
En este artículo se presenta cómo solucionar errores notificados por el comando DBCC CHECKDB.
MSSQLSERVER error 823 - SQL Server
Descripción del error 823 de Microsoft SQL Server (mssqlserver_823), que es una condición de error grave de nivel de sistema que amenaza la integridad de la base de datos y que se debe solucionar inmediatamente, y algunas soluciones comunes.
Administrar la tabla suspect_pages (SQL Server) - SQL Server
Aprenda a administrar la tabla suspect_pages en SQL Server mediante SQL Server Management Studio o Transact-SQL. Las páginas que producen determinados errores son sospechosas.