我有一个运行良好的SSIS程序包。该程序包每晚运行,大约需要4个小时才能完成。我是SSIS的新手,所以我想看看我的选择是什么。我在网上找不到关于这两个问题的任何内容,因此,非常感谢您提出任何建议。
权力等问题
失败/意外重启。在那儿
提醒某人或让某人
包在重新启动时再次开始。
挂起并锁定的过程
表,使过程不
执行。最好的方法是
确保我有适当的处理
在开始之前访问,如果没有,
获得访问权限。我可以杀人
流程等。
寻找最佳实践信息。谢谢
最佳答案
对于#1-SSIS中没有固有的“重新启动”机制,因此从开始就没有固有的“启动”机制。您必须查看管理包的计划执行的过程,我认为这可能是SQL Agent。
鉴于此,无论作业的内容是否为SSIS包,用于确定SQL Agent作业是否失败和/或重新启动该作业的选项都是相同的。有很多存储过程可用于监视和查询作业执行和结果。您还可以实现自己的机制来记录作业/程序包状态。
SSIS确实提供了“检查点”来帮助您从某些点重新启动软件包,但是对该功能的普遍共识是它的适用性受到限制-您的里程可能会有所不同。
就我个人而言,我总是在我的工作中包含一条失败路线,以向某人发送有关该工作失败的电子邮件,并将我的工作和程序包配置为幂等的-也就是说,可以重新运行它们,而不必担心两次执行相同的操作不正确。他们可以“重置”环境(删除并重新加载),也可以准确地检测到中断的位置。
项目#2是一个难题,在很大程度上取决于您的环境和方案。您可以使用简单的任务(例如Execute SQL Task)来运行“测试”命令,如果存在足够的特权或锁,这些命令将被测试失败。或者,您可以直接通过SP或其他机制进行查询,以确定是否需要采取补救措施,然后再尝试包装食品。
在“失败时”使用优先约束可以帮助这种逻辑。事件处理程序也可以。
关于ssis - SSIS处理外部问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2814698/