如何编写SSIS SQL代理作业步骤以在localhost上运行?

时间:2014-02-25 20:05:51

标签: sql sql-server ssis sql-server-2012

我创建了一个执行SSIS包的SQL代理作业作为其中一个作业步骤。我正在尝试配置SSIS作业步骤以设置为执行“localhost”上的包(或者我需要调用它以引用作业所在的同一SQL服务器实例),以便我可以编写脚本作业out,并使用相同的脚本在环境之间部署。

这是SQL Server 2012,所以我尝试使用安装在本地SQL实例上的SSIS目录来运行它。当我们将脚本从开发推送到测试环境并最终生产时,我不想进入脚本并更改服务器名称。

我尝试将“localhost”放在“Server”文本框中,然后单击“Package”设置中的“...”,但是我收到一条错误消息“验证实例名称是否正确以及SQL Server被配置为允许远程连接“ - 我认为它意味着它试图连接到实际上名为localhost的服务器,而不是仅仅检查自己。

任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在你的剧本中如何:

DECLARE @Command NVARCHAR(MAX) = 
    N'/ISSERVER "\"\SSISDB\....dtsx\"" /SERVER "\"' + @@SERVERNAME + '\"" ...'

然后将其(@command = @Command)传递给sp_add_jobstep

您可能必须处理@@SERVERNAME特殊返回的非默认实例,因为SSIS没有使用实例名称,我猜,但我没有尝试过。

相关问题