KB982376 - CORREÇÃO: Um erro de agendador sem rendimento ou um erro 8623 ocorre quando você executa uma consulta que contém uma cláusula IN grande no SQL Server 2005, SQL Server 2008 ou SQL Server 2008 R2

Aplica-se a
Microsoft SQL Server 2005 SQL Server 2008 SQL Server 2008 R2

A Microsoft distribui correções do Microsoft SQL Server 2005, Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2 como um arquivo para download. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança incluídas com a versão anterior de correções do Microsoft SQL Server 2005, do Microsoft SQL Server 2008 ou do Microsoft SQL Server 2008 R2.

Sintomas

No Microsoft SQL Server 2005, Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2, você tem uma consulta que contém uma cláusula IN grande. Por exemplo, a cláusula IN contém milhares de valores. Ao executar essa consulta, pode ocorrer um erro de agendador sem rendimento. Além disso, um arquivo de minidespejo é gerado na pasta de log do SQL Server 2005, SQL Server 2008 ou SQL Server 2008 R2. Às vezes, você também pode ver a seguinte mensagem de erro no arquivo do log de Erros do SQL Server:

Observação

Erro: 8623, Gravidade: 16, Estado: 1.

O processador de consultas ficou sem recursos internos e não pôde produzir um plano de consulta. Esse é um evento raro e esperado apenas para consultas extremamente complexas ou consultas que fazem referência a um número muito grande de tabelas ou partições. Simplifique a consulta. Se você acredita que recebeu esta mensagem por engano, entre em contato com o Serviço de Atendimento ao Cliente para obter mais informações.

Observação Se o erro 8623 ocorrer junto com o erro do agendador sem rendimento, a execução da consulta falhará.

Causa

Esse problema ocorre devido a um problema na base de código do SQL Server. Durante a execução da consulta que contém a cláusula IN grande, a base de código do SQL Server não produz um agendador adequadamente. Esse comportamento causa falta de CPU para outros threads de trabalho executados no mesmo agendador e causa um erro de agendador sem rendimento.

Resolução

Informações sobre a atualização cumulativa

SQL Server 2005

A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 10. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para o SQL Server 2005, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

983329 Pacote de atualizações cumulativas 10 para o SQL Server 2005 Service Pack 3Observação: como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correção do SQL Server 2005. Recomendamos que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:

960598 As compilações do SQL Server 2005 lançadas após o lançamento do SQL Server 2005 Service Pack 3

SQL Server 2008 Service Pack 1

A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 9 para o SQL Server 2008 Service Pack 1. Para obter mais informações sobre esse pacote de atualização cumulativa, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

2083921 atualização cumulativa 9 para o SQL Server 2008 Service Pack 1Observação: como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correção do SQL Server 2008. A Microsoft recomenda que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:

970365 As compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008 Service Pack 1 Os hotfixes do Microsoft SQL Server 2008 são criados para service packs SQL Server específicos. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 1 a uma instalação do SQL Server 2008 Service Pack 1. Por padrão, qualquer hotfix fornecido em um service pack do SQL Server é incluído no próximo service pack do SQL Server.

SQL Server 2008 Service Pack 2

A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 1 para o SQL Server 2008 Service Pack 2. Para obter mais informações sobre esse pacote de atualização cumulativa, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

2289254 Atualização cumulativa 1 para o SQL Server 2008 Service Pack 2Observação: como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão de correção anterior do SQL Server 2008. Recomendamos que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:

2402659 As compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008 Service Pack 2

SQL Server 2008 R2

A correção para esse problema foi lançada pela primeira vez na Atualização Cumulativa 3. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para o SQL Server 2008 R2, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft:

2261464 Pacote de atualizações cumulativas 3 para o SQL Server 2008 R2Note Como os builds são cumulativos, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior de correção do SQL Server 2008 R2. Recomendamos que você considere aplicar a versão de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:

981356 As compilações do SQL Server 2008 R2 lançadas após o SQL Server 2008 R2

