如何在我的SQL Server代理作业中创build一个将运行我的SSIS包的步骤?
我正在尝试为SQL Server代理运行创build一个自动作业。 这项工作应该运行我的SSIS包。
以下是我到目前为止:
EXEC sp_add_job @job_name = 'My Job' ,@description = 'My First SSIS Job' ,@job_id = @jobid OUTPUT EXEC 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从我在某处find的一些旧代码中拉出来。 在作业中运行SSIS包的正确语法是什么? 
 我在问题中运行了SQL脚本,但没有遇到任何错误。 所以,我不确定是什么原因导致了你的错误。 但是,如果您有权通过SQL Server Management Studio访问SQL Server Agent 。 以下是使用graphics用户界面创build作业的步骤。 
- 
转到SQL Server Management Studio。 展开 SQL Server Agent并右键单击作业,然后selectNew Job...,如屏幕截图# 1所示。
- 
提供一个名称和所有者默认情况下将创build作业的帐户,但您可以根据您的要求进行更改。 如果您想要并指定一个类别并提供说明。 请参阅截图# 2 。 
- 
在“步骤”部分,单击“ New...,如屏幕截图# 3所示。
- 
在“新build作业步骤”对话框中,提供一个步骤名称。 从types中select SQL Server Inegration Services Package。 此步骤默认情况下将在SQL Agent Service Account下运行。 select软件包源File system并通过点击省略号浏览到软件包path。 这将填充包path。 请参阅截图# 4 。 如果您不希望在SQL Agent Service Account下执行此步骤,请参阅步骤# 8 – 9了解如何使用其他帐户。
- 
如果你有一个包的SSISconfiguration文件(.dtsConfig),点击configuration选项卡,并添加configuration文件,如屏幕截图# 5所示。 
- 
点击确定,并在屏幕截图# 6中显示了步骤1中的软件包。 同样,您可以创build不同的步骤。 
- 
创build作业后,可以右键单击该作业并select“ Script Job as --> CREATE To --> New Query Editor Window以生成脚本,如屏幕截图# 7所示。
- 
要在不同的帐户下运行SSIS步骤,请在Management Studio上导航到 Security --> right-click on Cedentials --> select New Credential...,如截图# 8所示。
- 
在“ New Credential对话框中,提供您想要在SQL作业中执行SSIS步骤的证书名称,Windows帐户和密码。 请参阅截图# 9 。 Credential将被创build,如截屏# 10所示。
- 
接下来,我们需要创build一个代理。 在Management Studio上,导航到 SQL Server Agent --> Proxies --> right-click on SSIS Package Execution --> select New Proxy...,如截图# 11所示。
- 
在“新build代理帐户”窗口中,提供一个代理名称,select新创build的凭据,提供描述并selectSQL Server Integration Services包,如屏幕截图# 12所示。 应该按照屏幕截图# 13所示创build代理帐户。 
- 
现在,如果您返回到SQL作业中的步骤,您应该在“ 运行方式”下拉菜单中看到新创build的代理帐户。 请参阅截图# 14 。 
希望有所帮助。
屏幕截图#1:

屏幕截图#2:

屏幕截图3:

屏幕截图#4:

屏幕截图5:

屏幕截图#6:

屏幕截图#7:

屏幕截图#8:

屏幕截图#9:

屏幕截图#10:

屏幕截图#11:

屏幕截图#12:

屏幕截图#13:

屏幕截图#14:

如果你正在使用sp_add … procs来创build这个工作,我想你需要明确地设置被调用的子系统,一个la
 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命令。