REVISIÓN: mensaje de error "una aserción de sistema comprueba ha fallado" cuando ejecuta una consulta SQL de la transacción en Microsoft SQL Server 2008 o en Microsoft SQL Server 2008 R2


Microsoft distribuye Microsoft SQL Server 2008 y Microsoft SQL Server 2008 R2 corrige como un archivo descargable. Como las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008 o SQL Server 2008 R2.

Síntomas


Cuando ejecuta una consulta SQL de la transacción en Microsoft SQL Server 2008 o en SQL Server 2008 R2, observar los síntomas siguientes:
  • Recibirá un mensaje de error similar al siguiente:
    Ubicación: e:\sql10_katmai_t\sql\ntdbms\storeng\dfs\access\sebind.h:1139

    Expresión: bufferLen > = colLen

    SPID: <SPID>

    Id. de proceso: <ProcessID>

    Msj 3624, nivel 20, estado 1, línea 2

    Error en una comprobación de aserción del sistema. Compruebe el registro de errores de SQL Server para obtener más información. Normalmente, un error de aserción se debe a una corrupción de datos o error de software. Para comprobar si hay daños en la base de datos, considere la posibilidad de ejecutar DBCC CHECKDB. Si decidió enviar volcados a Microsoft durante la instalación, se enviará un mini volcado a Microsoft. Una actualización esté disponible en el Service Pack más reciente o en un QFE del soporte técnico de Microsoft.

    Msj 0, nivel 20, estado 0, línea 0

    Se ha producido un error grave en el comando actual. Los resultados, si los hay, deben descartarse.
  • Se registra un mensaje de error similar al siguiente en el registro de errores de SQL Server:
    <Fecha hora> spid <ID> utilizando 'dbghelp.dll' versión '4.0.5'

    Spid <Hora> <Id.> ** volcar el subproceso - spid = 0, CE = 0x0000000086DC00F0

    Spid <Hora> <Id.> *** volcado de pila enviándose a C:\Program Files\Microsoft SQL Server\MSSQL10. MSSQLSERVER\MSSQL\LOG \SQLDump0001.txt

    <Date Time> spid<ID> * *******************************************************************************

    Spid <Hora> <Id.> *

    Spid <Hora> <Id.> * comenzar el volcado de pila:

    Spid <Hora> <Id.> * <Fecha hora> spid <Id.>

    Spid <Hora> <Id.> *

    spid < hora > < Id. > * ubicación: e:\sql10_katmai_t\sql\ntdbms\storeng\dfs\access\sebind.h:1139

    spid < hora > < Id. > * expresión: bufferLen > = colLen

    spid < hora > < Id. > * SPID: < SPID >

    spid < hora > < Id. > * Id. de proceso: < ProcessID >

    spid < hora > < Id. > *

    spid < hora > < Id. > * bytes de entrada búfer 264 -

    spid < hora > < Id. > * seleccionar * desde el interior de O t1 join t2 T en O.id = T.id y O.tit

    spid < hora > < Id. > * le = T.Title. pedido por O.id, opción O.title (combinación de bucle)

    spid < hora > < Id. > *

    ... ...

    ... ... spid < hora > < Id. > Error: 17066, gravedad: 16, estado: 1.

    spid < hora > < Id. > SQL Server aserción: archivo: < e:\sql10_katmai_t\sql\ntdbms\storeng\dfs\access\sebind.h >, línea = 1139 error de aserción = ' bufferLen > = colLen'. Este error puede ser relacionados con el tiempo. Si el error persiste después de volver a ejecutar la instrucción, utilice DBCC CHECKDB para comprobar la integridad estructural de la base de datos o reinicie el servidor para asegurarse de que las estructuras de datos en memoria no están dañadas.

    spid < hora > < Id. > Error: 3624, gravedad: 20, estado: 1.

    spid < hora > < Id. >

    Error en una comprobación de aserción del sistema. Compruebe el registro de errores de SQL Server para obtener más detalles. Normalmente, un error de aserción se debe a una corrupción de datos o error de software. Para comprobar si hay daños en la base de datos, considere la posibilidad de ejecutar DBCC CHECKDB. Si decidió enviar volcados a Microsoft durante la instalación, se enviará un mini volcado a Microsoft. Una actualización esté disponible en el Service Pack más reciente o en un QFE del soporte técnico de Microsoft.
  • Se genera un archivo de minivolcado en la carpeta que contiene los registros de errores de SQL Server.
