我正在使用SQL Server 2012
。我目前使用T-SQL
查询在我的数据库上运行了3个作业。我想将所有这3个SQL作业分组到一个SSIS
包中,并为每个作业分配SSIS
包中的特定步骤。
我将使用SSDT
来创建此包。我的3个职位的T-SQL
查询如下:
工作1:
SELECT
*
INTO dbo.table1
FROM
OPENDATASOURCE
(
'SQLOLEDB',
'Data Source=SourceServer;User ID=MyUser;Password=MyPass'
).SourceDatabase.dbo.SourceTable;
除了要导入的表名外,作业2和3与上面相同。
我是否需要为每个作业分配3个独立的SSIS包,然后将这3个SSIS包合并为一个最终的SSIS包?另外,我应该用哪个任务来实现这个目标?
答案 0 :(得分:1)
您不必将作业拆分为单独的包,在您的情况下不会有益。从维护原因我会使用单一包装 只需将您的T-SQL命令文本放在执行SQL任务 - here是Microsoft Docs说明
SSIS可以提供异常处理。比如说,如果第2步失败,则应回滚第1步更改。如果您将所有三个步骤放在一个序列中并将其 TransactionSupport 属性设置为必需,则可以实现此目的。这只是一个例子。
答案 1 :(得分:1)