gpt4 book ai didi

sql - 什么是 SSIS 包部署和更改跟踪最佳实践?

转载 作者:行者123 更新时间:2023-12-02 23:29:45 25 4
gpt4 key购买 nike

对于我的 SQL 数据库架构和数据,我有一个相当强大的开发环境(一切都是源代码控制的,部署是自动化的,等等),但是当涉及到 SSIS 包时,这个过程非常繁琐并且完全手动。

  • 如何自动化 SSIS 包升级过程(现在,我将包手动复制到每台服务器,然后使用 Management Studio 的“SSIS 包升级向导”)

  • 如何部署我的时间表(目前,我正在手动执行)

  • 如何部署 SQL 代理作业(目前,我正在手动执行)

  • 如何将我的日程安排和作业存入我的 TeamSystem 存储库(目前,我没有使用源代码控制)

  • 我还可以/应该做其他事情来增强我在 SSIS 包方面的工作方式吗?

我使用的是 MS SQL Server 2008 SP1,但我想一些建议对其他版本也可能有用。

最佳答案

关于第 1 点(自动化部署):

可以使用dtutil.exe从命令行部署SSIS包。

以下示例将本地文件 c:\test.dtsx 部署到 server1 上的 MSDB 存储,名称为 test_package:

dtutil.exe /FILE C:\test.dtsx /dests server1 /COPY SQL;test_package

如果您能计算出要使用的参数组合,它将为所有各种 SSIS 存储选项执行导入/导出的任意组合。

这可能与您无关,但是这不会(向导会)复制配置文件;为此,您需要一个单独的批处理步骤。

关于第 2 点和第 3 点(SQL 代理的源代码控制):

正如其他人所说,SQL 代理作业和计划可以编写为 T-SQL 脚本(在 Management Studio 中,右键单击作业并选择将作业编写为...),保存在源代码中控制,并像任何其他 T-SQL 脚本一样部署。

我们的数据库源代码控制树设置为每个生产服务器一个文件夹,每个用户数据库包含一个子文件夹,以及一个名为 _config 的额外子文件夹,其中包含用于服务器级对象(例如登录、链接服务器)的脚本和 SQL 代理作业。

(这与您的问题并不真正相关,但我们将 SSIS 包存储在自己的树中,因为它们可以应用于多个服务器)

我们不使用 TFS,因此我无法评论将脚本放入其中的具体细节。

关于sql - 什么是 SSIS 包部署和更改跟踪最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1571412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com