如何阻止SSIS从“打电话回家”

时间:2011-12-20 02:44:50

标签: ssis vsta

在维护大量SQL Server Integration Services 2008 R2软件包时,我遇到了一个古怪的问题。

这些软件包经常使用脚本任务,每个脚本任务都包含用于与某些内部Web服务集成的C#代码。

编辑其中一个脚本涉及以下步骤:

  • 在设计器中选择“脚本任务”
  • 右键单击,选择编辑以显示“脚本任务编辑器”对话框
  • 编辑脚本按钮
  • 等待(刚刚结束)15秒
  • 编辑脚本
  • 关闭脚本编辑器
  • 按下“脚本任务编辑器”对话框中的确定按钮
  • 等待(刚刚结束)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编辑器)出于某种原因“打电话回家”。有问题的机器没有互联网连接,因此请求是徒劳的。

1 个答案:

答案 0 :(得分:14)

是的,你的猜测是正确的,这是一个(相当)众所周知的问题。 .NET运行时contacts crl.microsoft.com用于检查已吊销的证书;如果您的计算机没有Internet访问权限,则运行时会等待连接尝试超时,这可能导致SSIS包starting非常缓慢,Visual Studio apparently locking up等。

常见修复方法是仅允许访问crl.microsoft.com,或使用本地HOSTS文件将名称重定向到127.0.0.1。