Artigo: 2253391 - Última revisão: quarta-feira, 7 de Julho de 2010 - Revisão: 1.0

A execução de um pacote de SQL Server Integration Services (SSIS) deixa de responder quando activar transacções DTC para um pacote do Microsoft SQL Server

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sintomas

Considere o seguinte cenário:
  • Criar um pacote de SQL Server Integration Services (SSIS) no Microsoft SQL Server 2005, no SQL Server 2008 ou no SQL Server 2008 R2.
  • Pacote SSIS a contém uma tarefa de fluxo de dados e algumas outras tarefas.
  • OTransactionOptionpropriedade do pacote SSIS está definida comoNecessáriapara utilizar transacções DTC.
  • As outras tarefas executadas numa transacção DTC antes da execução da tarefa de fluxo de dados.
  • Adicionar um componente para a tarefa de fluxo de dados.
  • OValidateExternalMetadatapropriedade de um componente de fluxo de dados está definida comoVerdadeiro.
  • A tarefa de fluxo de dados contém um componente de destino OLE DB com o modo de acesso de dados definido paraTabela ou vista, ou paraVariável de nome de nome ou na vista de tabela.
Quando executar o pacote neste cenário, a execução pára de responder. Além disso, se a depurar o pacote SSIS no Visual Studio, receberá mensagens semelhantes à seguinte noProgressovista:

SSIS compactar "Package.dtsx" Iniciar.
Informações: 0x4004300A na Data Flow tarefas, DTS.Pipeline: é a fase de validação início.
Informações: 0x4001100A no pacote: iniciar transacção distribuída para este contentor.
Informações: 0x4004300A na Data Flow tarefas, DTS.Pipeline: é a fase de validação início.

Causa

Este problema ocorre porque a ligação no fluxo de dados não é inscrito na transacção DTC. Isto faz com que a execução do procedimento sp_cursoropen armazenados a ser bloqueados. Esta é uma funcionalidade de design porque uma ligação não pode ser inscrito numa transacção DTC durante o processo de validação. No cenário descrito na secção "Sintomas", o processo de validação de um componente de fluxo de dados é bloqueado quando executar o pacote porque a ligação na tarefa de fluxo de dados não foi inscrita na transacção DTC.

Resolução

Para resolver este problema, utilize um dos seguintes métodos:
  • DefinirValidateExternalMetadatapara todos os componentes na tarefa de fluxo de dados paraFalso
  • Definir o modo de acesso de dados do componente OLE DB destino para um dos seguintes modos:
    • Carregar a tabela ou vista ? rápida
    • Tabela de nome ou vista nome variável ? carga rápida
    • Comando SQL

Mais Informação

OTabela ou vistamodo de acesso a dados está bloqueado, mas outros modos de acesso a dados não são bloqueados porque os diferentes comandos emitidos pelo fornecedor de dados para cada modo de acesso a dados. Para obter mais detalhes sobre este problema, utilize o SQL Server Profiler para ver os diferentes comandos emitidos pelo fornecedor de dados.

Para mais informações sobre como utilizar o SQL Server Profiler, visite o seguinte Web site da MSDN (Microsoft Developer Network):
Utilizar o SQL Server Profiler (http://msdn.microsoft.com/en-us/library/ms187929.aspx)

Para mais informações sobre como resolver problemas relacionados com pacotes SSIS, visite o seguinte Web site da MSDN (Microsoft Developer Network):
Resolução de problemas de desenvolvimento de pacote (http://msdn.microsoft.com/en-us/library/ms137625(SQL.90).aspx)

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
Palavras-chave: 
kbinfo kbexpertiseadvanced kbsurveynew kbmt KB2253391 KbMtpt
Tradução automáticaTraduçã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: 2253391  (http://support.microsoft.com/kb/2253391/en-us/ )