web-dev-qa-db-ja.com

SSISパッケージは完了せずに永久に実行されます。 OLEDBソースクエリが中断されました

強制終了されるまで断続的に実行されるパッケージがいくつかあります。

アクティビティモニターを見ると、データフローの1つのソースクエリがASYNC_NETWORK_IO待機で中断状態になっていることがわかります。プロセスが強制終了されるまで、タスクはその状態のままになります。 Source query suspended

これは、いくつかの異なるサーバー上のいくつかの異なるパッケージで発生しています。一時停止になるクエリは、常に非常に単純なクエリであり、SSMSで実行すると1秒未満で実行されます。

頻繁に中断されるクエリが2つあります。 1つは、データベースの1つのテーブルから別のデータベースのテーブルへの内部結合です。通常、1秒未満で約500行、約10列が返されます。 2つ目は、約100,000行のテーブルからのSelect *です。

私はASYNC_NETWORK_IOの意味を調べてきましたが、それは通常、クライアントアプリケーションがデータを消費したことをSQLに通知していないことが原因であるようです。

また、リソース/ NICの問題である可能性があることも読みましたが、それは私には思われません。これらのサーバーの一部は仕様超過であり、パッケージは、操作するすべてのデータを保持するサーバー上で実行されています。ネットワークを使用する必要はありません。

パッケージが無期限に中断されないようにするにはどうすればよいですか?

編集:

最近この問題が発生した2つのサーバーはどちらもSQL Server 2014 Standard Editionです。バージョン12.0.5605.1およびバージョン12.0.4213.0。

EDIT2:原因は、高額な変換の束全体によって引き起こされるバックプレッシャーにあると確信しています。パッケージには、約10のOledbコマンドと、ゆっくりと変化するいくつかの寸法が含まれています。書き直す必要があるだけだと思います。

2
Matthew Bell

あなたの説明に基づいて、ソースクエリが送信するのと同じ速さで行を処理できないという点で、残りのSSISデータフローが問題であると私は推測しています。したがって、SSISは バックプレッシャー を適用するため、SSISのメモリに大量の行が取得されません。このバックプレッシャーにより、SQLクエリが中断されます。完全なデータフローとすべての変換/コンポーネント/宛先を説明できますか?

無料のBI Developer Extensionsをインストールし、 パイプラインコンポーネントのパフォーマンスの内訳 機能を実行して、ボトルネックとなっているコンポーネントを確認することをお勧めします。

1
GregGalloway