13

SQL Server Integration Services 2008 R2 パッケージの実質的なセットを維持する作業を行っているときに、奇妙な問題に遭遇しました。

これらのパッケージはスクリプト タスクを頻繁に使用します。各スクリプト タスクには、一部の内部 Web サービスとの統合に使用される C# コードが含まれています。

これらのスクリプトの 1 つを編集するには、次の手順が必要です。

  • デザイナーでスクリプト タスクを選択します。
  • 右クリックして [編集] を選択し、[スクリプト タスク エディター] ダイアログを表示します。
  • スクリプトの編集ボタンを押します
  • 15 秒ほど待ちます
  • スクリプトを編集する
  • スクリプト エディタを閉じる
  • [スクリプト タスク エディター] ダイアログの [ OK ] ボタンを押します。
  • 30 秒ほど待ちます
  • ダイアログが消える

私をイライラさせているのは、太字で強調表示されている待機です。

この間、CPU アクティビティ、ディスク IO、ネットワーク トラフィックはありません。エディタはフリーズしているように見えます。

ところで-これらのタイミングは信頼できます-私はストップウォッチを使用して過去数日間それらを測定しましたが、ストップウォッチのスタート/ストップボタンを押す精度よりも変動が少ない.

私が見つけた唯一の手がかりはnetstat、一時停止中に追加のネットワーク接続を示すことです。

C:\>netstat -o -b

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP    fsis-datam-dev2:3478   akamai-9.fx.net.nz:http  SYN_SENT        700
  [VSTA.exe]

私の現在の仮説は、SSIS (またはおそらく Visual Studio Tools for Applications エディター) が何らかの理由で "家に電話" するため、遅延はある種のタイムアウトであるというものです。問題のマシンにはインターネット接続がないため、リクエストは無効です。

4

1 に答える 1

15

はい、あなたの推測は正しく、これは (かなり) よく知られた問題です。.NET ランタイムは crl.microsoft.comにアクセスして、失効した証明書を確認します。マシンがインターネットにアクセスできない場合、ランタイムは接続の試行がタイムアウトするまで待機します。その結果、SSIS パッケージの起動が非常に遅くなり、Visual Studioが明らかにロックアップするなどの結果が生じる可能性があります。

一般的な修正は、インターネット アクセスを crl.microsoft.com のみに許可するか、ローカルの HOSTS ファイルを使用して名前を 127.0.0.1 にリダイレクトすることです。

于 2011-12-20T09:24:03.707 に答える