如何阻止SSIS“打电话回家" [英] How to stop SSIS from "Phoning Home"

查看:21
本文介绍了如何阻止SSIS“打电话回家"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Working on maintaining a substantial set of SQL Server Integration Services 2008 R2 packages, I've run into an oddball problem.

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

These packages make frequent use of Script Tasks, each containing C# code used to integrate with some internal Web Services.

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

Editing one of those scripts involves these steps:

  • 在设计器中选择脚本任务
  • 右键单击,选择编辑以打开脚本任务编辑器对话框
  • 按下编辑脚本按钮
  • 等待(刚刚结束)15 秒
  • 编辑脚本
  • 关闭脚本编辑器
  • 按下脚本任务编辑器"对话框上的确定按钮
  • 等待(刚刚结束)30 秒
  • 对话框消失
  • Select the Script Task in the designer
  • Right click, select Edit to bring up the Script Task Editor dialog
  • Press the Edit Script button
  • Wait (just over) 15 seconds
  • Edit the script
  • Close the script editor
  • Press the OK button on the Script Task Editor dialog
  • Wait (just over) 30 seconds
  • Dialog disappears

正是等待(以粗体突出显示)让我感到沮丧.

It's the waiting, highlighted in bold, that's getting me frustrated.

在那段时间内没有 CPU 活动、没有磁盘 IO、没有网络流量 - 编辑器似乎只是被冻结了.

There's no CPU activity, no disk IO, no network traffic during those times - the editor appears to be just frozen.

顺便说一句 - 这些时间是可靠的 - 我在过去几天里用秒表来测量它们,它们的变化比我按下秒表上的开始/停止按钮的准确度要小.

BTW - those timings are reliable - I've used a stopwatch to measure them over the past couple of days and they vary by less than my accuracy in hitting the start/stop button on the stopwatch.

我能找到的唯一线索是 netstat 在暂停期间显示额外的网络连接:

The only clue I've been able to find is that netstat shows an extra network connection during the pause:

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 编辑器)出于某种原因打电话回家".有问题的机器没有互联网连接,所以请求是徒劳的.

My current hypothesis is that the delays are some kind of timeout as SSIS (or perhaps the Visual Studio Tools for Applications editor) "phones home" for some reason. The machine in question doesn't have internet connectivity, so the requests are in vain.

推荐答案

是的,您的猜测是正确的,这是一个(相当)众所周知的问题..NET 运行时 联系人crl.microsoft.com 检查吊销的证书;如果您的计算机无法访问 Internet,则运行时会等待连接尝试超时,这可能导致 SSIS 包 启动非常慢,Visual Studio 明显锁定

Yes, your guess is correct and this is a (fairly) well-known issue. The .NET runtime contacts crl.microsoft.com to check for revoked certificates; if your machine has no internet access then the runtime waits until the connection attempt times out, which can result in SSIS packages starting very slowly, Visual Studio apparently locking up etc.

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

Common fixes are to allow internet access to crl.microsoft.com only, or to use the local HOSTS file to redirect the name to 127.0.0.1.

这篇关于如何阻止SSIS“打电话回家"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