A Microsoft distribui correções do Microsoft SQL Server 2005, Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2 como um ficheiro transferível. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior Microsoft SQL Server 2005, Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2 corrigir lançamento.
Sintomas
No Microsoft SQL Server 2005, Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2, tem uma consulta que contém uma cláusula IN grande. Por exemplo, a cláusula IN contém milhares de valores. Quando executar esta consulta, pode ocorrer um erro de agendador não produtivo. Além disso, um arquivo de minidespejo é gerado na pasta de log do SQL Server 2005, SQL Server 2008 ou SQL Server 2008 R2. Por vezes, também poderá ver a seguinte mensagem de erro no ficheiro de registo de erros SQL Server:
Nota
Erro: 8623, gravidade: 16, estado: 1.
O processador de consultas ficou sem recursos internos e não conseguiu produzir um plano de consulta. Este é um evento raro e só é esperado 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 acredita que recebeu esta mensagem por engano, contacte o Suporte ao Cliente para obter mais informações.
Observação Se o erro 8623 ocorrer junto com o erro do agendador não produtivo, a execução da consulta falhará.
Causa
Esse problema ocorre devido a um problema na base de código SQL Server. Durante a execução da consulta que contém a cláusula IN grande, a base de código SQL Server não produz um agendador adequadamente. Esse comportamento causa falta de CPU para outros threads de trabalho que são executados no mesmo agendador e causa um erro de agendador não produtivo.
Resolução
Informações de atualização cumulativa
SQL Server 2005
A correção para este problema foi lançada pela primeira vez na Atualização Cumulativa 10. Para obter mais informações sobre como obter esse pacote de atualização cumulativa para o SQL Server 2005, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
983329 Pacote de atualizações cumulativas 10 para SQL Server 2005 Service Pack 3Nota Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2005 corrigir lançamento. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na 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 SQL Server 2008 Service Pack 1. Para obter mais informações sobre este pacote de atualização cumulativa, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2083921 atualização cumulativa 9 para SQL Server 2008 Service Pack 1Nota Como as compilações são cumulativas, cada novo lançamento de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2008 corrigir lançamento. A Microsoft recomenda que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na 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. Tem de aplicar uma correção 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 SQL Server service pack é incluído no próximo SQL Server service pack.
SQL Server 2008 Service Pack 2
A correção para este 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 este pacote de atualização cumulativa, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2289254 Atualização cumulativa 1 para SQL Server 2008 Service Pack 2Nota Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior SQL Server 2008 corrigir lançamento. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na 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 este problema foi lançada pela primeira vez na Atualização Cumulativa 3. Para obter mais informações sobre como obter este pacote de atualização cumulativa para o SQL Server 2008 R2, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2261464 Pacote de atualizações cumulativas 3 para SQL Server 2008 R2Nota Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server anterior 2008 R2 corrigir lançamento. Recomendamos que você considere aplicar o lançamento de correção mais recente que contém esse hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:
981356 As compilações SQL Server 2008 R2 lançadas após o lançamento do SQL Server 2008 R2
Informações sobre o hotfix
Um hotfix suportado está disponível da Microsoft. No entanto, esse hotfix destina-se a corrigir apenas o problema descrito neste artigo. Aplique esse hotfix somente para sistemas que estão enfrentando esse problema específico.
Se o hotfix estiver disponível para download, há 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 for exibida, envie uma solicitação para o Suporte e Atendimento ao Cliente Microsoft para obter o hotfix.
Observação Se ocorrerem problemas adicionais ou se for necessária alguma solução de problemas, talvez seja necessário criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não se qualificam para esse hotfix específico. Para obter uma lista completa dos números de telefone do Suporte e Suporte ao Cliente da Microsoft ou para criar um pedido de serviço separado, visite o seguinte site da Microsoft:
/contactus/?ws=support Observação O formulário "Download de hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Se não vir o seu idioma, é porque não está disponível uma correção para esse idioma.
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 depois de instalar esse hotfix, use um dos seguintes métodos:
Método 1
Diminuir o número dos valores na cláusula IN.
Método 2
Introduza os valores contidos na cláusula IN numa tabela temporária ou numa variável de tabela e, em seguida, consulte o conjunto de resultados que associa a tabela original à tabela temporária (ou variável de tabela).
Pré-requisitos
Você deve ter o SQL Server 2005 Service Pack 3 (SP3), SQL Server 2008 ou SQL Server 2008 R2 instalado para aplicar esse hotfix.
Requisito de reinício
Você deve reiniciar o computador depois de aplicar esse hotfix se um dos serviços SQL Server estiver em execução quando você aplicar esse hotfix. Se você não deseja reiniciar o computador, pare todos os serviços SQL Server antes de aplicar esse hotfix.
Informações sobre substituição de correções
Esta correção não substitui quaisquer outras correções.
Informações de ficheiro
A versão inglesa desta correção tem os atributos de ficheiro listados na tabela que se segue (ou atributos de ficheiro posteriores). As datas e horas desses arquivos estão listadas em Tempo Universal Coordenado (UTC). Quando visualizar as informações dos ficheiros, estas serão convertidas na hora local. Para determinar a diferença entre a hora UTC e a hora local, utilize o separador Fuso Horário no item Data e Hora do Painel de Controlo.
Versões baseadas em x86 do SQL Server 2005
| Nome de ficheiro | Versão do ficheiro | Tamanho do ficheiro | Data | Hora | Hashes |
|---|---|---|---|---|---|
| Batchparser90.dll | 2005.90.4035.0 | 125,280 | 24 De novembro de 2008 | 16:14 | |
| Dbghelp.dll | 6.6.7.5 | 1,037,152 | 24 De novembro de 2008 | 14:51 | MD5: 288A3127F85C9416E9A3FD07EDAEDCBD SHA1: FC10D9E27E5C6987B5CB2C5166FBF83252AC41FC |
| Dumpdatastore.dll | 2005.90.4035.0 | 1,157,472 | 24 De novembro de 2008 | 14:56 | 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 De novembro de 2008 | 15:31 | MD5: 2E1B8DF1802612BDA20378B612D46155 SHA1: B45271F4CA358805D3515ADB9DA8D302FA40D8D0 |
| Sqlcmd.rll | 2005.90.4035.0 | 24,928 | 24 De novembro de 2008 | 15:14 | Não aplicável |
| Sqldiscoveryapi.dll | 2005.90.4035.0 | 530,784 | 24 De novembro de 2008 | 15:31 | MD5: 8AC29B7DF7AA97CF12E15BF4D026A96D SHA1: 7DF7C8A0AFFC7EEE19CCA8C321494395DA06CD5C |
| Sqlsetupvista.dll | 2005.90.4035.0 | 227,680 | 24 De novembro de 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-Abr-2010 | 16:40 | Não aplicável |
| Sqlrun_as.msp | Não aplicável | 27,555,328 | 08-Abr-2010 | 01:26 | Não aplicável |
| Sqlrun_dts.msp | Não aplicável | 14,836,736 | 08-Abr-2010 | 01:28 | Não aplicável |
| Sqlrun_ns.msp | Não aplicável | 3,965,952 | 08-Abr-2010 | 01:28 | Não aplicável |
| Sqlrun_rs.msp | Não aplicável | 16,354,304 | 08-Abr-2010 | 01:31 | Não aplicável |
| Sqlrun_sql.msp | Não aplicável | 39,590,400 | 08-Abr-2010 | 01:36 | Não aplicável |
| Sqlrun_tools.msp | Não aplicável | 48,827,904 | 08-Abr-2010 | 01:46 | Não aplicável |
Versões baseadas em x64 do SQL Server 2005
| Nome de ficheiro | Versão do ficheiro | Tamanho do ficheiro | Data | Hora | Hashes |
|---|---|---|---|---|---|
| Batchparser90.dll | 2005.90.4035.0 | 179,552 | 25 De novembro de 2008 | 04:38 | |
| Dbghelp.dll | 6.6.7.5 | 1,326,944 | 25 De novembro de 2008 | 04:38 | MD5: 1F5B11622850EBFEA889A8B6F1132F57 SHA1: 68B256D48B40C58FD67DADBC815F443C826BE073 |
| Dumpdatastore.dll | 2005.90.4035.0 | 1,566,560 | 25 De novembro de 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 De novembro de 2008 | 04:45 | MD5: 105FAD078031DF182E32C53D5994C457 SHA1: D8953F00436F38880B4B587391BD0D2309E5297E |
| Sqlcmd.rll | 2005.90.4035.0 | 25,440 | 25 De novembro de 2008 | 04:40 | Não aplicável |
| Sqldiscoveryapi.dll | 2005.90.4035.0 | 750,432 | 25 De novembro de 2008 | 04:45 | MD5: 0826CE00BFB5DA7374E4D0E146942471 SHA1: 668553462BD285FBDC241A23E4E259FEF1235DEF |
| Sqlsetupvista.dll | 2005.90.4035.0 | 316,256 | 25 De novembro de 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-Abr-2010 | 17:33 | Não aplicável |
| Sqlrun_as.msp | Não aplicável | 46,118,400 | 08-Abr-2010 | 01:15 | Não aplicável |
| Sqlrun_dts.msp | Não aplicável | 22,150,656 | 08-Abr-2010 | 01:18 | Não aplicável |
| Sqlrun_ns.msp | Não aplicável | 5,689,344 | 08-Abr-2010 | 01:19 | Não aplicável |
| Sqlrun_rs.msp | Não aplicável | 21,256,192 | 08-Abr-2010 | 01:22 | Não aplicável |
| Sqlrun_sql.msp | Não aplicável | 45,197,312 | 08-Abr-2010 | 01:28 | Não aplicável |
| Sqlrun_tools.msp | Não aplicável | 65,248,768 | 08-Abr-2010 | 01:38 | Não aplicável |
Versões baseadas em IA-64 do SQL Server 2005
| Nome de ficheiro | Versão do ficheiro | Tamanho do ficheiro | Data | Hora | Hashes |
|---|---|---|---|---|---|
| Batchparser90.dll | 2005.90.4035.0 | 293,728 | 24 De novembro de 2008 | 19:52 | |
| Dbghelp.dll | 6.6.7.5 | 3,631,456 | 24 De novembro de 2008 | 19:52 | MD5: BB797393886A04ED2847AC966A23439D SHA1: B43F7926C0FD268F4496A116B9176753601B5EAD |
| Dumpdatastore.dll | 2005.90.4035.0 | 4,322,144 | 24 De novembro de 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 De novembro de 2008 | 20:03 | MD5: 512C6ECF02979B75B5C52D5F3021C379 SHA1: 03A8D2BE83EFF1ACE5B002D5E390670B1EF14D83 |
| Sqlcmd.rll | 2005.90.4035.0 | 24,416 | 24 De novembro de 2008 | 19:58 | Não aplicável |
| Sqldiscoveryapi.dll | 2005.90.4035.0 | 1,939,808 | 24 De novembro de 2008 | 20:04 | MD5: 63834474BB3D9B15958A40B0FF102F93 SHA1: F00BE0A455B134CF17FF6C9FBCF19D93BC6F403B |
| Sqlsetupvista.dll | 2005.90.4035.0 | 702,816 | 24 De novembro de 2008 | 20:04 | 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-Abr-2010 | 20:04 | Não aplicável |
| Sqlrun_as.msp | Não aplicável | 67,258,368 | 08-Abr-2010 | 00:57 | Não aplicável |
| Sqlrun_dts.msp | Não aplicável | 35,875,328 | 08-Abr-2010 | 01:01 | Não aplicável |
| Sqlrun_ns.msp | Não aplicável | 12,269,056 | 08-Abr-2010 | 01:02 | Não aplicável |
| Sqlrun_rs.msp | Não aplicável | 31,128,576 | 08-Abr-2010 | 01:06 | Não aplicável |
| Sqlrun_sql.msp | Não aplicável | 69,868,032 | 08-Abr-2010 | 01:13 | Não aplicável |
| Sqlrun_tools.msp | Não aplicável | 65,883,648 | 08-Abr-2010 | 01:23 | Não aplicável |
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".
Referências
Para obter mais informações sobre a terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684 Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft