【问题标题】:SSIS Project Deployment to Remote Server in SQL 2016在 SQL 2016 中将 SSIS 项目部署到远程服务器
【发布时间】:2016-08-25 17:10:04
【问题描述】:

我们有一个新的 SSIS 项目,这是我们在 SQL 2016 中的第一个项目(之前的版本是 2008 年)。我们决定环境参数和集成服务器最适合我们的目的,因此我们使用项目部署模型。

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

但是,现在我们想将它们部署到我们的开发服务器,测试它们,然后将它们部署到我们的暂存服务器,测试它们,最后部署到生产环境。

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

无法连接到服务器 [我的服务器地址]。登录失败。登录名来自不受信任的域,不能用于 Windows 身份验证(错误 18452)。

没有为 SQL 身份验证提供选项(我们使用它来连接其他任何地方,包括在我目前正在处理的项目中)。

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

【问题讨论】:

  • 您的数据库是否在 ssis 所在的同一框中?您提供的名称(格式)是否与您在 SSMS 中提供的名称(格式)相同?
  • 我在本地(我的笔记本电脑)的 Visual Studio 中创建了 SSIS 项目。我们正在部署到 Azure 虚拟机上的开发(最终是 Proud)服务器。所以不,不在同一个盒子上。我使用的名称与我在 SSMS 中用于连接远程服务器的名称完全相同。
  • 能否远程连接到 Azure 虚拟机 (rdp)?您能否通过 ssms 登录访问 SSISDB?
  • 是的,我可以 RDP 进入 Azure VM。是的,我可以通过 SSMS 登录访问 SSISDB。问题似乎是在部署向导中没有选择 SQL 凭据。

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


【解决方案1】:

因此,向导似乎没有办法做到这一点。我能够将 .ispac 文件复制到虚拟服务器。然后我在集成服务下创建了一个目录和一个文件夹。

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

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

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

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

所以我想出了如何完成我需要完成的事情,但是有没有更好的方法来做到这一点?我缺少一些最佳实践?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多