为了账号安全,请及时绑定邮箱和手机立即绑定

如何在运行SSIS包的SQL Server代理作业中创建步骤?

如何在运行SSIS包的SQL Server代理作业中创建步骤?

一只甜甜圈 2019-11-30 10:56:10
我正在尝试为SQL Server代理创建自动化作业以运行。该工作应该运行我的SSIS包。这是我到目前为止的内容:EXEC sp_add_job @job_name = 'My Job'            ,@description = 'My First SSIS Job'            ,@job_id = @jobid OUTPUTEXEC sp_add_jobstep @job_id =@jobid                    ,@step_name = N'Upload Data'                    ,@step_id = 1                    ,@command=N'/FILE "D:\Installs\Upload.dtsx"'EXEC sp_add_jobstep @job_id = @jobid                    ,@step_name = N'Download Data'                    ,@step_id = 2                    ,@command=N'/FILE "D:\Installs\Download.dtsx"'不幸的是,当我运行此程序时,出现错误提示'/'附近的语法不正确我怀疑它在抱怨/FILE我的命令。我在任何地方都找不到有关在@command中使用的适当语法的文档-我退出/FILE了在某处找到的一些旧代码。在作业中运行SSIS包的正确语法是什么?
查看完整描述

2 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

我在问题中运行了SQL脚本,但没有遇到任何错误。因此,我不确定是什么导致您的错误。但是,如果您可以SQL Server Agent通过SQL Server Management Studio 访问。以下是使用图形用户界面创建作业的步骤。

  1. 转到SQL Server Management Studio。展开SQL Server Agent并右键单击Jobs,然后选择New Job...如屏幕快照1所示。

  2. 提供名称,默认情况下,所有者将是创建作业的帐户,但是您可以根据需要进行更改。如果您愿意,请分配一个类别,并提供描述。请参阅屏幕截图2

  3. 在“步骤”部分,单击New...如屏幕快照3所示。

  4. 在“新建作业步骤”对话框中,提供步骤名称。SQL Server Inegration Services Package从类型中选择。SQL Agent Service Account默认情况下,将运行此步骤。选择包源,File system然后单击省略号浏览到包路径。这将填充Package路径。请参阅屏幕截图4。如果你不希望步下的执行SQL Agent Service Account,然后参照步骤#8 - 9知道你如何使用不同的帐户。

  5. 如果软件包具有SSIS配置文件(.dtsConfig),请单击“ 配置”选项卡并添加配置文件,如屏幕快照5所示。

  6. 单击OK,然后在步骤1中找到该软件包,如屏幕快照6所示。同样,您可以创建不同的步骤。

  7. 创建作业后,您可以右键单击该作业,然后选择Script Job as --> CREATE To --> New Query Editor Window生成脚本,如屏幕快照#7所示。

  8. 要在其他帐户下运行SSIS步骤,请在Management Studio上,导航至Security --> right-click on Cedentials --> select New Credential...如屏幕快照#8所示。

  9. New Credential对话框上,提供一个凭据名称,Windows帐户和密码,您要在该名称下执行SQL作业中的SSIS步骤。请参阅截图9。将创建凭据,如屏幕截图10所示。

  10. 接下来,我们需要创建一个代理。在Management Studio上,导航至SQL Server Agent --> Proxies --> right-click on SSIS Package Execution --> select New Proxy...如屏幕快照#11所示。

  11. 在“新代理帐户”窗口上,提供代理名称,选择新创建的凭据,提供描述,然后选择SQL Server Integration Services软件包,如屏幕快照12所示。应该创建代理帐户,如屏幕截图13所示。

  12. 现在,如果返回到SQL作业中的步骤,则应该在“ 运行方式”下拉列表中看到新创建的代理帐户。请参阅截图14

希望能有所帮助。

屏幕截图1:

//img1.sycdn.imooc.com//5de1da65000189fa02380217.jpg

屏幕截图2:

//img1.sycdn.imooc.com//5de1da6f0001570007040631.jpg

屏幕截图3:

//img1.sycdn.imooc.com//5de1da760001f73f07050633.jpg

屏幕截图4:

//img1.sycdn.imooc.com//5de1da7f00013d4107020632.jpg

屏幕截图5:

//img1.sycdn.imooc.com//5de1da88000171d107040632.jpg

屏幕截图6:

//img1.sycdn.imooc.com//5de1da9100018dc909150632.jpg

屏幕截图7:

//img1.sycdn.imooc.com//5de1da990001593006880320.jpg

截图8:

//img1.sycdn.imooc.com//5de1daa100010d2c02470184.jpg

屏幕截图9:

//img1.sycdn.imooc.com//5de1daa90001c63d07030632.jpg

//img1.sycdn.imooc.com//5de1dab300016d2f02210174.jpg

//img1.sycdn.imooc.com//5de1dab800013e8403690438.jpg

//img1.sycdn.imooc.com//5de1dabd00015efb07020632.jpg

//img1.sycdn.imooc.com//5de1dac200017e4802600310.jpg

//img1.sycdn.imooc.com//5de1dac60001426907040631.jpg

查看完整回答
反对 回复 2019-11-30
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

如果您使用sp_add ... procs构建作业,我认为您需要显式设置要调用的子系统,例如


EXEC sp_add_jobstep @job_id = @jobid,

@step_name = N'Upload Data',

@step_id = 1,

@subsystem = 'DTS',

@command=N'/FILE "D:\Installs\Upload.dtsx"'

这等效于@Siva的屏幕快照#4'Type'='SQL Server Integration Services Package'。


请参阅此 MSDN文章以获取子系统的完整列表。


编辑:'TSQL'是默认设置,因此您当前的设置试图将'/ FILE“ D:\ Installs \ Upload.dtsx”'作为T-SQL命令执行。


查看完整回答
反对 回复 2019-11-30
  • 2 回答
  • 0 关注
  • 941 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信