CORREÇÃO: Ponto de verificação do SSIS restaura um valor de variável incorreto para um item de executar tarefas de SQL de um item para o recipiente de Loop no SSIS 2008 se um pacote do SSIS executa novamente depois que ele falh...

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: 2583994
A Microsoft distribui correções de Microsoft SQL Server 2008 Service Pack 1 (SP1) como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e lançamento da atualização de todas as atualizações de segurança que foram incluídas com o anterior SQL Server 2008 SP1.
Sintomas
Considere o seguinte cenário:
  • Você pode instalar Microsoft SQL Server 2008 Integration Services (SSIS 2008) em um computador.
  • Você criar um pacote do SSIS que contém dois Para o contêiner de Loop itens.
  • Crie dois Para o contêiner de Loop variáveis de escopo para os dois Para o contêiner de Loop itens. As variáveis têm o mesmo nome.
  • Você usar as variáveis no InitExpression, EvalExpression, e AssignExpression propriedades para os dois Para o contêiner de Loop itens.
  • Os dois Para o contêiner de Loop itens contêm múltiplos Executar a tarefa SQL itens que são executados em paralelo.
  • Habilitar o Ponto de verificação configuração para o pacote do SSIS.
  • Executar o pacote do SSIS.
  • Dentre os Executar a tarefa SQL itens falhar ou pára enquanto executa o pacote do SSIS.
  • O pacote do SSIS é executado novamente.

Nesse cenário, a variável de valor de um a Executar a tarefa SQL itens que não falham ou parar está incorreto.

Observação
Isso Executar a tarefa SQL item está na Para o contêiner de Loop item que não falham ou parar.

Por exemplo, considere o seguinte cenário:
  • Você criar um pacote do SSIS tem dois Para o contêiner de Loop itens. Os itens são denominados FLC01 e FLC02.
  • Você cria um BatchNo variável de FLC01 e um BatchNo variável de FLC02.
  • Você definir o InitExpression propriedade para @ [User::BatchNo] = 0.
  • Você definir o EvalExpression propriedade para @ [User::BatchNo]<>.
  • Você definir o AssignExpression propriedade para @ [User::BatchNo]=@[User::BatchNo]+1.
  • Os dois Para o contêiner de Loop itens contêm múltiplos Executar a tarefa SQL itens que usam um plano de execução em paralelo.
  • Habilitar o Ponto de verificação configuração para o pacote do SSIS.
  • Executar o pacote do SSIS.
  • Um Executar a tarefa SQL item no FLC01 falhar ou pára.
  • O pacote do SSIS é executado novamente.

Nesse cenário, o BatchNo valor para uma a Executar a tarefa SQL itens em FLC02 está incorreta.

Observação Esse problema também ocorre no Microsoft SQL Server 2008 R2 Integration Services (SSIS 2008 R2).
Causa
Esse problema ocorre devido a um defeito na lógica de restaurando o Ponto de verificação variável.

O Ponto de verificação as variáveis são restauradas para as tarefas erradas. Portanto, o valor de variável incorreto é restaurado.
Resolução

Informações da atualização cumulativa

Pacote de atualizações cumulativas 16 para SQL Server 2008 SP1

A correção para esse problema foi lançada em 16 de pacote de atualizações cumulativas para SQL Server 2008 SP1. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para SQL Server 2008 SP1, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2582282 Pacote de atualizações cumulativas 16 para SQL Server 2008 Service Pack 1
Observação Como as compilações são cumulativas, cada nova versão de atualização contém todos os hotfixes e lançamento da atualização de todas as atualizações de segurança que foram incluídas com o anterior SQL Server 2008 SP1. Recomendamos que você considere a aplicação a versão de atualização mais recente 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:
970365 O SQL Server 2008 compilações lançadas após o lançamento do SQL Server 2008 Service Pack 1


Como contornar
Para contornar esse problema, use um nome de variável diferente para cada Para o contêiner de Loop item.
Ponto Da Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 2583994 - Última Revisão: 09/19/2011 16:27:00 - Revisão: 1.0

Microsoft SQL Server 2008 Enterprise, Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2008 R2 Datacenter

  • kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2583994 KbMtpt
Comentários
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)