如何阻止SSIS从"打电话回家"

Bev*_*van 13 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]
Run Code Online (Sandbox Code Playgroud)

我目前的假设是延迟是某种超时,因为SSIS(或者可能是Visual Studio Tools for Applications编辑器)出于某种原因"打电话回家".有问题的机器没有互联网连接,因此请求是徒劳的.

Pon*_*ife 14

是的,你的猜测是正确的,这是一个(相当)众所周知的问题..NET运行时联系crl.microsoft.com以检查已撤销的证书; 如果您的计算机没有Internet访问权限,则运行时将等待,直到连接尝试超时,这可能导致SSIS包启动非常缓慢,Visual Studio 显然锁定等.

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