【问题标题】:Deploying SSIS Package from Server A to Server B将 SSIS 包从服务器 A 部署到服务器 B
【发布时间】:2020-07-08 10:12:58
【问题描述】:

我正在使用 VS 2017 SSDT 15.9.20 创建 SSIS 包。该程序包最初是在安装 SSDT 的服务器 A 中创建的,而 SQL 服务器位于服务器 A 中。所以我很乐意在服务器 A 中创建程序包。我在服务器 A 中创建了一个 SQL 作业并直接链接以运行 DTSX 文件,而无需部署它。

我的包裹的作用:

在服务器 A 中,我的包将读取位置 C:\Users\xxx\Documents\myproj\excelfile.xls 中的 excel 并将在 C:\Users\xxx\Documents\myproj\files\ 文件夹中创建 excel 表格。

部署:

现在我想将此包部署到服务器 B。我的包将读取位置 \ServerB\S:\Documents\myproj\excelfile.xls 中的 excel 并将在 \ServerB\S:\Documents\myproj\files\ 文件夹中创建 excel 表格。

我的问题:

  1. 我应该部署我的项目来创建 dtsx 文件吗?我的项目文件夹中已经有一个 dtsx 文件。我可以不只是将该文件移动到服务器 B 并更改连接字符串和路径吗?会这样吗?

  2. SSIS 部署工具不适用于服务器 A。它无法识别目标服务器。如何轻松部署?如何更改目标路径?

  3. 服务器 A 已安装 SSDT 且 SQL 数据库位于同一服务器中。但是目标服务器 B 是数据库服务器,其中没有 SSDT。我将在服务器 B 的 SQL 服务器中安排一个作业,该作业将调用我的 dtsx 包并执行它。

我是 SSIS 的新手。所以请不要关闭这个问题,如果有人可以帮助我解决这些问题,那就太好了。谢谢!

【问题讨论】:

  • 您使用的是什么版本的 SQL?

标签: ssis ssis-2012 ssis-2008


【解决方案1】:

在不知道SQL版本的情况下,我会给出两个答案:

我应该部署我的项目来创建 dtsx 文件吗?已经有一个 我的项目文件夹中的 dtsx 文件。我可以不只是将该文件移动到 服务器 B 并更改连接字符串和路径?它会起作用吗 那样吗?

低于 SQL 2012 的版本:将 dtsx 文件从您的项目复制到目标服务器上的文件夹中。连接字符串可以在 SQL 代理作业的配置中或通过使用包配置进行更改:

https://docs.microsoft.com/en-us/sql/integration-services/lesson-5-add-ssis-package-configurations-for-the-package-deployment-model?view=sql-server-ver15

SQL 2012 更高版本: 在目标服务器上创建 ssis 目录:

https://docs.microsoft.com/en-us/sql/integration-services/create-the-ssis-catalog?view=sql-server-2014

右键单击项目并使用向导部署到目标服务器。如上所述,可以在 SQL 代理中修改连接字符串,也可以使用参数:

https://docs.microsoft.com/en-us/sql/integration-services/lesson-6-using-parameters-with-the-project-deployment-model-in-ssis?view=sql-server-ver15

后者一开始似乎工作量更大,但好处很多,是首选的做事方式

SSIS 部署工具不适用于服务器 A 上的我。它不能 确定目标服务器。如何使部署变得容易? 如何更改目标路径?

遵循上述任一部署方法。 包部署(将文件复制到文件夹)在以后的版本中仍然有效,但它不太容易管理,并且为您完成的事情更少,例如保护配置和设置向上记录。

服务器 A 已安装 SSDT 且 SQL 数据库驻留在同一 服务器。但目标服务器 B 是数据库服务器,并不 里面有SSDT。我将在服务器 B 的 SQL 服务器中安排一个作业 这将调用我的 dtsx 包并执行它。

SSDT 对 SSIS 没有影响,但 Integration Services 有。 SSDT 是一种开发人员工具,实际上应该只安装在开发人员机器上,以用于创建包和测试。最好不要在服务器上安装它,因为它鼓励在那里进行开发,并让开发人员像登录笔记本电脑一样登录服务器。 Integration Services 是 SQL Server 附带的服务,用于执行包。如果要从 SQL 代理执行包,则需要将此服务添加到实例。此链接解释了这一点并提供了有关在本地安装 SSDT 的指导:

https://docs.microsoft.com/en-us/sql/integration-services/install-windows/install-integration-services?view=sql-server-ver15

【讨论】:

  • 非常感谢这些答案。实际上从未在任何地方找到这些直接答案! SSDT vs SSIS 的最后一个答案很棒,为我节省了很多时间:) 赞!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-03
  • 1970-01-01
相关资源
最近更新 更多