REVISIÓN: Un error de programador sin ofrecimiento o un error 8623 ocurre cuando ejecuta una consulta que contenga una cláusula en SQL Server 2005, SQL Server 2008 o SQL Server 2008 R2 IN grande


Microsoft distribuye Microsoft SQL Server 2005, Microsoft SQL Server 2008 o 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 Microsoft SQL Server 2005, Microsoft SQL Server 2008 o Microsoft SQL Server 2008 R2.

Síntomas


En Microsoft SQL Server 2005, Microsoft SQL Server 2008 o Microsoft SQL Server 2008 R2, tiene una consulta que contenga una cláusula IN grande. Por ejemplo, la cláusula IN contiene miles de valores. Al ejecutar esta consulta, puede producirse un error de programador sin ofrecimiento. Además, se genera un archivo de minivolcado en la carpeta de registro de SQL Server 2005, SQL Server 2008 o SQL Server 2008 R2. A veces, también puede ver el mensaje de error siguiente en el archivo de registro de Error de SQL Server:
Error: 8623, gravedad: 16, estado: 1.

El procesador de consultas se quedó sin recursos internos y no pudo producir un plan de consulta. Esto ocurre en raras ocasiones y sólo se espera en consultas extremadamente complejas o consultas que hacen referencia a un número muy grande de tablas o particiones. Simplifique la consulta. Si piensa que ha recibido este mensaje por error, póngase en contacto con los servicios de soporte técnico para obtener más información.


Nota: Si se produce Error 8623 junto con el error de programador sin ofrecimiento, se produce un error en la ejecución de la consulta.

Causa


Este problema se produce debido a un problema en la base de código de SQL Server. Durante la ejecución de la consulta que contiene la cláusula IN grande, la base de código de SQL Server no genera a un programador adecuadamente. Este comportamiento hace que la inanición de CPU para otros subprocesos de trabajo que se ejecutan en el mismo programador y provoca un error de programador sin ofrecimiento.

Solución


Información de actualización acumulativa

SQL Server 2005

En primer lugar, la corrección para este problema se publicó en 10 de actualización acumulativa. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2005, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
983329 acum actualizar paquete 10 para SQL Server 2005 Service Pack 3
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 versión anterior de SQL Server 2005. 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:
960598 el SQL Server 2005 crea que se publicaron después del lanzamiento de SQL Server 2005 Service Pack 3

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

En primer lugar, la corrección para este problema se publicó en actualización acumulativa 3. 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:
2261464 acum actualizar paquete 3 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.

Nota: Después de instalar esta revisión, si la cláusula IN es suficientemente grande, error 8623 seguirá produciéndose a causa del agotamiento de los recursos. Si aún se produce el error 8623 después de instalar esta revisión, utilice uno de los métodos siguientes:

Método 1

Disminuir el número de los valores de la cláusula IN.

Método 2

Los valores de la cláusula IN de entrada en una tabla temporal o una variable de tabla y, a continuación, consulta que el conjunto de resultados que combina la tabla original y la tabla temporal (o variable table).

Requisitos previos

Debe tener SQL Server 2005 Service Pack 3 (SP3) de SQL Server 2008 o SQL Server 2008 R2 instalado para poder aplicar este hotfix.

Requisito de reinicio

Debe reiniciar el equipo después de aplicar este hotfix si uno de los servicios de SQL Server se está ejecutando cuando aplique este hotfix. Si no desea reiniciar el equipo, detenga todos los servicios de SQL Server antes de aplicar este hotfix.

Información de reemplazo de revisión

