Mensaje de error 823 puede indicar problemas de hardware o problemas del sistema en SQL Server

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 828339
Síntomas
Si recibe el siguiente mensaje de error, podría indicar que Microsoft SQL Server 2000 ha detectado problemas de hardware o de sistema al leer o escribir en archivos de base de datos:
Error 823
Error de E/SError> detectados duranteoperación> en desplazamientodesplazamiento> en el archivo 'archivo>'

Nota: El formato del mensaje de error es ligeramente diferente en Microsoft SQL Server 2005 y versiones posteriores. Sin embargo, los mismos conceptos y discusiones también se aplican a estas versiones también. Para solucionar este problema en SQL Server 2005 y versiones posteriores, consulte el siguiente KB

2015755: Cómo solucionar un error 823 Msg en SQL Server

Para obtener más información acerca de las diversas partes de este mensaje, comoError> yoperación> y para obtener más información acerca del uso de llamadas a la API de Microsoft Windows que se realizan con SQL Server 2000, consulte la sección "Más información" de este artículo.
Solución
SQL Server 2000, se genera el error que se menciona en la sección "Síntomas" de este artículo, si se cumplen las condiciones siguientes:
  • Error del sistema operativo: lee de una llamada a la API de Windows o una llamada de la API de writeWindows no es correcta y SQL Server encuentra un error de sistema operativo que está relacionado a la llamada de la API de Windows. La propiedad errormessage siguiente es un ejemplo de un error 823 para un sistema operativo:
    2003-07-28 09:01:27.38 spid75 Error: 823, gravedad: 24,
    Estado: 2
    error de E/S de 2003-07-28 09:01:27.38 spid75 1117 (el requestcould no se puede realizar debido a un error de dispositivo de E/S.) detectado durante la lectura atoffset 0x0000002d460000 en el archivo ' programa\Microsoft de e:\Program SQLServer\mssql\data\mydb. MDF'
    Excepto por el error del sistema operativo 6 ("el identificador es válido"), errores del sistema operativo que se notifican para 823errors son probablemente relacionada con un problema de hardware o un problema subyacente en el sistema. Si se produce un error del sistema operativo, incluso si el no de la instrucción DBCC CHECKDB informa de un problema, deberá trabajar con su proveedor de hardware, systemadministrator o servicios de soporte técnico de Microsoft para resolver thisproblem.

    Nota: Puede o no puede ver los errores de la instrucción DBCC CHECKDB en la base de datos que está asociado con el archivo en el mensaje de error. Cuando vea un error 823 puede ejecutar instrucción DBCC CHECKDB. Si el CHECKDBstatement de DBCC no informa de los errores, probablemente tenga un problema de disco o de un systemproblem intermitente.
  • Error en la comprobación lógica entrada-salida: si una lectura llamada a la API de Windows o escribir llamada a la API de Windows para un archivo de base de datos es correcta, pero específico logicalchecks en los datos son no correcta (una página rasgada, por ejemplo), un erroris 823 provoca. El mensaje de error siguiente es un ejemplo de un error 823 un /Check error Ological:
    2003-09-05 16:51:18.90 spid17Error: 823, gravedad: 24,
    Estado: 2
    2003-09-05 16:51:18.90 spid17 I Oerror (página rasgada) detectado durante la lectura en offset 0x00000094004000 en file'F:\SQLData\mydb. MDF'...
    Para resolver este problema, ejecute primero la instrucción DBCCCHECKDB en la base de datos que está asociado con el archivo en la propiedad errormessage. Si la instrucción DBCC CHECKDB informa de errores, corregir esos errorsbefore solucionar este problema. Si el problema persiste incluso después de que se han corregido los errores CHECKDB theDBCC o el no de la instrucción DBCC CHECKDB notificar cualquier error, revise el registro de sucesos del sistema de Microsoft Windows NT para anysystem los errores o errores relacionados con el disco. También puede ponerse en contacto con su vendorto de hardware, ejecutar los diagnósticos adecuados.
Más información

Detalles del mensaje de error

