【问题标题】:SQL Server 2014: SSISDB vs MSDB for package deploymentSQL Server 2014:用于包部署的 SSISDB 与 MSDB
【发布时间】:2015-01-15 17:59:19
【问题描述】:

我目前正在从 SQL Server 2008R2 升级到 2014(均为企业版)。有大量的 SSIS 作业正在生产中,需要迁移。我正在尝试了解我应该如何管理 SSIS 工作。

在 2008R2 中,我总是使用 BIDS 将包部署到 MSDB。然后通过 SQL Server 控制所有权限。

在 2014 年,我看到您仍然可以保存到文件系统或 MSDB,但现在有您创建为集成服务目录的 SSISDB。通过添加简单的变量访问甚至环境变量,这种方法显然提供了更大的灵活性。

在 2014 年将 SSIS 包部署到 SSISDB 现在是部署和管理 SSIS 项目的最佳实践方式,而不是部署到 MSDB?我还能管理权限吗?当我备份 SSISDB 时,是否已备份所有已部署的项目(就像以前的 MSDB 一样)?最后,当我通过 SQL 代理计划这些包时,它们的行为是否仍然相同,SQL 代理服务帐户和作业所有者的权限决定了 SSIS 包运行时的权限?

非常感谢任何可以提供帮助的人。我整天都在微软的网站上,虽然文档很有帮助,但它实际上并没有回答这些问题。

【问题讨论】:

  • 2008 软件包将按原样在 2014 上运行。从技术上讲,引擎将首先升级然后运行它们,但包仅在内存中更改,磁盘/msdb 中的 xml 将保持在 2008 版本。 2012/2014 为我们提供了一个新的 SSIS 模型,project deployment model,它将您的 SSIS 包更像是一个程序集而不是单个文件。只有 .ispac 会部署到 SSISDB。你不能让单个文件去。
  • 谢谢,比尔。这确实有帮助。我认为虽然我的主要问题是,现在使用 SSISDB 是部署现代 SSIS 包的“正确”方式吗?看来答案是肯定的。
  • 准确来说,SSISDB只是用来部署一个ispac,它是一个包的集合。当他们认为我必须重新部署所有软件包时,有些人会失去理智,因为我刚刚更改了 一个。我将此与糟糕的变更管理实践联系起来,因为人们并不完全相信他们知道生产中的内容。

标签: sql-server ssis bids sql-server-2014


【解决方案1】:

我最近参加了 SSIS 考试 (70-463),因此我可以告诉您一些有关新部署模型的信息。

简答:

是的,SSISDB 是最佳实践。可以将包部署到 SSISDB。包保留了部署历史记录(就像一个非常基本的版本控制),因此您甚至可以回滚包的某些修订。

新车型的主要优势在于配置。您不需要 XML 或专用 SQL 表来保存您的配置。您可以使用输入参数并将它们与 sql server 上定义的环境进行映射。

您可以通过 SQL Server 管理安全性,因为现在一切都可以通过 SQL Server 安全性来处理。

另一个很酷的功能是集成服务仪表板,这是一个使用报表服务模板自动构建的报表。只需单击集成服务目录并右键单击您的包即可查看“所有执行”。

您可以看到关于您的包的非常详细的信息,包括执行时间。

长答案: 在我看来,主要优势是项目参数。想象一下您可以传递给 SSIS 包的参数。您可以参数化您的连接管理器或只是它的一部分。

示例:您可以参数化服务器名称,并在您的 ssisdb 中创建两个(或更多)环境,称为“开发”和“生产”。然后您可以向它们添加变量并将它们映射到包的输入参数。 主要优点是您可以将包部署到 SSISDB 并链接到环境,而不必自己处理连接字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多