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