CORREÇÃO: Resultados incorretos ou violação de restrição ao executar uma instrução SELECT ou DML que usa a função Núm_lin e um plano de execução paralela em SQL Server de 2008

Traduções de Artigos Traduções de Artigos
Artigo: 2589980 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo
A Microsoft distribui correções de Microsoft SQL Server de 2008 como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e lançamento de corrigir todas as correções de segurança que foram incluídas com o anterior de SQL Server de 2008.

Sintomas

Considere o seguinte cenário:
  • Você executa uma consulta paralela que usa o Núm_lin função Microsoft SQL Server de 2008.
  • Você tenta executar a consulta utilizando uma subconsulta que está dentro de um SELECIONE instrução ou uma linguagem de manipulação de dados (DML).
Nesse cenário, você encontrar um dos seguintes problemas:
  • Você recebe resultados incorretos se você executar a consulta dentro doSELECIONE muitas vezes de instrução.
  • A tabela pode conter dados incorretos se a consulta é executada dentro de uma instrução DML. Se a tabela tiver restrições, a instrução pode falhar com uma violação de restrição.

    Por exemplo, um INSERIR instrução pode falhar e ocorrerá um erro de violação de chave primária se a tabela tem uma chave primária.


Observação Esses problemas podem ocorrer em uma das seguintes situações:
  • Você pode definir o MAXDOP opção de dica de consulta para um valor maior que 2.
  • Você pode definir o Grau máximo de paralelismo opção para um valor maior que 2 na configuração do servidor.

Resolução

Para resolver esse problema, obtenha o service pack mais recente de SQL Server de 2008. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:

968382 Como obter o service pack mais recente para 2008 de SQL Server

Como contornar

Para contornar esse problema, use um dos seguintes métodos:
  • Ative o sinalizador de rastreamento 4134 se você tiver aplicado uma das seguintes atualizações:
    • Pacote de atualização cumulativa 6 para 2008 de SQL Server ou um pacote de atualização cumulativa mais recente de SQL Server de 2008
    • O pacote de atualizações cumulativas 2 SQL Server 2008 Service Pack 1 (SP1) ou um pacote de atualização cumulativa mais recente para o SQL Server 2008 SP1


    Para obter mais informações sobre como habilitar os sinalizadores de rastreamento, visite o seguinte site da MSDN:
    Como habilitar os sinalizadores de rastreamento
  • Consulte a seção "Solução alternativa" no artigo da Base de dados de Conhecimento Microsoft 970198.

    Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
    970198 CORREÇÃO: Receber um resultado incorreto quando você executa uma consulta que usa a função Núm_lin em SQL Server de 2008

Propriedades

Artigo: 2589980 - Última revisão: 22 de agosto de 2011 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Service Pack 1
  • Microsoft SQL Server 2008 Service Pack 2
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
Palavras-chave: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2589980 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 2589980

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