Estos problemas se producen cuando se cumplen las condiciones siguientes:
  • La consulta obtiene los datos de dos o más tablas utilizando la instrucción JOIN .
  • Una de las tablas tiene habilitada la compresión de datos.
  • En la tabla tiene una clave de índice agrupado en una columna.
  • La columna hace referencia a columnas de otras tablas que tienen diferentes longitudes.
  • La columna se utiliza en el filtro activado.
  • La consulta utiliza la sugerencia de combinación De bucle o de SQL Server realiza una operación que utiliza la sugerencia de combinación De bucle .

Causa


El problema se produce porque la longitud de los datos de clave es mayor que la longitud del búfer comprimido valor clave.

Solución


Información de actualización acumulativa

SQL Server 2008 Service Pack 1

La corrección para este problema se publicó en primer lugar en 9 de actualización acumulativa para SQL Server 2008 Service Pack 1. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2083921 actualización acumulativa 9 para SQL Server 2008 Service Pack 1
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Microsoft recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
970365 the SQL Server 2008 generaciones que se publicaron después del lanzamiento de SQL Server 2008 Service Pack 1
Las revisiones de Microsoft SQL Server 2008 se crean para determinados service Pack de SQL Server. Debe aplicar un hotfix de SQL Server 2008 Service Pack 1 en una instalación de SQL Server 2008 Service Pack 1. De forma predeterminada, cualquier hotfix suministrada en un service pack de SQL Server se incluye en el próximo service pack de SQL Server.

SQL Server 2008 Service Pack 2

La corrección para este problema se publicó primero en la actualización acumulativa 1 para SQL Server 2008 Service Pack 2. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2289254 acum actualización 1 para SQL Server 2008 Service Pack 2
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
2402659 the SQL Server 2008 generaciones que se publicaron después del lanzamiento de SQL Server 2008 Service Pack 2

SQL Server 2008 R2

La corrección para este problema en primer lugar se publicó en la actualización acumulativa 4. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008 R2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2345451 paquete de actualización acumulativa 4 para SQL Server 2008 R2
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008 R2. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
981356 el SQL Server 2008 R2 se basa que se publicaron después del lanzamiento de SQL Server 2008 R2

Información de la revisión

Existe un hotfix disponible desde Microsoft. Sin embargo, esta revisión se diseñó para corregir únicamente el problema que se describe en este artículo. Aplíquela sólo a sistemas que experimenten este problema específico.

Si la revisión está disponible para su descarga, hay una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, envíe una solicitud al servicio de atención al cliente y soporte técnico para obtener la revisión.

Nota: Si se producen problemas adicionales o si se requiere cualquier otra solución, será necesario crear una solicitud de revisión independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no califican para esta revisión específica. Para obtener una lista completa de los números de teléfono de servicio al cliente de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:Nota: El formulario de "Descarga de Hotfix disponible" muestra los idiomas para los que el Hotfix está disponible. Si no ve su idioma, es porque no hay una revisión para ese idioma.

Requisitos previos

Debe tener SQL Server 2008 Service Pack 1 instalado para aplicar esta revisión.

Información de reinicio

No es necesario que reinicie el equipo después de aplicar este hotfix.

Información del registro

No es necesario cambiar el registro después de aplicar este hotfix.

Información de archivo


La versión en inglés de esta revisión tiene los atributos de archivo (o atributos del archivo más reciente) mostrados en la tabla siguiente. Las fechas y horas de estos archivos se muestran en la hora Universal coordinada (UTC). Al ver la información del archivo, se convierte en hora local. Para encontrar la diferencia entre la hora UTC y la hora local, utilice la ficha
Zona horaria
ficha en el
Fecha y hora
en Panel de Control.

