15

ssis パッケージでは、データ フロー タスクで構成され、OLEDB ソースと OLDB ターゲットが含まれています。プロバイダーは SQL ネイティブ クライアントです。これは以前は正常に実行されていましたが、以下に示すようにエラーが発生しました。

ado.netに変更する方法を教えてください。

OS : Windows 7 Professional、DB は SQL Server 2000

[Axe_Data [737]] エラー: SSIS エラー コード DTS_E_OLEDBERROR。OLE DB エラーが発生しました。エラー コード: 0x80004005。OLE DB レコードが利用可能です。ソース: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 説明: "通信リンク エラー"。OLE DB レコードが利用可能です。ソース: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80004005 説明: "TCP プロバイダー: セマフォのタイムアウト期間が切れました。".

SSIS の問題を解決するための助けが必要です。SSIS を使用して、ある SQL クラスターから別の SQL クラスターにデータをエクスポート/インポートしようとしています。どちらも SQL 2008 Ent です。64ビット。どちらも Win2k8 Ent で実行されています。64ビット。宛先は Win2k8 R2 です。

私が経験する問題は断続的ですが、非常に頻繁に発生します。SSIS 接続は、さまざまな段階で切断されます。最初のタスクで失敗することもあれば、最後のタスクで失敗することもあります..最初の反復を完全に完了し (for-each ループで)、次の反復で失敗することがあります。

このパッケージの同一バージョンは、過去に別の宛先に対して実行されていましたが、エラーは発生しませんでした。以前の宛先は、Win2k3 Standard および SQL 2005 Std で実行されている単一サーバー (非クラスター化) でした。64 ビット。

新しい宛先サーバーにはトラフィックが完全にありません。十分な CPU/メモリなどがあります。パッケージはソース サーバーまたは宛先サーバーのいずれかから実行され、同様の結果が得られました。

以下は、単純なインポート/エクスポート タスクの出力です。

[dbo] にコピーしています。[AGGSLIVE_Bandwidth] (エラー) メッセージ エラー 0xc0202009: データ フロー タスク 1: SSIS エラー コード DTS_E_OLEDBERROR。OLE DB エラーが発生しました。エラー コード: 0x80004005。OLE DB レコードが利用可能です。ソース: "Microsoft SQL Server Native Client 10.0"
Hresult: 0x80004005 説明: "通信リンク エラー"。OLE DB レコードが利用可能です。ソース: "Microsoft SQL Server Native Client 10.0"
Hresult: 0x80004005 説明: "TCP プロバイダー: 既存の接続がリモート ホストによって強制的に閉じられました。". (SQL Server インポートおよびエクスポート ウィザード)

エラー 0xc0209029:データ フロー タスク 1: SSIS エラー コード DTS_E_INDUCEDTRANSFORMFAILUREONERROR。エラー コード 0xC020907B が発生したため、「input "Destination Input" (62)」が失敗し、「input "Destination Input" (62)」のエラー行の処理がエラー時の失敗を示しています。指定されたコンポーネントの指定されたオブジェクトでエラーが発生しました。これより前に、失敗に関する詳細情報を含むエラー メッセージが投稿される場合があります。(SQL Server インポートおよびエクスポート ウィザード)

エラー 0xc0047022:データ フロー タスク 1: SSIS エラー コード DTS_E_PROCESSINPUTFAILED. 入力「Destination Input」(62) の処理中に、コンポーネント「Destination - AGGSLIVE_Bandwidth」(49) の ProcessInput メソッドがエラー コード 0xC0209029 で失敗しました。識別されたコンポーネントが ProcessInput メソッドからエラーを返しました。エラーはコンポーネントに固有のものですが、エラーは致命的であり、データ フロー タスクの実行が停止します。これより前に、失敗に関する詳細情報を含むエラー メッセージが投稿される場合があります。(SQL Server インポートおよびエクスポート ウィザード)

エラー 0xc0209017:データ フロー タスク 1: バッファーの行セットの末尾の設定がエラー コード 0xC0047020 で失敗しました。(SQL Server インポートおよびエクスポート ウィザード)

エラー 0xc0047038:データ フロー タスク 1: SSIS エラー コード DTS_E_PRIMEOUTPUTFAILED. コンポーネント "Source - Query" (1) の PrimeOutput メソッドがエラー コード 0xC0209017 を返しました。パイプライン エンジンが PrimeOutput() を呼び出したときに、コンポーネントがエラー コードを返しました。エラー コードの意味はコンポーネントによって定義されますが、エラーは致命的であり、パイプラインは実行を停止しました。これより前に、失敗に関する詳細情報を含むエラー メッセージが投稿される場合があります。(SQL Server インポートおよびエクスポート ウィザード)

4

8 に答える 8

12

私はこれと同じ問題を抱えていましたが、同時タスクに同じデータベース接続を使用することに関連しているようです。いくつかの代替ソリューションがあるかもしれませんが (おそらくもっと良いでしょう)、MaxConcurrentExecutables1 に設定することで解決しました。

于 2013-12-06T16:41:33.313 に答える
3

Windows と SQL Server のバージョンを知っていると役立つ場合があります。Native Client 10.0 から、SQL Server 2008 または SQL Server 2008 R2 のいずれかを推測します。

確認できることがいくつかありますが、SQL Server で「優先度ブースト」が構成されているかどうかを確認します。これは非推奨の設定であり、最終的には削除されます。問題は、オペレーティング システムから必要なリソースを奪う可能性があることです。以下のメモを参照してください。

http://msdn.microsoft.com/en-in/library/ms180943(v=SQL.105).aspx

「プライオリティ ブースト」が 1 に設定されている場合は、0 に設定し直してください。

exec sp_configure 'priority boost', 0;
RECONFIGURE;
于 2013-08-22T13:57:33.007 に答える
3

OLE DB コマンドで同様の問題が発生し、コンポーネント内の ValidateExternalMetadata プロパティを False に設定して解決しました。

于 2015-06-01T20:54:24.903 に答える
3

SSIS パッケージ チェックに関連している場合、ソース データベースに null 行がほとんど含まれていない可能性があります。それらを削除すると、この問題は発生しなくなります。

于 2013-11-20T09:17:31.253 に答える
2

この問題が発生したばかりで、csv ファイルに null 行があり、空ではなく「null」というテキストが含まれていたことが問題でした。

于 2014-10-17T11:40:28.430 に答える