Informações sobre o hotfix

Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, este hotfix destina-se a corrigir somente o problema descrito neste artigo. Aplique-o somente em sistemas que apresentarem esse problema específico.

Se o hotfix estiver disponível para download, existirá uma seção "Download de hotfix disponível" na parte superior deste artigo da Base de Dados de Conhecimento. Se esta seção não aparecer, envie uma solicitação ao Serviço de Suporte e Atendimento ao Cliente Microsoft para obter o hotfix.

Observação Se outros problemas estiverem ocorrendo ou se uma solução de problemas for necessária, talvez seja preciso criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a outras questões e problemas de suporte não qualificados para esse hotfix específico. Para obter uma lista completa dos números de telefone do Suporte e Atendimento ao Cliente da Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site da Microsoft:

/contactus/?ws=support Observação O formulário "Download de hotfix disponível" mostra os idiomas para os quais o hotfix está disponível. Se o seu idioma não for exibido, significa que não há um hotfix disponível para ele.

Observação Depois de instalar esse hotfix, se a cláusula IN for grande o suficiente, o erro 8623 ainda ocorrerá devido ao esgotamento de recursos. Se o erro 8623 ainda ocorrer após a instalação desse hotfix, use um dos seguintes métodos:

Método 1

Diminua o número de valores na cláusula IN.

Método 2

Insira os valores da cláusula IN em uma tabela temporária ou em uma variável de tabela e, em seguida, consulte o conjunto de resultados que une a tabela original e a tabela temporária (ou variável de tabela).

Pré-requisitos

Você deve ter o SQL Server 2005 Service Pack 3 (SP3), o SQL Server 2008 ou o SQL Server 2008 R2 instalado para aplicar esse hotfix.

Necessidade de reinicialização

É necessário reiniciar o computador após aplicar esse hotfix se um dos serviços do SQL Server estiver em execução no momento em que você aplicar esse hotfix. Se você não quiser reiniciar o computador, interrompa todos os serviços do SQL Server antes de aplicar esse hotfix.

Informações sobre a substituição de hotfixes

Esse hotfix não substitui nenhum outro hotfix.

Informações de arquivo

A versão em inglês deste hotfix tem os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e as horas desses arquivos estão listadas no formato UTC (Tempo Universal Coordenado). Quando você visualizar as informações sobre os arquivos, elas são convertidas no horário local. Para saber a diferença entre a hora UTC e a hora local, use a guia Fuso Horário no item Data e Hora do Painel de Controle.

Versões baseadas em x86 do SQL Server 2005

