2012-03-09 33 views
0

データフロータスク内でOLEDB接続を使用して多数のデータをフェッチするSSISパッケージがあります。 私はそれが時々次のエラー(スニペット)で失敗し、私のローカルマシンからパッケージを実行します。私は、サーバーにパッケージを展開し、何もうまくいかないエージェントジョブでそれを実行した場合SSIS接続が切断されました

Warning: 0x80019002 at OnError: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. [..] 
    Error: 0xC0202009 at DFT Transform, SRC BSASREL1 [1]: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. 
    An OLE DB record is available. Source: "Microsoft OLE DB Provider for SQL Server" Hresult: 0x80004005 Description: "[DBNETLIB][ConnectionRead (recv()).]Generel netværksfejl. [..] 
    Error: 0xC0047038 at DFT Transform, SSIS.Pipeline: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on component "SRC BSASREL1" (1) returned error code 0xC0202009. 
The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, 
but the error is fatal and the pipeline stopped executing. 

。 エラーは定期的にデバッグするのが難しくなります。

誰かに同様のエラーがあったのですか?これを解決する方法はありますか?

EDIT:問題が解決されたようです。私たちはTCP Chimneyを無効にして以来、接続に問題はありませんでした。

+1

Thx、ご意見のため。私はSSISパッケージを見てみようとしましたが、これまでのところ、ネットワークのことだと思います。私はTCP Chimneyを無効にしました。これは、明らかにSSIS接続が切断される可能性があるためです。これまでのところエラーはなくなりましたが、定期的なので、まだブロックに頭を上げていません。私は数週間後に再び書いて、ステータスが何であるかを伝えます:-) – NicolajB

答えて

1

長い間実行していますか?パッケージをデプロイするサーバーは、データを読み取る場所と同じサーバーですか?

もしそうなら、問題は外部にある可能性があります。私は実行している重いデータ転送パッケージにも同様の問題があります。サーバが他のプロセスに余りにも負荷がかかる場合、それらは失敗することがあります。そのような場合は、外部の問題です。

私のアドバイスは、エラーの原因を突き止めること(パッケージの実行中にテストサーバーを過負荷にしようとするか、接続でタイムアウトを探すこと)を試み、再試行メカニズムを使用して制限を回避するか、トラフィックはより少ない時間でパッケージされます。

0

だけでなく、0xC0202009がDTS_E_OLEDBERRORエラー(http://msdn.microsoft.com/en-us/library/ms345164.aspx)であるとdbnetlib.dllプロセスは、「接続を維持するために、Microsoft SQL ServerにキープアライブTCP/IPパケットを送信する機能を持っている」(これはBOLからである)

私は何か関連するタイムアウトを言うでしょう。 OLE DBソースコンポーネントにコマンドタイムアウトプロパティがあります。値を確認できますか? 接続マネージャーの接続文字列にあるかもしれません

2

ここでは、エラーの根本原因を特定するのに十分な情報はありません。それはSSISの責任ではありません。さまざまなプロバイダから返されたエラーがあり、SSISはそれらを単純に「転送」します。原因を示すエラーメッセージには、おそらく手がかりがあります。

SSISとSQL Serverで接続に関する問題を修正しようと多くの時間を費やしていましたが、根本的な原因は、DCのいずれかがオフラインになっていた...

アンディ

0

誰もが2年間で、この記事で何もしてませんが、私はこのエラーに遭遇したとのデータのサイズことがわかっていますことが判明しましたsetは、このエラーがスローされたかどうかを判断します。奇妙なことに、SSISプログラムをIDE経由で実行しても、エラーは発生しませんでした。このエラーが発生しているのは、プロダクションモードのみです。

ソリューションは、私が見つけた、返されるデータの量を制限するために、このようなものを使用して(XMLに書き込まれていた)私のデータセット解散しました:

select * from (
    select *, row_number() over (order by a.pkey asc) 'ranker' from sometable 
) where Ranker <500000 

は吸うが、それは何I見つかった

関連する問題