SQL Server 2008, versión de 32 bits
Nombre del archivoVersión del archivoTamaño de archivoFechaHoraPlataforma
Databasemailengine.dll10.0.2781.075,62407-Jun-201003:45x86
Databasemailprotocols.dll10.0.2781.042,85607-Jun-201003:45x86
Instmdw.sqlNo aplicable469,80605-Jun-201000:40No aplicable
Instmsdb.sqlNo aplicable1,676,51804-Jun-201021:02No aplicable
Mssqlsystemresource.ldfNo aplicable524.28805-Jun-201003:36No aplicable
Mssqlsystemresource.mdfNo aplicable63,307,77605-Jun-201003:36No aplicable
Queryactivityupload.dtsxNo aplicable680,10705-Jun-201000:40No aplicable
Sql_engine_core_inst_keyfile.dll2007.100.2781.013,67207-Jun-201004:26x86
Sqlaccess.dll2007.100.2781.0405,35207-Jun-201005:32x86
Sqlagent.exe2007.100.2781.0367,46407-Jun-201005:32x86
Sqlagent100_msdb_upgrade.sqlNo aplicable1,790,63905-Jun-201000:21No aplicable
Sqlctr100.dll2007.100.2781.072,55207-Jun-201005:32x86
Sqlscriptdowngrade.dll2007.100.2781.014,69607-Jun-201005:33x86
Sqlscriptupgrade.dll2007.100.2781.03,380,07207-Jun-201005:33x86
Sqlservr.exe2007.100.2781.042,745,19207-Jun-201005:33x86
Sqsrvres.dll2007.100.2781.089,96007-Jun-201005:33x86
Xpstar.dll2007.100.2781.0300,90407-Jun-201005:36x86
SQL Server 2008, versión basada en x64
Nombre del archivoVersión del archivoTamaño de archivoFechaHoraPlataforma
Databasemailengine.dll10.0.2781.075,62406-Jun-201004:15x86
Databasemailprotocols.dll10.0.2781.042,85606-Jun-201004:15x86
Instmdw.sqlNo aplicable469,80605-Jun-201000:40No aplicable
Instmsdb.sqlNo aplicable1,676,51804-Jun-201021:02No aplicable
Mssqlsystemresource.ldfNo aplicable524.28805-Jun-201003:36No aplicable
Mssqlsystemresource.mdfNo aplicable63,307,77605-Jun-201003:36No aplicable
Queryactivityupload.dtsxNo aplicable680,10705-Jun-201000:40No aplicable
Sql_engine_core_inst_keyfile.dll2007.100.2781.014,18406-Jun-201004:36x64
Sqlaccess.dll2007.100.2781.0412,00806-Jun-201005:16x86
Sqlagent.exe2007.100.2781.0427,88006-Jun-201005:16x64
Sqlagent100_msdb_upgrade.sqlNo aplicable1,790,63905-Jun-201000:21No aplicable
Sqlctr100.dll2007.100.2781.0108,39206-Jun-201005:16x64
Sqlctr100.dll2007.100.2781.072,55207-Jun-201005:32x86
Sqlscriptdowngrade.dll2007.100.2781.015,72006-Jun-201005:18x64
Sqlscriptupgrade.dll2007.100.2781.03,379,56006-Jun-201005:18x64
Sqlservr.exe2007.100.2781.057,893,22406-Jun-201005:18x64
Sqsrvres.dll2007.100.2781.0105,83206-Jun-201005:18x64
Xpstar.dll2007.100.2781.0546,66406-Jun-201005:19x64
SQL Server 2008, versión de arquitectura Itanium
Nombre del archivoVersión del archivoTamaño de archivoFechaHoraPlataforma
Databasemailengine.dll10.0.2781.075,62406-Jun-201012:33x86
Databasemailprotocols.dll10.0.2781.042,85606-Jun-201012:33x86
Instmdw.sqlNo aplicable469,80605-Jun-201000:40No aplicable
Instmsdb.sqlNo aplicable1,676,51804-Jun-201021:02No aplicable
Mssqlsystemresource.ldfNo aplicable524.28805-Jun-201003:36No aplicable
Mssqlsystemresource.mdfNo aplicable63,307,77605-Jun-201003:36No aplicable
Queryactivityupload.dtsxNo aplicable680,10705-Jun-201000:40No aplicable
Sql_engine_core_inst_keyfile.dll2007.100.2781.019,30406-Jun-201012:53IA-64
Sqlaccess.dll2007.100.2781.0398,69606-Jun-201013:33x86
Sqlagent.exe2007.100.2781.01,203,04806-Jun-201013:33IA-64
Sqlagent100_msdb_upgrade.sqlNo aplicable1,790,63905-Jun-201000:21No aplicable
Sqlctr100.dll2007.100.2781.0135,01606-Jun-201013:33IA-64
Sqlctr100.dll2007.100.2781.072,55207-Jun-201005:32x86
Sqlscriptdowngrade.dll2007.100.2781.020,84006-Jun-201013:35IA-64
Sqlscriptupgrade.dll2007.100.2781.03,385,70406-Jun-201013:35IA-64
Sqlservr.exe2007.100.2781.0111,051,11206-Jun-201013:35IA-64
Sqsrvres.dll2007.100.2781.0187,75206-Jun-201013:35IA-64
Xpstar.dll2007.100.2781.0936,80806-Jun-201013:36IA-64

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Más información


Referencias


Para obtener más información sobre el modelo de servicio Incremental de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

935897 Un modelo de servicio Incremental está disponible desde el equipo de SQL Server para entregar revisiones para problemas detectados


Para obtener más información acerca del esquema de nomenclatura para las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

822499 Nuevo esquema de nomenclatura para los paquetes de actualización de software de Microsoft SQL Server

Para obtener más información acerca de la terminología de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684 descripción de la terminología estándar que se utiliza para describir las actualizaciones de software de Microsoft