SQL 2016中SSIS项目部署到远程服务器

时间:2016-08-25 17:10:04

标签: visual-studio-2015 ssis sql-server-2016

我们有一个新的SSIS项目,我们在SQL 2016中的第一个项目(以前的版本是2008)。我们认为环境参数和Integration Server最符合我们的目的,因此我们使用了项目部署模型。

我们的所有开发都是在我们的笔记本电脑上本地完成的,但我们都连接到相同的开发数据库(托管在Azure虚拟机上)。在我们的机器上使用SSMS或VS2k15 Server Explorer连接数据库没有问题。这些包正在那里检索数据,一切都很好。

但是,现在我们希望将它们部署到我们的开发服务器,测试它们,然后将它们部署到我们的登台服务器,测试它们,最后部署到生产。

当我尝试使用部署向导时,我们会选择“选择目的地”'步。它似乎不允许我们选择不在我们的本地网络中的服务器。没有连接到远程服务器的选项,当我输入我的远程服务器的网址时,我收到以下错误...

无法连接到服务器[我的服务器地址]。登录失败。 Login是一个不受信任的域,不能与Windows身份验证一起使用(错误18452)。

没有给出SQL身份验证的选项(这是我们用来连接其他地方的选项,包括我目前正在处理的项目中的内容)。

真的没有办法远程部署吗?寻找解决方案。

1 个答案:

答案 0 :(得分:0)

所以似乎没有一种方法可以通过向导执行此操作。我能够将.ispac文件复制到虚拟服务器。然后我在Integration Services下创建了一个目录和一个文件夹。

我找到了一个允许我使用OPENROWSET从ispac文件设置二进制变量的示例。然后使用catalog.deploy_project存储过程将该项目部署到SQL的集成目录。这确实有效,我现在可以在服务器上运行我的包。但是,当我第一次尝试这样做时,我收到了一个错误

  

使用SQL Server身份验证的帐户无法启动该操作。使用使用Windows身份验证的帐户启动操作。

因此,在我使用Windows身份验证登录之前,它不允许我运行存储过程。这必须是一个限制,或者我想是一个安全功能。

这真的是最好的方法吗?当我想从我们的开发笔记本电脑部署到开发服务器,然后部署到登台和实时服务器时,我是否必须将物理文件复制到我的服务器并运行此存储过程。这些服务器位于不同的盒子上,因此我们必须将文件从服务器复制到服务器。

所以我想出了如何完成我需要完成的工作,但是有更好的方法吗?我错过了一些最好的做法?