2011-12-20 58 views
11

致力於維護大量的SQL Server Integration Services 2008 R2軟件包,我遇到了一個奇怪的問題。如何阻止來自「正在打電話的家庭」的SSIS

這些包頻繁使用腳本任務,用來與一些內部Web服務集成的每一個包含C#代碼。

編輯這些腳本的一個包括以下步驟:

  • 在設計
  • 按右鍵選擇腳本任務,選擇編輯調出腳本任務編輯器對話框
  • 編輯腳本按鈕
  • 等待(剛剛結束)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編輯器)出於某種原因「電話回家」。有問題的機器沒有互聯網連接,所以請求是徒勞的。

回答

12

是的,你的猜測是正確的,這是一個(相當)衆所周知的問題。 .NET運行庫contacts crl.microsoft.com檢查吊銷證書;如果你的機器沒有網絡連接,然後運行時等待,直到連接嘗試超時,這可能會導致SSIS包starting非常緩慢時,Visual Studio apparently locking up

常見的修補程序是允許互聯網接入crl.microsoft.com僅限於使用本地HOSTS文件將名稱重定向到127.0.0.1。

+0

這可能是衆所周知的,但我在Google的幾個月*嘗試中找不到答案!非常感謝答案 - 讓腳本編輯幾乎立即出現是一件美妙的事情。 – Bevan