CORREÇÃO: O procedimento CLR armazenado retorna NULL depois que ele é recompilado no SQL Server 2008 R2

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

Neste artigo

Sintomas

Considere o seguinte cenário:
  • Você criar um procedimento de runtime (CLR) armazenado de linguagem comum para um banco de dados de Microsoft SQL Server 2008 R2.
  • O procedimento CLR armazenado é implementado como um método público estático que retorna um valor inteiro no Microsoft.NET Framework.
  • Executar um aplicativo que chama o procedimento CLR armazenado. O procedimento CLR armazenado retorna um valor correto.
  • Você realizar algumas operações de recompilar o plano de execução do procedimento CLR armazenado.

    ObservaçãoPara obter mais informações sobre como recompilar o plano de execução para o procedimento armazenado, consulte a seção "Mais informações".
  • Você executar o aplicativo novamente.
Nesse cenário, o procedimento CLR armazenado incorretamente retorna um valor nulo. Além disso, você precisa reiniciar o serviço de SQL Server para recuperar esse problema.

Resolução

Informações de atualização cumulativa

SQL Server 2008 R2

A correção para esse problema foi lançada em 8 de atualização cumulativa. Para obter mais informações sobre como obter o 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:
2534352 Pacote de atualização cumulativo 8 para SQL Server 2008 R2
Observação Porque as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e correções de segurança que foram incluídas com o anterior SQL Server 2008 R2 corrigir lançamento. Recomendamos 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:
981356 O SQL Server 2008 R2 compilações lançadas após o lançamento do SQL Server 2008 R2

Mais Informações

Recompilar o plano de execução para o procedimento armazenado, execute qualquer uma das seguintes operações:
  • Executar o DBCCFREEPROCCACHE instrução.
  • Execute uma das seguintes instruções contra uma tabela ou modo de exibição:
    • ALTERAR TABELA
    • ALTERAR O MODO DE EXIBIÇÃO
  • Execute um plano de execução que altera ou exclui os índices.
  • Executar uma Atualização operação as estatísticas que são usadas pelo plano de execução.

    Observação Você pode executar uma instrução para executar o Atualização a operação, ou o Atualização operação pode ser executada automaticamente.
  • Executar o sp_recompile instrução.
  • Fazer muitas alterações de chaves.

    Por exemplo, use uma conta de usuário que atualiza uma tabela que é referenciada por uma instrução para executar oINSERIR ou EXCLUIR instrução.
  • Inserir ou excluir várias linhas de uma tabela que contém disparadores.
  • Use oCOM RECOMPILE opção para executar um procedimento armazenado.

Situação

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

Referências

Para obter mais informações sobre procedimentos CLR armazenados, visite o seguinte site da MSDN:
Procedimentos armazenados de informações gerais sobre o CLR

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 de SQL Server para fornecer hotfixes para problemas relatados
Para obter mais informações sobre o esquema de nomeação para atualizações de SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
822499Novo esquema de nomeação para pacotes de atualização de software de Microsoft SQL Server
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 que é usada para descrever as atualizações de software da Microsoft

Propriedades

ID do artigo: 2536225 - Última revisão: terça-feira, 2 de agosto de 2011 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
Palavras-chave: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2536225 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: 2536225

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