Las partes de los siguientes mensajes de 823 error continuación se describen con más detalle:
Error 823
Error de E/SError> detectados duranteoperación> en desplazamientodesplazamiento> en el archivo 'archivo>'
La información del mensaje de 823 error puede explicar con más detalle:
  • Error>: Puede ser anoperating error del sistema o un error de comprobación de E/S lógico. Para un error de sistema operativo, el número de error del sistema operativo sigue "Error de E/S". El texto de error en el sistema theoperating se incluye entre paréntesis después de "error de E/Snúmero de error."

    Para una checkfailure de E/S lógica, el mensaje de error es dentro de los paréntesis y puede ser uno de los siguientes:
    • (página rasgada): para obtener más información acerca de las páginas rasgadas, consulte los libros en pantalla de SQL Server 2000.
    • (página errónea ID): este mensaje significa que el valor de pageID en el encabezado de página no es la página esperada que se ha leído desde el disco. Por ejemplo, si SQL Server 2000 proporciona un archivo de desplazamiento para el archivo de base de datos 1 de página lógica 100, valor de pageID en el encabezado de página para esa página de 8 KB debe ser de 1: 100. Si no, el malo ID. de página se incluye en el mensaje de error de verificación de E/S lógico.
    • (número insuficiente de bytes transferidos): este problema indica que la llamada de la API de Windows tuvo éxito, pero los bytes que se transfirieron no fueron lo que se esperaba.
  • <operation>: Se trata de lectura o escritura.</operation>
  • <offset>: Este es el desplazamiento físico de bytes desde el principio del archivo. Dividiendo este número 8192 le proporcionará pagenumber lógico que se ve afectada por el error.</offset>
  • <file>: Este es el archivo que está asociado a sus/O problema e incluye su ruta de acceso física completa.</file>

API de Windows y de E/S de SQL Server

SQL Server 2000 utiliza llamadas a API de Windows estándar, como WriteFileGather, ReadFileScatter, WriteFile y ReadFile para realizar operaciones de E/S con sus archivos de base de datos. Cuando SQL Server 2000 utiliza las llamadas a la API de Windows, el archivo ya se ha abierto correctamente o SQL Server 2000 no intentaría leer o escribir en él. Por lo tanto, si una llamada a la API de Windows no es correcta y si el error es distinto del error del sistema operativo 6 ("Invalid mango"), se produce el error probablemente se en Windows o un componente de software de nivel inferior, como un controlador de dispositivo. Dado que el error del sistema operativo 6 es un identificador no válido, el problema puede producirse si SQL Server está usando un identificador no válido a hacer una API de Windows llamada. Aún así, esto puede ser un problema del sistema.

Por ejemplo, si se produce el siguiente mensaje de error en el archivo de registro de errores de SQL Server, SQL Server al error de sistema operativo 2 cuando se utiliza una llamada a la API de Windows para escribir en el archivo de base de datos principal de tempdb :
Error: 823, gravedad: 24, estado: 4
Error de E/S 2 (el sistema no puede encontrar el archivo especificado.) detectado durante la escritura en el desplazamiento 0x00000000284000 en el archivo 'D:\Program Files\Microsoft SQL Server\MSSQL\data\tempdb.mdf'
Puesto que SQL Server ha abierto correctamente el archivo y no recibió un error de "Identificador no válido", es probable que se provoca el error en un componente de software del núcleo de nivel inferior, como el sistema de archivos o un controlador de dispositivo. Este problema no indica un problema de SQL Server, y que debe investigarse como un problema con el sistema de archivos o un controlador de dispositivo que está asociado con el archivo.
Referencias
Información diagnóstico adicional para 823 errores puede escribirse en el archivo de registro de errores de SQL Server cuando se utiliza el indicador de traza 818. Para obtener información adicional acerca de esta información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
826433 PRB: Adicional de SQL Server se agregaron diagnósticos para detectar problemas de E/S sin informar
SQL Server requiere sistemas de apoyo "entrega garantizada a medios estables", tal como se describe en el programa de revisión de soluciones de almacenamiento de información de Microsoft SQL Server desplaza. FOPara obtener más información acerca de los requisitos de entrada y salidos para el motor de base de datos de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
967576 Requisitos de entrada/salida de motor base de datos de Microsoft SQL Server

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 828339 - Última revisión: 04/28/2015 04:14:00 - Revisión: 5.0

Microsoft SQL Server 2000 64-bit Edition, Microsoft SQL Server 2000 Analysis Services, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Enterprise Evaluation Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Reporting Services, Microsoft SQL Server 2000 Standard Edition

  • kbprb kbmt KB828339 KbMtes
Comentarios