
当社には、メインの ETL/DW サーバーである SQL Server 2012 インスタンスがあります。毎日のジョブは、他のデータ ソースのクエリ、DataMart の更新、標準 ETL および BI プロセスなど、約 40 以上の ETL プロセスで構成されています。
過去数週間、多くのジョブがネットワーク関連のエラーで失敗しています。これらのエラーのほとんどは次のとおりです。
"サーバー接続の開始が遅れたため、ログインプロセスを完了できません「
」ログインタイムアウトが経過しました「
」SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできません。インスタンス名が正しいかどうか、および SQL Server がリモート接続を許可するように構成されているかどうかを確認してください。」
すべてのデータ ソース アカウント、権限、可用性は動作していることが確認されており、ログインして ETL パッケージを手動で実行しても問題なく動作しました。唯一のリソースの問題は、毎日のジョブ処理中に CPU 使用率が 90 ~ 99% と高くなることです。このときにこれらのエラーが発生します。
障害は一貫して発生するわけではありませんが、通常は週に 1 回程度、他のすべてが正常に動作しているときに、1 日に多数の障害が発生します。
これらの問題の原因は他にどこを探せばいいのでしょうか? CPU 使用率が高いために待機時間が長くなり、それがネットワーク エラーとして現れているのでしょうか?
答え1
SSIS サーバーの CPU 使用率が高いことが原因である可能性が非常に高いです。クライアント (この場合は SSIS サーバー) の CPU がビジー状態の場合、クライアントは SQL Server からの応答を処理するために長時間待機することになります。SSIS ボックスのワークロードを減らすか、CPU 負荷が下がり接続が問題なく機能するようにいくつかのものを最適化する必要があります。