在VS设计器中加载SSIS包时禁用包验证

24
我有一些SSIS包部署到SQL 2005服务器,并在Visual Studio 2003中设计和维护。每次打开任何BIDS项目,然后打开其中一个包时,设计器总是验证每个数据流和任务对象。
通常情况下,这不是问题。但在某些情况下,我们用于连接和从AS400导出数据的系统帐户将无法正确验证。由于我正在导出大量表格,每个数据流对象都会尝试通过ODBC连接到AS400,它会收到“无效帐户”错误,然后继续尝试验证下一个任务。这将锁定系统帐户,因为无效凭据尝试了40多次。
我能否在运行包之前禁用验证?作为替代方案,是否有一个设置可以切换,只要发现一个无效对象就停止所有验证?AS400系统将允许少数错误尝试,然后锁定该帐户。显然,如果我可以在发生这种情况之前截断验证过程,那就最理想了。
我有哪些选择?
4个回答

29

很抱歉比较含糊,但这段内容太长了无法复制/粘贴

“打开 SSIS 包时需要花费很长时间吗?”

本文介绍了三个选项,它们会影响加载速度和验证。

  • DelayValidation 属性
  • ValidateExternalMetadata 属性
  • “脱机工作”选项(SSIS 菜单 -> Work Offline 来启用/禁用)

你还可以针对每个连接/任务在多个其他位置设置“DelayValidation”属性。


谢谢GBN。我觉得“离线工作”选项似乎是最好的选择,因为如果我理解文档正确的话,在取消“离线工作”状态时,项目仍然只会逐个验证对象。这样对吗?另外,我该如何实现这个方法呢?文章中没有提到。 - RLH
还有一个问题。如果我使用这种方法,有什么需要注意的地方吗? - RLH
啊,又出现这个问题了。我不是要求你进一步解释,但原始链接已经失效了。你有没有类似的资源可以再次阅读?谢谢。 - RLH
一个要注意的地方 - 即使设置了“脱机工作”选项,您仍然需要在任何数据流上右键单击(在双击并编辑之前)并将“延迟验证”设置为“true”,否则它将尝试验证数据流!这真让人恼火,为什么“脱机工作”不能覆盖这个我不知道,但嘿... - rocket porg

4

不错的发现,Luka。将来你可以点击帖子下面的编辑按钮并自己修复链接 - 我已经做了这个。 - OGHaza
@OGHaza,我不确定他能否做到。请注意声望值为1(现在经过我的点赞变成了11)。 - RLH
据我所知,您不需要任何声望来建议编辑,匿名用户也可以建议。相关元数据 - OGHaza

1
几年后,SSIS扩展版本v3.9引入了一个新功能,允许在打开包时跳过验证。
以下是引入的新功能:
“新增:允许用户在打开包时跳过验证,从而提高性能。请参阅此文章以获取更多详细信息。“ https://techcommunity.microsoft.com/t5/sql-server-integration-services/accelerate-the-opening-of-ssis-package-in-ssdt/ba-p/1607099
打开“跳过打开包时验证”开关。要打开/关闭“跳过打开包时验证”,请在SSDT菜单中选择“工具 -> 选项”项目,并在“选项”窗口上选中/取消选中“业务智能设计师 -> 集成服务设计师 -> 通用 -> 打开包时跳过验证”的复选框。当复选框被选中时,打开包时将跳过包验证。当复选框未选中时,包将在打开时进行验证。默认情况下,复选框未选中。

enter image description here


0
在项目解决方案上右键单击 -> 属性 -> 配置属性 -

调试 -> 交互模式 -> false


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接