CORRECÇÃO: mensagem de erro "A declaração do sistema verifique falhou" quando você executa uma consulta SQL de transações no Microsoft SQL Server 2008 ou no Microsoft SQL Server 2008 R2

Traduções deste artigo Traduções deste artigo
ID do artigo: 980832 - Exibir os produtos aos quais esse artigo se aplica.
A Microsoft distribui o Microsoft SQL Server 2008 e o Microsoft SQL Server 2008 R2 correções como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server 2008 ou o SQL Server 2008 R2 anteriores corrigir o lançamento.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Quando você executa uma consulta SQL de transações no Microsoft SQL Server 2008 ou no SQL Server 2008 R2, você pode observar os seguintes sintomas:
  • Você recebe uma mensagem de erro semelhante à seguinte:
    Local: e:\sql10_katmai_t\sql\ntdbms\storeng\dfs\access\sebind.h:1139

    Expressão: bufferLen > = colLen

    SPID:SPID>

    Identificação do processo:ProcessID>

    Msg 3624, nível de 20, estado 1, linha 2

    Falha ao verificar sistema de declaração. Verifique o log de erros do SQL Server para obter mais informações. Normalmente, um erro de declaração é causado por uma software de bug ou corrupção de dados. Para verificar se há corrupção do banco de dados, considere executar DBCC CHECKDB. Se você concordou em Enviar despejos à Microsoft durante a instalação, um mini-despejo será enviado à Microsoft. Uma atualização pode ser disponibilizada pela Microsoft no Service Pack mais recente ou em uma QFE do suporte técnico.

    Msg 0, o nível de 20, State 0, linha 0

    Erro grave no comando atual. Os resultados, se houver algum, deverão ser descartados.
  • Uma mensagem de erro semelhante à seguinte é registrada no log de erro do SQL Server:
    Data hora> spidID> Usando 'DBGHELP. dll' versão '4.0.5'

    Data hora> spidID> ** Despejar o thread - spid = 0, EC = 0x0000000086DC00F0

    Data hora> spidID> *** Sendo enviado ao Server\MSSQL10.MSSQLSERVER\MSSQL\LOG do C:\Program Files\Microsoft SQL \SQLDump0001.txt de despejo de pilha

    Data hora> spidID> * *******************************************************************************

    Data hora> spidID> *

    Data hora> spidID> * DESPEJO DE PILHA INICIAL:

    Data hora> spidID> *Data hora> spidID>

    Data hora> spidID> *

    <date time=""></date>SPID<id></id>* Local: e:\sql10_katmai_t\sql\ntdbms\storeng\dfs\access\sebind.h:1139

    <date time=""></date>SPID<id></id>* Expressão: bufferLen > = colLen

    <date time=""></date>SPID<id></id>* SPID:<spid></spid>

    <date time=""></date>SPID<id></id>* Identificação do processo de:<processid></processid>

    <date time=""></date>SPID<id></id>*

    <date time=""></date>SPID<id></id>* Insira Buffer 264 bytes-

    <date time=""></date>SPID<id></id>* Selecione * de interno de t1 O junção T N2 em O.id = T.id e O.tit

    <date time=""></date>SPID<id></id>* le = T.title ordem por O.id, opção O.title (associação em loop)

    <date time=""></date>SPID<id> </id>*

    ... ...

    ... ...<date time=""></date>SPID<id></id>Erro: 17066, gravidade: 16, estado: 1.

    <date time=""></date>SPID<id></id>Declaração do SQL Server: Arquivo: <e:\sql10_katmai_t\sql\ntdbms\storeng\dfs\access\sebind.h>, linha = 1139 falha na asserção = ' bufferLen > = colLen '. Esse erro pode ser relacionado ao tempo. Se o erro persistir depois de executar novamente a instrução, use DBCC CHECKDB para verificar se o banco de dados para assegurar a integridade estrutural ou reinicie o servidor para garantir que as estruturas de dados na memória não estão corrompidas.</e:\sql10_katmai_t\sql\ntdbms\storeng\dfs\access\sebind.h>

    <date time=""></date>SPID<id></id>Erro: 3624, gravidade: 20, estado: 1.

    <date time=""></date>SPID<id> </id>

    Falha ao verificar sistema de declaração. Verifique o log de erros do SQL Server para obter mais detalhes. Normalmente, um erro de declaração é causado por uma software de bug ou corrupção de dados. Para verificar se há corrupção do banco de dados, considere executar DBCC CHECKDB. Se você concordou em Enviar despejos à Microsoft durante a instalação, um mini-despejo será enviado à Microsoft. Uma atualização pode ser disponibilizada pela Microsoft no Service Pack mais recente ou em uma QFE do suporte técnico.
  • Um arquivo mini-dump é gerado na pasta que contém os logs de erro do SQL Server.