Nome do arquivo Versão do arquivo Tamanho do arquivo Data Horário Hashes
Batchparser90.dll 2005.90.4035.0 125,280 24-Nov-2008 1,614
Dbghelp.dll 6.6.7.5 1,037,152 24-Nov-2008 14:51 MD5: 288A3127F85C9416E9A3FD07EDAEDCBD
SHA1: FC10D9E27E5C6987B5CB2C5166FBF83252AC41FC
Dumpdatastore.dll 2005.90.4035.0 1,157,472 24-Nov-2008 1,456 MD5: 9B010B4FF41DA4AFAFB94C8456D64059
SHA1: 58783B12982DFACF3D9AF4A1CAFE58A95771CE3D
Msvcp80.dll 8.0.50727.42 548,864 13 de outubro de 2005 16:26 MD5: 2BC650257FB0867ABD54FD460EC2BAFC
SHA1: EC063526AA14BCADEEFFA6D859B39A80680015B7
Msvcr80.dll 8.0.50727.42 626,688 13 de outubro de 2005 16:26 MD5: 16D7DDF3B659F7CF1CB9F4DCFF4219F0
SHA1: A61454131940799F01C26943F1594EE6E7409D11
Sqlcmd.exe 2005.90.4035.0 141,664 24-Nov-2008 15:31 MD5: 2E1B8DF1802612BDA20378B612D46155
SHA1: B45271F4CA358805D3515ADB9DA8D302FA40D8D0
Sqlcmd.rll 2005.90.4035.0 24,928 24-Nov-2008 15:14 Não aplicável
Sqldiscoveryapi.dll 2005.90.4035.0 530,784 24-Nov-2008 15:31 MD5: 8AC29B7DF7AA97CF12E15BF4D026A96D
SHA1: 7DF7C8A0AFFC7EEE19CCA8C321494395DA06CD5C
Sqlsetupvista.dll 2005.90.4035.0 227,680 24-Nov-2008 15:31 MD5: FF9AF51AD873841628C0F5554BD7EB8E
SHA1: B538EFC458163E6D04056B1F191B13EF891BA50E
Finalsql2005information.rtf Não aplicável 844 14 de janeiro de 2010 14:37 Não aplicável
Sqlhotfix.chm Não aplicável 116,106 14 de janeiro de 2010 14:37 Não aplicável
Sqlse.rll 1.4.1581.0 60,264 07 de abril de 2010 16:40 Não aplicável
Sqlrun_as.msp Não aplicável 27,555,328 08 de abril de 2010 01:26 Não aplicável
Sqlrun_dts.msp Não aplicável 14,836,736 08 de abril de 2010 01:28 Não aplicável
Sqlrun_ns.msp Não aplicável 3,965,952 08 de abril de 2010 01:28 Não aplicável
Sqlrun_rs.msp Não aplicável 16,354,304 08 de abril de 2010 01:31 Não aplicável
Sqlrun_sql.msp Não aplicável 39,590,400 08 de abril de 2010 01:36 Não aplicável
Sqlrun_tools.msp Não aplicável 48,827,904 08 de abril de 2010 01:46 Não aplicável

Versões baseadas em x64 do SQL Server 2005

Nome do arquivo Versão do arquivo Tamanho do arquivo Data Horário Hashes
Batchparser90.dll 2005.90.4035.0 179,552 25-Nov-2008 04:38
Dbghelp.dll 6.6.7.5 1,326,944 25-Nov-2008 04:38 MD5: 1F5B11622850EBFEA889A8B6F1132F57
SHA1: 68B256D48B40C58FD67DADBC815F443C826BE073
Dumpdatastore.dll 2005.90.4035.0 1,566,560 25-Nov-2008 04:39 MD5: D3D83B642E6D906918A4527B04E82CA1
SHA1: FADA34561343B9A1B2313335690B2B881E237678
Msvcp80.dll 8.0.50727.42 1,097,728 14 de outubro de 2005 04:46 MD5: 5AE0F01F02A03558DA0CBD249E4DF263
SHA1: 64735AB4635B587647A11A599E39D2233D9DE6F0
Msvcr80.dll 8.0.50727.42 822,784 14 de outubro de 2005 04:46 MD5: 465CEBD7DA2CEABA5E552FC9118A1415
SHA1: 995060CABE3DDF199B400AD0D80FF5660626793C
Sqlcmd.exe 2005.90.4035.0 336,736 25-Nov-2008 04:45 MD5: 105FAD078031DF182E32C53D5994C457
SHA1: D8953F00436F38880B4B587391BD0D2309E5297E
Sqlcmd.rll 2005.90.4035.0 25,440 25-Nov-2008 04:40 Não aplicável
Sqldiscoveryapi.dll 2005.90.4035.0 750,432 25-Nov-2008 04:45 MD5: 0826CE00BFB5DA7374E4D0E146942471
SHA1: 668553462BD285FBDC241A23E4E259FEF1235DEF
Sqlsetupvista.dll 2005.90.4035.0 316,256 25-Nov-2008 04:45 MD5: 41BBA84E4D204046EF0059E573B98988
SHA1: 557F186F46D09AE59C655B52675D604593E8E611
Finalsql2005information.rtf Não aplicável 844 14 de janeiro de 2010 14:37 Não aplicável
Sqlhotfix.chm Não aplicável 116,106 14 de janeiro de 2010 14:37 Não aplicável
Sqlse.rll 1.4.1581.0 60,776 07 de abril de 2010 1:17:33 AM Não aplicável
Sqlrun_as.msp Não aplicável 46,118,400 08 de abril de 2010 01:15 Não aplicável
Sqlrun_dts.msp Não aplicável 22,150,656 08 de abril de 2010 1,801 Não aplicável
Sqlrun_ns.msp Não aplicável 5,689,344 08 de abril de 2010 19:01 Não aplicável
Sqlrun_rs.msp Não aplicável 21,256,192 08 de abril de 2010 2,201 Não aplicável
Sqlrun_sql.msp Não aplicável 45,197,312 08 de abril de 2010 01:28 Não aplicável
Sqlrun_tools.msp Não aplicável 65,248,768 08 de abril de 2010 01:38 Não aplicável

