Tabla de contenido
    Reparacion de base de datos sql

    ¿Cómo Arreglar el Error Fatal 823 en una Base de Datos de SQL Server?


    Tabla de contenido

      A veces recibimos el error 823 en SQL Server y, cuando este error ocurre, es difícil estimar el nivel de gravedad, los problemas que puede causar si persiste y cuál podría ser su causa y solución. En este artículo, mostraremos las causas y la forma de resolver el error 823 en SQL Server.

      ¿Qué es el Error 823 en una Base de Datos de SQL Server?

      Es un problema en SQL Server que puede estar relacionado con:

      1. EL sistema operativo
      2. Un problema de IO

      En este artículo, hablaremos sobre el problema de IO. El mensaje de error será similar a:

      Error: 823, Severity: 24, State: 2.
      2010-03-06 22:41:19.55 spid58 The operating system returned error 38 (Reached the end of the file.) to SQL Server during a read at offset 0x000000a72c0000 in file ‘C:\Program Files\Microsoft SQL Server\ MSSQL\DATA\db.mdf’. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe, system-level error condition that threatens database integrity and must be corrected immediately. It is recommended to complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.

      • El error indicará el archivo de datos (generalmente un archivo .MDF) y la operación de lectura o escritura. El offset es el desplazamiento físico del byte desde el inicio del archivo. Se calcula como la página lógica, que es el número del desplazamiento, dividido en 8192.
      • Error 832 es el número del error. La gravedad 24 implica que podría ser una falla en los medios y que puede ser necesario llamar al proveedor del hardware y/o restaurar la base de datos.
      • El estado 4 se utiliza para diferenciar el error de otros con el mismo número, pero en un estado diferente.

      ¿Qué problemas están asociados al error 823 de IO

      Este problema puede estar relacionado con los siguientes problemas:

      1. Una Página Rota
      2. Un ID Incorrecto de Página
      3. Bytes Insuficientes Transferidos

      ¿Qué es una Página Rota?

      Es una página que se ha escrito de forma incorrecta. Podríamos decir que la Detección de una Página Rota escribe un byte por cada 512 bytes en la página y permite que se detecte cuando la página no está escrita de forma apropiada en el disco, pero no dice si los datos almacenados en el disco son correctos, ya que un par de bytes podrían haberse escrito de forma incorrecta.

      ¿Cuál es el mensaje de error para una página rota?

      El error será como este:

      2015-08-05 16:51:18.90 spid17 Error: 823, Severity: 24, State: 2
      2015-08-05 16:51:18.90 spid17 I/O errors (torn page) detected during read at offset 0x00000094004000 in file ‘c:\Program Files\Microsoft SQL Server\MSSQL\data\tempdb.mdf’

      ¿Cómo detectar un Error de IO en una página rota?

      Puede detectar estos errores cuando ejecuta el comando CHECKDB en su base de datos.

      ¿Qué es un ID Incorrecto de Página?

      Es cuando el ID el encabezado de la página no es el mismo que se espera al leerlo del disco.

      ¿Por qué el error de bytes insuficientes transfiriéndose produce en SQL server?

      Significa que la llamada a la API se invocó con éxito, pero los bytes transferidos no son los esperados.

      ¿Cómo resolver el error 823 de SQL Server?

      El primer paso sería ejecutar el comando DBCC CHECKDB e intentar reparar la base de datos usando lo siguiente:

      DBCC CHECKDB (DB_NAME, REPAIR_REBUILD); 

      La base de datos debe estar en modo de usuario único. Para cambiar al modo de usuario único, puede usar el siguiente comando de T-SQL:

      ALTER DATABASE DB2 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 

      Otra forma de hacerlo es hacer clic derecho en la base de datos en SSMS e ir a la página Options. Para restringir el acceso, seleccione SINGLE USER:

      Stellar

      Establezca la base de datos en modo de usuario único.

      Ejecute “DBCC CHECKDB” nuevamente para verificar que la base de datos fue reparada:

      1. Si el problema persiste, puede ser un problema de hardware, es posible que deba reparar su disco duro. Contacte al equipo de mantenimiento encargado del hardware. Compruebe también si hay problemas de fragmentación en el disco duro.
      2. También puede restaurar su base de datos con una copia de seguridad. Una vez que la base de datos haya sido restaurada, ejecute CHECKDB para verificar si se resolvió el problema.
      3. Si tiene un error de Página Rota, puede usar el comando CHECKSUM para detectar si la página contiene errores.

      Otra opción sería descargar Stellar Repair for MS SQL. Este programa se puede bajar de forma gratuita presionando el botón DESCARGAR GRATIS.

      Stellar

      Este software reparará el archivo .MDF. Primero deberá detener el Servicio de SQL Server. Se recomienda detener el servicio utilizando SQL Server Management Studio (SSMS) o el Administrador de configuración de SQL Server.

      Stellar

      Detenga el Servicio de SQL Server

      Si no sabe dónde están sus archivos de datos, puede usar los siguientes comandos de T-SQL (el servicio SQL Server deberá iniciarse):

      SELECT name, physical_name AS current_file_location FROM sys. master_files 

      Una vez que se especifique el archivo .MDF, presione el botón Repair:

      Stellar

      Nota: Si tiene uno o varios archivos de datos secundarios (archivos .NDF) asociados con su base de datos, coloque todos estos archivos en la ubicación del archivo MDF. Una vez que todo haya sido finalizado, puede reiniciar el servicio de SQL Server y volver a ejecutar el comando CHECKDB.

      La herramienta de reparación de SQL reparará los archivos .MDF y .NDF y ya no verá el error 823 de SQL Server.

      Conclusión

      En este artículo, hemos aprendido varias causas que producen el error 823 en SQL Server y cómo resolver este problema. Este problema puede ser causado por errores en hardware (errores de disco, fallas de energía) o en el sistema. También hemos mostrado cómo resolverlo con un respaldo, usando CHECKDB y finalmente, usando Stellar Repair for MS SQL.

      Stellar Repair for MS SQL es una herramienta simple para reparar SQL. Si tiene alguna consulta, no dude en escribir sus preguntas y comentarios.

      Was this article helpful?

      No NO

      Sobre el autor

      Priyanka Chauhan linkdin

      Priyanka is a technology expert working for key technology domains that revolve around Data Recovery and related software's. She got expertise on related subjects like SQL Database, Access Database, QuickBooks, and Microsoft Excel. Loves to write on different technology and data recovery subjects on regular basis. Technology freak who always found exploring neo-tech subjects, when not writing, research is something that keeps her going in life.

      Publicación relacionada

      POR QUÉ STELLAR® ES LÍDER MUNDIAL

      ¿Por qué elegir Stellar?

      • 0M+

        Clientes

      • 0+

        Años de excelencia

      • 0+

        Ingenieros de I+D

      • 0+

        Países

      • 0+

        SOCIOS

      • 0+

        Premios recibidos