Esses problemas ocorrem quando as seguintes condições forem verdadeiras:
  • A consulta obtém dados de duas ou mais tabelas usando oASSOCIAÇÃOinstrução.
  • Uma das tabelas tiver habilitada a compactação de dados.
  • Na tabela, você tem uma chave de índice de cluster em uma coluna.
  • A coluna faz referência a colunas em outras tabelas que têm comprimentos diferentes.
  • A coluna é usada no filtro ativado.
  • A consulta usa oASSOCIAÇÃO DE LOOPDica de associação ou o SQL Server executa uma operação que utiliza oASSOCIAÇÃO DE LOOPDica de associação.

Causa

O problema ocorre porque o comprimento dos dados de chaves é maior do que o comprimento do buffer de valor da chave compactado.

Resolução

Informações sobre a atualização cumulativa

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 cumulativo de atualização, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2083921Atualização Cumulativa 9 para o SQL Server 2008 Service Pack 1
Observação:Como as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server 2008 anteriores corrigir o lançamento. A Microsoft recomenda que você considere a aplicação a versão mais recente de correção que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
970365O SQL Server 2008 compilações disponibilizadas após o lançamento do SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 hotfixes são criados para service packs do SQL Server específicos. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 1 para uma instalação do SQL Server 2008 Service Pack 1. Por padrão, nenhum hotfix é fornecido em um SQL Server service pack está incluído no próximo do SQL Server service pack.

SQL Server 2008 Service Pack 2

A correção deste problema lançada pela primeira vez na atualização cumulativa 1 para SQL Server 2008 Service Pack 2. Para obter mais informações sobre esse pacote cumulativo de atualização, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2289254Atualização cumulativa 1 para o SQL Server 2008 Service Pack 2
Observação:Como as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server 2008 anteriores corrigir o lançamento. A Microsoft recomenda que você considere a aplicação a versão mais recente de correção que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2402659O SQL Server 2008 compilações disponibilizadas 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 4. 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 da Microsoft:
2345451Pacote cumulativo de atualização de 4 para o SQL Server 2008 R2
Observação:Como as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server 2008 R2 anteriores corrigir o lançamento. A Microsoft recomenda que você considere a aplicação a versão mais recente de correção que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
981356O SQL Server 2008 R2 compilações disponibilizadas após o lançamento do SQL Server 2008 R2

Informações sobre o hotfix

Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, esse hotfix destina-se a corrigir o problema descrito neste artigo. Aplica esta correcção apenas em sistemas que apresentarem esse problema específico.

Se o hotfix está disponível para download, há uma seção de "Download de Hotfix disponível" na parte superior deste artigo da Base de dados de Conhecimento. Se essa seção não for exibida, envie uma solicitação de suporte e atendimento ao cliente Microsoft para obter o hotfix.

Observação:Se ocorrerem problemas adicionais ou qualquer solução de problemas é necessária, talvez seja necessário criar uma solicitação de serviço separada. Os custos de suporte normais se aplicarão a perguntas 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 de suporte e atendimento ao cliente da Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site da Microsoft:
http://support.microsoft.com/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 você não vir seu idioma, é porque um hotfix não está disponível para esse idioma.

Pré-requisitos

Você deve ter o SQL Server 2008 Service Pack 1 instalado para aplicar esse hotfix.

As informações de reinicialização

Não é necessário reiniciar o computador após aplicar esse hotfix.

Informações do registro

Não é necessário alterar o registro após aplicar esse hotfix.

Informações do arquivo