Versões baseadas em IA-64 do SQL Server 2005

Nome do arquivo Versão do arquivo Tamanho do arquivo Data Horário Hashes
Batchparser90.dll 2005.90.4035.0 293,728 24-Nov-2008 19:52
Dbghelp.dll 6.6.7.5 3,631,456 24-Nov-2008 19:52 MD5: BB797393886A04ED2847AC966A23439D
SHA1: B43F7926C0FD268F4496A116B9176753601B5EAD
Dumpdatastore.dll 2005.90.4035.0 4,322,144 24-Nov-2008 19:47 MD5: 5677EC5C5DA9AB7C71580996E598433E
SHA1: A98591A4D220C293A6C8E1D2B17E3C4847545721
Msvcp80.dll 8.0.50727.42 1,385,472 14 de outubro de 2005 04:35 MD5: 7F0715E63E08692F39C017A6A2D61E56
SHA1: 24B674285AC11D0496529EBC9E7FADC7B7955AC3
Msvcr80.dll 8.0.50727.42 1,484,800 14 de outubro de 2005 04:35 MD5: 88B3570029DEC94B06199DB8E7EB66D9
SHA1: FC8EE955B19FCE0F4F1C8F17F9AD97ACB4E129A4
Sqlcmd.exe 2005.90.4035.0 530,784 24-Nov-2008 20:03 MD5: 512C6ECF02979B75B5C52D5F3021C379
SHA1: 03A8D2BE83EFF1ACE5B002D5E390670B1EF14D83
Sqlcmd.rll 2005.90.4035.0 24,416 24-Nov-2008 19:58 Não aplicável
Sqldiscoveryapi.dll 2005.90.4035.0 1,939,808 24-Nov-2008 2,004 MD5: 63834474BB3D9B15958A40B0FF102F93
SHA1: F00BE0A455B134CF17FF6C9FBCF19D93BC6F403B
Sqlsetupvista.dll 2005.90.4035.0 702,816 24-Nov-2008 2,004 MD5: 593F2B3BD7C92AEF28A751D5C4421C84
SHA1: 58D55D1822E697D701F9B45A50A6A5B67B998E77
Finalsql2005information.rtf Não aplicável 844 14 de janeiro de 2010 14:37 Não aplicável
Sqlhotfix.chm Não aplicável 116,106 14 de janeiro de 2010 14:37 Não aplicável
Sqlse.rll 1.4.1581.0 59,240 07 de abril de 2010 2,004 Não aplicável
Sqlrun_as.msp Não aplicável 67,258,368 08 de abril de 2010 00:57 Não aplicável
Sqlrun_dts.msp Não aplicável 35,875,328 08 de abril de 2010 01:01 Não aplicável
Sqlrun_ns.msp Não aplicável 12,269,056 08 de abril de 2010 01:02 Não aplicável
Sqlrun_rs.msp Não aplicável 31,128,576 08 de abril de 2010 01:06 Não aplicável
Sqlrun_sql.msp Não aplicável 69,868,032 08 de abril de 2010 01:13 Não aplicável
Sqlrun_tools.msp Não aplicável 65,883,648 08 de abril de 2010 23:01 Não aplicável

Status

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Referências

Para obter informações adicionais sobre a terminologia da atualização de segurança, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):

824684 Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft