Mensagem de erro quando utiliza a função de gerenciamento dinâmico sys.dm_exec_query_plan para retornar um Showplan em formato XML para um lote de Transact-SQL: "uma verificação de declaração do sistema tiver falha"

Extended support for SQL Server 2005 ended on April 12, 2016

If you are still running SQL Server 2005, you will no longer receive security updates and technical support. We recommend upgrading to SQL Server 2014 and Azure SQL Database to achieve breakthrough performance, maintain security and compliance, and optimize your data platform infrastructure. Learn more about the options for upgrading from SQL Server 2005 to a supported version here.

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: 915050
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.

Sintomas
Considere o cenário a seguir. Você usar a função de gerenciamento dinâmico sys.dm_exec_query_plan para retornar um Showplan em formato XML para um lote de Transact-SQL. O plano de consulta de execução do lote Transact-SQL reside no cache do plano. Quando o tamanho do Showplan ultrapassa 1 MB em versões do Microsoft SQL Server 2005 32-bit ou excede 0,5 MB em versões do SQL Server 2005 64 bits, pára a consulta. Nesse cenário, mensagem um SQL Server declaração de erro no log de erro semelhante à seguinte:
Erro: 17066, gravidade: 16, estado: 1.
Declaração do SQL Server: Arquivo: <tmpilb.cpp>, linha = 3131 falha declaração = 'fNoWriters'. Este erro pode ser relacionados ao tempo. Se o erro persistir após executar novamente a instrução, use DBCC CHECKDB para verificar o banco de dados para integridade estrutural ou reinicie o servidor para garantir a estruturas de dados na memória não estão corrompidas.
Erro: 3624, gravidade: 20, estado: 1.
Uma verificação de declaração de sistema falhou. Verifique o log de erro do SQL Server para obter detalhes
Resolução

Informações sobre o service pack

Para resolver esse problema, obtenha o service pack mais recente para o Microsoft SQL Server 2005. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
913089Como obter o service pack mais recente para o SQL Server 2005
Como Contornar
Para contornar esse problema, execute a instrução SET SHOWPLAN_XML ON Transact-SQL e execute o lote de Transact-SQL. Depois de obter o Showplan para o lote de Transact-SQL, execute a instrução SET SHOWPLAN_XML OFF Transact-SQL. Para fazer isso, execute as seguintes etapas:
  1. No SQL Server Management Studio, se conectar à instância do SQL Server 2005.
  2. Clique em Nova consulta para abrir um novo editor de consulta.
  3. Executar o código a seguir.
    SET SHOWPLAN_XML ONMy_Transact-SQL_batchSET SHOWPLAN_XML OFF
    Observação My_Transact-SQL_batch é um espaço reservado para o lote de Transact-SQL cujo Showplan você deseja obter.
Observação Você precisa executar a instrução SET SHOWPLAN_XML ON Transact-SQL e a instrução SET SHOWPLAN_XML OFF Transact-SQL separadamente do restante do código.
Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a". Esse problema foi corrigido primeiro no Microsoft SQL Server 2005 Service Pack 1.
Referências
Para obter mais informações sobre a instrução SET SHOWPLAN_XML Transact-SQL, visite a seguinte site da Microsoft Developer Network (MSDN): Para obter mais informações sobre a função de gerenciamento dinâmico sys.dm_exec_query_plan , visite o seguinte site da MSDN:

Propriedades

ID do Artigo: 915050 - Última Revisão: 12/09/2015 04:44:59 - Revisão: 2.4

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Enterprise X64 Edition

  • kbnosurvey kbarchive kbmt kbsql2005sp1fix kbsql2005xml kbsql2005presp1fix kbsql2005repl kbexpertiseadvanced kbtshoot kbprb KB915050 KbMtpt
Comentários