在维护大量SQL Server Integration Services 2008 R2软件包时,我遇到了一个古怪的问题。
这些软件包经常使用脚本任务,每个脚本任务都包含用于与某些内部Web服务集成的C#代码。
编辑其中一个脚本涉及以下步骤:
等待,以粗体突出显示,让我感到沮丧。
在这些时间内没有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编辑器)出于某种原因“打电话回家”。有问题的机器没有互联网连接,因此请求是徒劳的。
答案 0 :(得分:14)
是的,你的猜测是正确的,这是一个(相当)众所周知的问题。 .NET运行时contacts crl.microsoft.com用于检查已吊销的证书;如果您的计算机没有Internet访问权限,则运行时会等待连接尝试超时,这可能导致SSIS包starting非常缓慢,Visual Studio apparently locking up等。
常见修复方法是仅允许访问crl.microsoft.com,或使用本地HOSTS文件将名称重定向到127.0.0.1。