2009-09-15 82 views
10

私は次のようなエラーに遭遇するSQL Server 2008のSSISパッケージを作成している間:SSISランタイムが分散トランザクションを開始できないのはなぜですか?

Error: The SSIS Runtime has failed to start the distributed transaction due to error 0x8004D01B "The Transaction Manager is not available.". The DTC transaction failed to start. This could occur because the MSDTC Service is not running.

私が作成し、私のマシン上でローカルにパッケージを実行しているが、データベースは、Windows Server 2008を実行して、サーバー上にありますよ、ドメイン内のではなく、です。

DTCサービスがローカルとサーバーの両方で開始されていることを確認しており、Windows Vistaファイアウォールで事前定義されているファイアウォールの例外を追加しました。

なぜSSISランタイムが分散トランザクションを開始できないのですか?

答えて

5

ここで、この問題に対する私の解決策を確認してください[http://faiz.kera.la/2009/08/26/ssis-transaction-enabled-tasks-fail-due-to-msdtc]

あなたのマシンがドメインに存在しないか、Windows XPを実行している場合、これは一般的なシナリオです。

編集:リンクが無効です。リンクからの元のテキストがあると思われる:

In my current project we have multiple SSIS developers in team and we all were sharing the database server instance in my system. We faced an issue yesterday when a team mate was trying to implement transactions in SSIS. The package fails in other machines although it is running smooth in my system where the database resides. The error message thrown out was,

The SSIS Runtime has failed to enlist the OLE DB connection in a distributed transaction with error 0x8004D00E “The transaction has already been implicitly or explicitly committed or aborted”

Soon we realized that this is something related to Microsoft Distributed Transaction Coordinator (MsDTC). We did some search and got a tool called “Dtcping.exe” which will check the health status of MsDTC processes in different machines. The tool reported an error “Access denied”, hinting some security issue with in the MsDTC. But we were not lucky even after a couple of hours of Googling. Then I decided to lean the security settings for MsDTC and I found that all network related connectivity is disabled by default. I learned that authentication settings can cause trouble as our machines were running Windows XP and as they were in a work group (we have a strange network configuration in my organization). I changed to “No Authentication Required” for MsDTC instances in all machines and it worked! To change the Security Configuration for MsDTC, go to Control Panel >> Administrative Tools >> Component Services >> Computers >> Right click My Computer and then click Properties >> Click the MSDTC tab >> Click Security Configuration. Below is a screen shot of the settings that I used, but I do not recommend this configuration for all cases as I am not aware of the impact it can have on securiy.

Screen shot

+0

努力のためにアンドリューに感謝します。私のブログは長く死んでいる。私は同じ目的を果たしているnetからダウンロードした写真を追加しました。 – Faiz

-2

エラー:SSISランタイムは、「トランザクションマネージャーは使用できません。」0x8004D01Bエラーのため、分散トランザクションを開始できませんでした。 DTCトランザクションの開始に失敗しました。これは、MSDTCサービスが実行されていないために発生する可能性があります。

4

私は同じ問題を抱えていましたが、MS DTCは自分のマシンで実行されていませんでした。私は次の操作を行う必要があったトランザクションコーディネーターをオンにするには:

サービスを開くには、MS DTC

  1. を開始するには、[スタート]メニューで、[コントロールパネル]をクリックします。
  2. コントロールパネルで、管理ツールをクリックします。
  3. 管理ツールで、[サービス]をクリックします。詳細ペインで、サービスの一覧で Distributed Transaction Coordinatorをクリックします。
  4. [操作]メニューの[開始]をクリックします。
+1

これは私がグーグルでもう一度私の問題を解決したこの記事に戻ってきた2回目です。誰がなぜそれが起こるか知っていますか?それとも、将来それをどうやって止めるの? – Sam

関連する問題