この質問を修正するための私の最新の取り組みは次のとおりです。しかし、今回は、Odedの記事で与えられた良い助言に従うようにしています StackOverflowで良い答えを得る 。
次のエラーの根本原因を特定する方法を見つける必要があります。
通信リンク障害
TCPプロバイダー:指定されたネットワーク名は使用できなくなりました
SSISパッケージのセットを実行すると、時々このエラーが表示されます。このエラーは、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プロバイダー:指定されたネットワーク名は使用できなくなりました。」.
SSISエラーコードDTS_E_OLEDBERROR。 OLE DBエラーが発生しました。エラーコード:0x80004005。 OLE DBレコードが利用可能です。ソース:「Microsoft SQL Server Native Client 10.0」Hresult:0x80004005説明:「TDSストリームのプロトコルエラー」。 OLE DBレコードが利用可能です。ソース:「Microsoft SQL Server Native Client 10.0」Hresult:0x80004005説明:「通信リンク障害」。 OLE DBレコードが利用可能です。ソース: "Microsoft SQL Server Native Client 10.0" Hresult:0x80004005説明: "TCPプロバイダー:既存の接続はリモートホストによって強制的に閉じられました。"
これは、ETLプロセスの設計方法の概要です。
OLE DB接続マネージャーを使用して、アプリケーションサーバー上のSSISパッケージからデータベースサーバー上のSQL Serverデータベースに接続します。
パッケージは、データベースサーバー上のデータベース展開としてではなく、アプリケーションサーバー上のファイルシステム展開として実行されます。
これの主な理由は、ETLが、データベースサーバーに見つからないドライブやデータベースサーバーにアクセスできないドライブのセットと統合されていることです。これらのツールには、Apex Data Loader for SalesforceおよびpgAdmin IIIが含まれます。
これまでのところ、このエラーを一貫して再現することはできません。ただし、これは私が観察したことです:
金曜日の朝に約2時間、特定のパッケージでエラーを正常に再現できました。
このエラーは、大きなデータフローの前にある子パッケージ呼び出しが有効になっている場合に、大きなデータフロー中に発生しました。
大きなデータフローに先行する子パッケージ呼び出しが無効になっている場合、同じ大きなデータフロー中にエラーは発生しませんでした。
問題の子パッケージはデータベースにコールバックして、電子メール本文で使用するわずかな情報を取得し、電子メールを送信します。
リソースの制限を超えているように感じますか?
おそらく接続制限ですか?
エラーの根本原因を特定するためにどのツールを使用する必要があるのか疑問に思っています。
関連する2つのサーバーに関する技術的な詳細を以下に示します。
SQL Serverおよびデータベースサーバー情報:
Microsoft SQL Server 2008 R2(SP1)-10.50.2500.0(X64)2011年6月17日00:54:03 Copyright(c)Microsoft Corporation Enterprise Edition(64ビット)on Windows NT 6.1(Build 7601:Serviceパック1)(ハイパーバイザー)SSIS情報:
Microsoft Visual Studio 2008バージョン9.0.30729.1 SP Microsoft .NET Frameworkバージョン3.5 SP1アプリケーションサーバー情報:
OS名:Microsoft Windows Server 2008 R2標準バージョン:6.1.7601 Service Pack 1ビルド7601
私はオンラインでエラーメッセージを調査し、これらを見つけましたが、先に進む前に専門家の洞察を得たいと思っています:
どんな助けも大歓迎です。
ありがとう
UPDATE:
SQL Server Management Studioを使用する場合、同じエラーが同じ割合で見られるため、さらにテストを行うと、これは「SSISの問題」ではないことがわかります。クエリが複雑であっても、エラーの可能性は多少なりとも変わりません。解決しようとして、1つの修正を試みました(以下)。
これが私たちの最初の試みでした。 TCP Chimneyは、アプリケーションサーバーとデータベースサーバーで無効になりました。テストでは、同じエラーが同じレートで発生することが示されています。
それでは、ここからどこへ行くのでしょうか?正直なところわからない。一見良いオプションが残っています:
計画では、アプリケーションサーバー上のSQL Serverインストールをアップグレードします。一種のヒットと希望ですが、現時点ではこれが最良の選択肢のようです。私の頭の中の何かは、これはハードウェアの問題を修正することで解決できるかもしれないことを教えてくれます(つまり、修理または交換を意味します)。
ただし、根本的な原因を特定する方法はまだわかりません。根本原因を診断するためにどのツールを使用する必要があるのか、まだ疑問に思っています。
Application Server側にAVソフトウェアがありますか?はいの場合は、AVを無効にしてみてください-AVがTCP/IPトラフィックをブロックすることがあります。ここでAVを無効にすることで、「指定されたネットワーク名は使用できなくなりました」という問題は解決されました: https://community.spiceworks.com/topic/239423-the-specified-network-name-is-no-longer -available-while-writing-to-shared-dir
エラーメッセージは、接続が強制的に閉じられたことを示します。これは、多くのジョブを実行するときに発生することにも言及しています。ネットワークファイアウォールが原因である可能性があります。ファイアウォールが接続を閉じたかどうかを確認するために、ファイアウォール管理者に連絡してログを調査する必要があります。この場合、次の2つの解決策が考えられます。