gpt4 book ai didi

sql-server - 将 SSIS 包存储在命名数据库中?

转载 作者:行者123 更新时间:2023-12-03 22:26:38 25 4
gpt4 key购买 nike

我有一个服务器托管许多不同的数据库,所有数据库都具有相同的结构,还有一个 SSIS 包库,其中一些在客户端数据库中是通用的,而另一些是特定于客户端的。

我知道您可以将包存储在 MSDB 中,但这是整个 SQL 实例的共享存储 - 是否可以将包附加到特定数据库?

最佳答案

实际上,当您将包存储到 msdb 中时,它们将存储在特定实例的 msdb 中。在所有实例上运行 SELECT * FROM dbo.sysdtspackages90 (2005) 或 SELECT * FROM dbo.sysssispackages (2008),您将确定当前正在托管您的实例包。如果您使用的是文件夹,我有更高级的版本 queries可用。

我相信您正在观察的是工具的产物。 SQL Server Integration Services Service 只有一个实例.此服务不会阻止您在特定实例中存储包,它只是使这样做更复杂一些。或者如我所见,通过放弃 GUI (SSMS),您可以摆脱非自动化管理的束缚。

如何将包推送到其他命名实例中?您可以按照上述链接中的说明编辑服务的 .ini 文件,然后重新连接到 SSMS 中的集成服务,或者使用命令行或查询方法来管理您的包。我们在我以前的商店中成功地使用了 SSISDeployManifest 来处理部署。有一个与 .ssisDeploymentManifest 关联的 GUI,您可以使用它来处理您的部署,或者欢迎您使用 .NET 对象模型来处理部署。我对我的 PowerShell SSIS deployment and maintenance 很满意但你的里程我会有所不同。

最后给出命令行部署的具体示例,下面将把位于 C 根目录中的名为 MyPackage.dtsx 的包部署到当前机器上的命名实例,并将它们部署到 MSDB 的根目录中。

dtutil.exe /file "C:\MyPackage.dtsx" /DestServer .\Dev2008 /COPY SQL;"MyPackage"
dtutil.exe /file "C:\MyPackage.dtsx" /DestServer .\Test2008 /COPY SQL;"MyPackage"

我有一个早期版本的 generating calls to dtexec 的 PowerShell 脚本而不是直接使用对象库。

如果还有问题,请告诉我

关于sql-server - 将 SSIS 包存储在命名数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17696218/

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