Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

BUG #: 129341 (Content Maintenance)
VSTS bug number: 409769

A Microsoft distribui correções do Microsoft SQL Server 2008 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 de 2008 a anterior corrigir lançamento.

Sintomas

Considere o seguinte cenário:

  • No Microsoft SQL Server 2008, você executa uma consulta que utiliza a função IsNull () para selecionar valores em uma coluna anulável.

  • A tabela que contém a coluna anulável é associada a outra tabela, a coluna anulável.

  • O plano de consulta que é criado pelo otimizador de consultas usa uma junção de hash, um spool ou uma tabela de classificação abaixo o operador JOIN .

Nesse cenário, a seguinte mensagem de erro é exibida:

Msg 681, nível 16, estado 3, linha 2Attempting para definir o valor de uma coluna não passível de NULL para NULL.

Causa

Otimizador de consulta determina que a coluna referenciada na função IsNull () é não-nulo porque o operador join rejeita valores nulos. Em seguida, no plano de consulta, Otimizador de consultas coloca a expressão que está na função IsNull () abaixo do operador JOIN . Além disso, o valor da expressão pode ser NULL. No entanto, Otimizador de consultas não derivar novamente a propriedade de nulidade da expressão. Em seguida, o plano de consulta uma tabela de trabalho é usada para implementar a junção de hash, o spool ou a tabela de classificação que inclui a expressão. Além disso, a coluna correspondente na tabela de trabalho é declarada como não-nulo. Quando o mecanismo de consulta do SQL Server tenta inserir valores nulos na tabela de trabalho, o erro ocorre.

Resolução

A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 7 para 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 Conhecimento da Microsoft:

979065 Pacote de atualizações cumulativas 7 para SQL Server 2008 Service Pack 1Observaçã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 de 2008 lançamento de correção. Recomendamos que você considere aplicar o lançamento mais recente de correção 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:

970365 O SQL Server 2008 compilações disponibilizadas após o lançamento do SQL Server 2008 Service Pack 1Os 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 1 para uma instalação do SQL Server 2008 Service Pack 1. Por padrão, todos os hotfixes fornecidos em um service pack do SQL Server estão incluídos no próximo service pack do SQL Server.

Solução alternativa

Para contornar esse problema, use um dos seguintes métodos.Método 1Remova a função IsNull () da consulta. ObservaçãoComo a coluna é nessa função vem do operador JOIN que rejeita valores nulos, a função IsNull () é redundante.Método 2Reescreva a consulta para que o plano de consulta não usa uma junção de hash, um spool ou uma tabela de classificação. Por exemplo, se sua consulta contiver uma cláusula ORDER BY, crie um índice em cluster ou tratando que fornece a ordem necessária e inclui todas as colunas obrigatórias. Quando você usar esse método, o otimizador de consultas não usa uma tabela de classificação.

Status

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

Referências

Para obter informações sobre o modelo de serviços incrementais para SQL Server, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:

935897 Um modelo de serviços incrementais está disponível da equipe do SQL Server para fornecer hotfixes para problemas relatadosPara obter mais informações sobre o esquema para nomeação para atualizações do SQL Server, clique no número abaixo para ler o artigo na Base de Conhecimento da Microsoft:

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

824684 Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft

Author (SME): bruceye
Writer: v-vincli
Tech Reviewer: jpilov; alexek; rajneesh
Editor: v-chliao

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×