SSIS处理外部问题

时间:2010-05-11 21:48:55

标签: ssis error-handling external-process

我有一个工作正常的SSIS包。包裹每晚运行,大约需要4个小时才能完成。我是SSIS的新手,所以我想知道我的选择是什么。我没有在网上找到关于这两个问题的任何内容,所以非常感谢任何建议。

  1. 当我有外部时该怎么办 权力等问题 失败/意外重启。在那儿 一种提醒某人或有人的方法 包重新开始时再次启动。

  2. 几周前有一个 挂起并锁定的过程 表,使过程不 执行。怎样才是最好的方法 处理确保我有正确的 在开始之前访问,如果没有, 获得访问权限。我很好杀 过程等。

  3. 寻找最佳实践信息。感谢

1 个答案:

答案 0 :(得分:1)

对于#1 - SSIS中没有固有的“重启”机制,因为从一开始就没有固有的“启动”机制。您将不得不查看您已经管理包的计划执行的过程,我认为这可能是SQL代理。 鉴于此,无论作业的内容是否为SSIS包,您确定SQL代理作业是否失败和/或重新启动该作业的选项都是相同的。有很多存储过程用于监视和查询作业执行和结果。您还可以实现自己的机制来记录作业/包状态。 SSIS确实提供“检查点”来帮助您从某些点重新启动包裹,但对该功能的一般共识是它的适用性有限 - 您的里程可能会有所不同。 就个人而言,我总是在工作中包含失败路线,以便在工作失败时向某人发送电子邮件,并将我的工作和包配置为幂等 - 也就是说,它们可以重新运行而不必担心两次不正确地执行相同的操作。它们“重置”环境(删除和重新加载),或者他们可以准确地检测到它们停止的位置。

项目#2是一个难题,在很大程度上取决于您的环境和场景。您可以使用简单的任务(如执行SQL任务)来运行“测试”命令,如果存在足够的权限或锁定,这些命令将被测试失败。或者您可以通过SP或其他机制直接询问,以确定在尝试运行包裹的肉之前是否需要采取补救措施。 使用优先约束“失败”可以帮助实现这种逻辑。事件处理程序也可以。