A versão em inglês deste hotfix possui os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas na hora universal coordenada (UTC). Quando você visualiza as informações do arquivo, ele é convertido para a hora local. Para saber a diferença entre o UTC e a hora local, use aFuso horárioguia nosData e horaitem no painel de controle.
O SQL Server 2008, a versão de 32 bits
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Databasemailengine.dll10.0.2781.075,62407-Jun-201003: 45x86
Databasemailprotocols.dll10.0.2781.042,85607-Jun-201003: 45x86
Instmdw.SQLNão aplicável469,80605-Jun-201000: 40Não aplicável
Instmsdb.SQLNão aplicável1,676,51804-Jun-201021: 02Não aplicável
Mssqlsystemresource.ldfNão aplicável524,28805-Jun-201003: 36Não aplicável
Mssqlsystemresource.mdfNão aplicável63,307,77605-Jun-201003: 36Não aplicável
Queryactivityupload.dtsxNão aplicável680,10705-Jun-201000: 40Não aplicável
Sql_engine_core_inst_keyfile.dll2007.100.2781.013,67207-Jun-201004: 26x86
Sqlaccess.dll2007.100.2781.0405,35207-Jun-201005: 32x86
Sqlagent. exe2007.100.2781.0367,46407-Jun-201005: 32x86
Sqlagent100_msdb_upgrade.SQLNão aplicável1,790,63905-Jun-201000: 21Não aplicável
Sqlctr100.dll2007.100.2781.072,55207-Jun-201005: 32x86
Sqlscriptdowngrade.dll2007.100.2781.014,69607-Jun-201005: 33x86
Sqlscriptupgrade.dll2007.100.2781.03,380,07207-Jun-201005: 33x86
Sqlservr. exe2007.100.2781.042,745,19207-Jun-201005: 33x86
Sqsrvres.dll2007.100.2781.089,96007-Jun-201005: 33x86
Xpstar. dll2007.100.2781.0300,90407-Jun-201005: 36x86
O SQL Server 2008, versão de 64 bits
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Databasemailengine.dll10.0.2781.075,62406-Jun-201004: 15x86
Databasemailprotocols.dll10.0.2781.042,85606-Jun-201004: 15x86
Instmdw.SQLNão aplicável469,80605-Jun-201000: 40Não aplicável
Instmsdb.SQLNão aplicável1,676,51804-Jun-201021: 02Não aplicável
Mssqlsystemresource.ldfNão aplicável524,28805-Jun-201003: 36Não aplicável
Mssqlsystemresource.mdfNão aplicável63,307,77605-Jun-201003: 36Não aplicável
Queryactivityupload.dtsxNão aplicável680,10705-Jun-201000: 40Não aplicável
Sql_engine_core_inst_keyfile.dll2007.100.2781.014,18406-Jun-201004: 36x64
Sqlaccess.dll2007.100.2781.0412,00806-Jun-201005: 16x86
Sqlagent. exe2007.100.2781.0427,88006-Jun-201005: 16x64
Sqlagent100_msdb_upgrade.SQLNão aplicável1,790,63905-Jun-201000: 21Não aplicável
Sqlctr100.dll2007.100.2781.0108,39206-Jun-201005: 16x64
Sqlctr100.dll2007.100.2781.072,55207-Jun-201005: 32x86
Sqlscriptdowngrade.dll2007.100.2781.015,72006-Jun-201005: 18x64
Sqlscriptupgrade.dll2007.100.2781.03,379,56006-Jun-201005: 18x64
Sqlservr. exe2007.100.2781.057,893,22406-Jun-201005: 18x64
Sqsrvres.dll2007.100.2781.0105,83206-Jun-201005: 18x64
Xpstar. dll2007.100.2781.0546,66406-Jun-201005: 19x64
O SQL Server 2008, a versão de arquitetura Itanium
Recolher esta tabelaExpandir esta tabela
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Databasemailengine.dll10.0.2781.075,62406-Jun-201012: 33x86
Databasemailprotocols.dll10.0.2781.042,85606-Jun-201012: 33x86
Instmdw.SQLNão aplicável469,80605-Jun-201000: 40Não aplicável
Instmsdb.SQLNão aplicável1,676,51804-Jun-201021: 02Não aplicável
Mssqlsystemresource.ldfNão aplicável524,28805-Jun-201003: 36Não aplicável
Mssqlsystemresource.mdfNão aplicável63,307,77605-Jun-201003: 36Não aplicável
Queryactivityupload.dtsxNão aplicável680,10705-Jun-201000: 40Não aplicável
Sql_engine_core_inst_keyfile.dll2007.100.2781.019,30406-Jun-201012: 53IA-64
Sqlaccess.dll2007.100.2781.0398,69606-Jun-201013: 33x86
Sqlagent. exe2007.100.2781.01,203,04806-Jun-201013: 33IA-64
Sqlagent100_msdb_upgrade.SQLNão aplicável1,790,63905-Jun-201000: 21Não aplicável
Sqlctr100.dll2007.100.2781.0135,01606-Jun-201013: 33IA-64
Sqlctr100.dll2007.100.2781.072,55207-Jun-201005: 32x86
Sqlscriptdowngrade.dll2007.100.2781.020,84006-Jun-201013: 35IA-64
Sqlscriptupgrade.dll2007.100.2781.03,385,70406-Jun-201013: 35IA-64
Sqlservr. exe2007.100.2781.0111,051,11206-Jun-201013: 35IA-64
Sqsrvres.dll2007.100.2781.0187,75206-Jun-201013: 35IA-64
Xpstar. dll2007.100.2781.0936,80806-Jun-201013: 36IA-64

Situação

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

Mais Informações

Para obter mais informações, visite os seguintes sites da Microsoft:

Exibindo o log de erros do SQL Server (SQL Server)

Compactação de dados (SQL Server 2008)

Ingressar em dicas de (Transact-SQL)


Referências

Para obter mais informações sobre o modelo de serviços incrementais para SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
935897É de um modelo de serviços incrementais disponível da equipe do SQL Server para fornecer hotfixes para problemas relatados

Para obter mais informações sobre o esquema de nomeação para atualizações do SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
822499Novo esquema para nomeação para pacotes de atualização de software do Microsoft SQL Server

Para obter mais informações sobre a terminologia da atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão usada para descrever as atualizações de software

Propriedades

ID do artigo: 980832 - Última revisão: segunda-feira, 18 de outubro de 2010 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
Palavras-chave: 
kbexpertiseadvanced kbsurveynew kbfix kbqfe kbhotfixserver kbautohotfix kbmt KB980832 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 980832

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com