Este hotfix no sustituye a otras revisiones.

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 en el elemento de Fecha y hora del Panel de control.
x86 versiones de SQL Server 2005
Nombre del archivoVersión del archivoTamaño de archivoFechaHoraAlgoritmos hash
Batchparser90.dll2005.90.4035.0125,28024-Nov-200816:14
Dbghelp.dll6.6.7.51,037,15224-Nov-200814:51MD5: 288A3127F85C9416E9A3FD07EDAEDCBD
SHA1: FC10D9E27E5C6987B5CB2C5166FBF83252AC41FC
Dumpdatastore.dll2005.90.4035.01,157,47224-Nov-200814:56MD5: 9B010B4FF41DA4AFAFB94C8456D64059
SHA1: 58783B12982DFACF3D9AF4A1CAFE58A95771CE3D
Msvcp80.dll8.0.50727.42548,86413-Oct-200516:26MD5: 2BC650257FB0867ABD54FD460EC2BAFC
SHA1: EC063526AA14BCADEEFFA6D859B39A80680015B7
Msvcr80.dll8.0.50727.42626,68813-Oct-200516:26MD5: 16D7DDF3B659F7CF1CB9F4DCFF4219F0
SHA1: A61454131940799F01C26943F1594EE6E7409D11
Sqlcmd.exe2005.90.4035.0141,66424-Nov-200815:31MD5: 2E1B8DF1802612BDA20378B612D46155
SHA1: B45271F4CA358805D3515ADB9DA8D302FA40D8D0
Sqlcmd.rll2005.90.4035.024,92824-Nov-200815:14No aplicable
Sqldiscoveryapi.dll2005.90.4035.0530,78424-Nov-200815:31MD5: 8AC29B7DF7AA97CF12E15BF4D026A96D
SHA1: 7DF7C8A0AFFC7EEE19CCA8C321494395DA06CD5C
Sqlsetupvista.dll2005.90.4035.0227,68024-Nov-200815:31MD5: FF9AF51AD873841628C0F5554BD7EB8E
SHA1: B538EFC458163E6D04056B1F191B13EF891BA50E
Finalsql2005information.rtfNo aplicable84414-Jan-201014:37No aplicable
Sqlhotfix.chmNo aplicable116,10614-Jan-201014:37No aplicable
Sqlse.rll1.4.1581.060,26407-Apr-201016:40No aplicable
Sqlrun_as.mspNo aplicable27,555,32808-Apr-201001:26No aplicable
Sqlrun_dts.mspNo aplicable14,836,73608-Apr-201001:28No aplicable
Sqlrun_ns.mspNo aplicable3,965,95208-Apr-201001:28No aplicable
Sqlrun_rs.mspNo aplicable16,354,30408-Apr-201001:31No aplicable
Sqlrun_sql.mspNo aplicable39,590,40008-Apr-201001:36No aplicable
Sqlrun_tools.mspNo aplicable48,827,90408-Apr-201001:46No aplicable
x64 versiones de SQL Server 2005
Nombre del archivoVersión del archivoTamaño de archivoFechaHoraAlgoritmos hash
Batchparser90.dll2005.90.4035.0179,55225-Nov-200804:38
Dbghelp.dll6.6.7.51,326,94425-Nov-200804:38MD5: 1F5B11622850EBFEA889A8B6F1132F57
SHA1: 68B256D48B40C58FD67DADBC815F443C826BE073
Dumpdatastore.dll2005.90.4035.01,566,56025-Nov-200804:39MD5: D3D83B642E6D906918A4527B04E82CA1
SHA1: FADA34561343B9A1B2313335690B2B881E237678
Msvcp80.dll8.0.50727.421,097,72814-Oct-200504:46MD5: 5AE0F01F02A03558DA0CBD249E4DF263
SHA1: 64735AB4635B587647A11A599E39D2233D9DE6F0
Msvcr80.dll8.0.50727.42822,78414-Oct-200504:46MD5: 465CEBD7DA2CEABA5E552FC9118A1415
SHA1: 995060CABE3DDF199B400AD0D80FF5660626793C
Sqlcmd.exe2005.90.4035.0336,73625-Nov-200804:45MD5: 105FAD078031DF182E32C53D5994C457
SHA1: D8953F00436F38880B4B587391BD0D2309E5297E
Sqlcmd.rll2005.90.4035.025,44025-Nov-200804:40No aplicable
Sqldiscoveryapi.dll2005.90.4035.0750,43225-Nov-200804:45MD5: 0826CE00BFB5DA7374E4D0E146942471
SHA1: 668553462BD285FBDC241A23E4E259FEF1235DEF
Sqlsetupvista.dll2005.90.4035.0316,25625-Nov-200804:45MD5: 41BBA84E4D204046EF0059E573B98988
SHA1: 557F186F46D09AE59C655B52675D604593E8E611
Finalsql2005information.rtfNo aplicable84414-Jan-201014:37No aplicable
Sqlhotfix.chmNo aplicable116,10614-Jan-201014:37No aplicable
Sqlse.rll1.4.1581.060,77607-Apr-201017:33No aplicable
Sqlrun_as.mspNo aplicable46,118,40008-Apr-201001:15No aplicable
Sqlrun_dts.mspNo aplicable22,150,65608-Apr-201001:18No aplicable
Sqlrun_ns.mspNo aplicable5,689,34408-Apr-201001:19No aplicable
Sqlrun_rs.mspNo aplicable21,256,19208-Apr-201001:22No aplicable
Sqlrun_sql.mspNo aplicable45,197,31208-Apr-201001:28No aplicable
Sqlrun_tools.mspNo aplicable65,248,76808-Apr-201001:38No aplicable
Versiones basadas en IA-64 de SQL Server 2005
Nombre del archivoVersión del archivoTamaño de archivoFechaHoraAlgoritmos hash
Batchparser90.dll2005.90.4035.0293,72824-Nov-200819:52
Dbghelp.dll6.6.7.53,631,45624-Nov-200819:52MD5: BB797393886A04ED2847AC966A23439D
SHA1: B43F7926C0FD268F4496A116B9176753601B5EAD
Dumpdatastore.dll2005.90.4035.04,322,14424-Nov-200819:47MD5: 5677EC5C5DA9AB7C71580996E598433E
SHA1: A98591A4D220C293A6C8E1D2B17E3C4847545721
Msvcp80.dll8.0.50727.421,385,47214-Oct-200504:35MD5: 7F0715E63E08692F39C017A6A2D61E56
SHA1: 24B674285AC11D0496529EBC9E7FADC7B7955AC3
Msvcr80.dll8.0.50727.421,484,80014-Oct-200504:35MD5: 88B3570029DEC94B06199DB8E7EB66D9
SHA1: FC8EE955B19FCE0F4F1C8F17F9AD97ACB4E129A4
Sqlcmd.exe2005.90.4035.0530,78424-Nov-200820:03MD5: 512C6ECF02979B75B5C52D5F3021C379
SHA1: 03A8D2BE83EFF1ACE5B002D5E390670B1EF14D83
Sqlcmd.rll2005.90.4035.024,41624-Nov-200819:58No aplicable
Sqldiscoveryapi.dll2005.90.4035.01,939,80824-Nov-200820:04MD5: 63834474BB3D9B15958A40B0FF102F93
SHA1: F00BE0A455B134CF17FF6C9FBCF19D93BC6F403B
Sqlsetupvista.dll2005.90.4035.0702,81624-Nov-200820:04MD5: 593F2B3BD7C92AEF28A751D5C4421C84
SHA1: 58D55D1822E697D701F9B45A50A6A5B67B998E77
Finalsql2005information.rtfNo aplicable84414-Jan-201014:37No aplicable
Sqlhotfix.chmNo aplicable116,10614-Jan-201014:37No aplicable
Sqlse.rll1.4.1581.059,24007-Apr-201020:04No aplicable
Sqlrun_as.mspNo aplicable67,258,36808-Apr-201000:57No aplicable
Sqlrun_dts.mspNo aplicable35,875,32808-Apr-201001:01No aplicable
Sqlrun_ns.mspNo aplicable12,269,05608-Apr-201001:02No aplicable
Sqlrun_rs.mspNo aplicable31,128,57608-Apr-201001:06No aplicable
Sqlrun_sql.mspNo aplicable69,868,03208-Apr-201001:13No aplicable
Sqlrun_tools.mspNo aplicable65,883,64808-Apr-201001:23No aplicable

Estado


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

Referencias


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