5

パッケージがランダムに失敗し、次のエラー メッセージが表示されます。

SSIS エラー コードDTS_E_OLEDBERROR。OLE DB エラーが発生しました。エラー コード: 0x8004D00A。COM エラー オブジェクト情報が利用可能です。ソース: "[パッケージ名]" エラー コード: 0x8004D00A 説明: "SSIS ランタイムは、分散トランザクションに OLE DB 接続を登録できませんでした。エラー 0x8004D00A "トランザクションに登録できません"。

これは常に発生するわけではなく、パッケージを再実行すると成功することが多いため、DTC またはネットワーク構成の問題ではないと思います。これは、Studio 内から、または SQL エージェント ジョブによってパッケージを実行しているかどうかに関係なく発生します。後者の場合、パッケージは、接続しようとしているのと同じ SQL Server インスタンスで実行されています。

ログから、トランザクションが正しい時点で開始されていることがわかりますが、数秒後にエラーが発生します。

この時点でどんな提案もありがたく受け取った!

SQL Server の詳細: Server 2003 64 ビット エンタープライズ (3790) で実行されている 64 ビット エンタープライズ エディション (v9.0.3233)。サーバーは E5345 Xeon を実行し、6 GB の RAM を搭載しています。

4

1 に答える 1

4

最終的に答えが見つかりました。制御フローには、同じデータベースへの接続を確立する 2 つの独立したタスクがありました。明らかに、どこかに競合状態があり、失敗します。タスクを連続して実行するように強制する優先順位の制約を追加すると、問題が解消されました。

于 2009-07-01T08:56:49.223 に答える