KB982376 - CORREÇÃO: Um erro de agendador não produtivo 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 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