KB2536225-FIX: o procedimento armazenado CLR retorna NULL Após ser recompilado no SQL Server 2008 R2 ou no SQL Server 2008

A Microsoft distribui o Microsoft SQL Server 2008 R2 ou o Microsoft SQL Server 2008 correções como um arquivo que pode ser baixado. 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 na versão anterior do SQL Server 2008 R2 ou SQL Server 2008 Fix.

Considere o seguinte cenário:

  • Você cria um procedimento armazenado CLR (Common Language Runtime) para um banco de dados do Microsoft SQL Server 2008 R2 ou Microsoft SQL Server 2008.

  • O procedimento CLR armazenado é implementado como um método público estático que retorna um valor inteiro no Microsoft .NET Framework.

  • Você executa um aplicativo que chama o procedimento armazenado CLR. O procedimento armazenado CLR retorna um valor correto.

  • Você executa algumas operações que recompilam o plano de execução do procedimento CLR armazenado.Observação Para obter mais informações sobre como recompilar o plano de execução do procedimento armazenado, consulte a seção "mais informações".

  • Você executa o aplicativo novamente.

Nesse cenário, o procedimento CLR armazenado retorna incorretamente um valor nulo. Além disso, você precisa reiniciar o serviço do SQL Server para se recuperar desse problema.

A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 2 do SQL Server 2008 Service Pack 3. Para obter mais informações sobre esse pacote de atualizações cumulativas, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:

2633143 Pacote de atualizações cumulativas 2 para SQL Server 2008 Service Pack 3Observação 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 incluídas na versão anterior do SQL Server 2008 Fix. A Microsoft recomenda que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:

2629969 As compilações do SQL Server 2008 lançadas após o lançamento do SQL Server 2008 Service Pack 3 Hotfixes do Microsoft SQL Server 2008 são criados para Service Packs específicos do SQL Server. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 3 a uma instalação do SQL Server 2008 Service Pack 3. Por padrão, qualquer hotfix fornecido em um Service Pack do SQL Server está incluído no próximo Service Pack do SQL Server.

A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 2 para SQL Server 2008 R2 Service Pack 1. Para obter mais informações sobre como obter esse pacote de atualização cumulativa, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:

2567714 Pacote de atualizações cumulativas 2 para SQL Server 2008 R2 Service Pack 1Observação 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 incluídas na versão anterior do SQL Server 2008 R2. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:

2567616 As compilações do SQL Server 2008 R2 que foram lançadas após o lançamento do SQL Server 2008 R2 Service Pack 1

A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 8. Para obter mais informações sobre como obter este pacote de atualização cumulativa do 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ções cumulativas 8 para SQL Server 2008 R2 Observação 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 incluídas na versão anterior do SQL Server 2008 R2. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:

981356 As compilações do SQL Server 2008 R2 que foram lançadas após a liberação do SQL Server 2008 R2

Para recompilar o plano de execução do procedimento armazenado, execute qualquer uma das seguintes operações:

  • Execute a instrução DBCCFREEPROCCACHE .

  • Execute uma das seguintes instruções em uma tabela ou modo de exibição:

    • ALTER TABLE

    • ALTER VIEW

  • Execute um plano de execução que altera ou exclui índices.

  • Realize uma operação de atualização nas estatísticas usadas pelo plano de execução. Observação Você pode executar uma instrução para executar a operação de atualização ou a operação de atualização pode ser executada automaticamente.

  • Execute a instrução sp_recompile .

  • Fazer muitas alterações nas teclas. Por exemplo, use uma conta de usuário que atualize uma tabela referenciada por uma instrução para executar a instrução Insert ou delete .

  • Inserir ou excluir várias linhas de uma tabela que contém gatilhos.

  • Use a opção WITH RECOMPILE para executar um procedimento armazenado.

A Microsoft confirmou que este é um problema nos produtos Microsoft que estão listados na seção "Aplicável a".

Para obter mais informações sobre procedimentos armazenados CLR, acesse o seguinte website MSDN:

Informações gerais sobre procedimentos armazenados CLRPara obter mais informações sobre o modelo de manutenção incremental do SQL Server, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:

935897 Um modelo de serviço incremental está disponível na equipe do SQL Server para fornecer hotfixes para problemas relatadosPara 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 de nomeação para pacotes de atualização de software do Microsoft SQL ServerPara obter mais informações sobre 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

Precisa de mais ajuda?

Expanda suas habilidades
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Microsoft Insider

Estas informações foram úteis?

Obrigado por seus comentários!

×