Sli*_*345 26 sql t-sql database sql-server ssis
我正在尝试为SQL Server代理创建一个自动作业来运行.该工作应该运行我的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"'
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我运行这个时,我得到一个错误说
'/'附近的语法不正确
我怀疑它/FILE在我的命令中抱怨.
我无法在任何地方找到有关在@command中使用的适当语法的文档 - 我从中找到/FILE了一些我发现的旧代码.在作业中运行SSIS包的正确语法是什么?
小智 73
我在问题中运行了SQL脚本,但没有遇到任何错误.所以,我不确定是什么导致了你的错误.但是,如果您可以SQL Server Agent通过SQL Server Management Studio 进行访问.以下是使用图形用户界面创建作业的步骤.
转到SQL Server Management Studio.展开SQL Server Agent并右键单击Jobs,然后选择New Job...屏幕截图#1中所示.
默认情况下,提供名称和所有者将是创建作业的帐户,但您可以根据自己的要求进行更改.如果您愿意,可以指定类别并提供说明.参见截图#2.
在Steps部分,单击New...屏幕截图#3中所示.
在"新建作业步骤"对话框中,提供步骤名称.SQL Server Inegration Services Package从类型中选择.此步骤SQL Agent Service Account默认运行.选择包源,File system然后单击省略号浏览到包路径.这将填充Package路径.参见截图#4.如果您不希望在该步骤下执行该步骤SQL Agent Service Account,请参阅步骤#8 - 9以了解如何使用其他帐户.
如果您有一个包的SSIS配置文件(.dtsConfig),请单击Configurations选项卡并添加配置文件,如屏幕截图#5所示.
单击确定,步骤1中有包,如屏幕截图#6所示.同样,您可以创建不同的步骤.
创建作业后,您可以右键单击作业并选择Script Job as --> CREATE To --> New Query Editor Window生成脚本,如屏幕截图#7所示.
要在Management Studio下的不同帐户下运行SSIS步骤,请导航到Security --> right-click on Cedentials --> select New Credential...屏幕截图#8所示.
在New Credential对话框中,提供您希望在SQL作业中执行SSIS步骤的凭据名称,Windows帐户和密码.参见截图#9.将创建凭据,如屏幕截图#10所示.
接下来,我们需要创建一个代理.在Management Studio上,导航到SQL Server Agent --> Proxies --> right-click on SSIS Package Execution --> select New Proxy...屏幕截图#11中所示.
在"新建代理帐户"窗口中,提供代理名称,选择新创建的凭据,提供说明并选择SQL Server Integration Services Package,如屏幕截图#12所示.应创建代理帐户,如屏幕截图#13所示.
现在,如果您返回SQL作业中的步骤,您应该在Run as下拉列表中看到新创建的Proxy帐户.参见截图#14.
希望有所帮助.
截图#1:

截图#2:

截图#3:

截图#4:

截图#5:

截图#6:

截图#7:

截图#8:

截图#9:

截图#10:

截图#11:

截图#12:

截图#13:

截图#14:

如果你使用sp_add ... procs构建作业,我认为你需要显式设置要调用的子系统,a 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"'
Run Code Online (Sandbox Code Playgroud)
这相当于@ Siva的屏幕截图#4'Type'='SQL Server Integration Services Package'.
有关子系统的完整列表,请参阅此 MSDN文章.
编辑:'TSQL'是默认值,因此您当前的设置是尝试执行'/ FILE"D:\ Installs\Upload.dtsx"'作为T-SQL命令.
| 归档时间: |
|
| 查看次数: |
67226 次 |
| 最近记录: |