在没有集成服务的情况下访问 SQL 个服务器 .dtsx 包

Accessing SQL Server .dtsx packages without integration services

我已经将一些 .dtsx 集成包保存到 SQL 服务器实例而不是文件系统。

我想清理并重做它们,但找不到访问和删除它们的方法。我尝试使用集成服务连接到服务器,但我得到 "Specified service does not exist as an installed service"

我一直在努力寻找启用该服务的方法,但我所看到的一切似乎都让我进行了完全重新安装,这目前不是一个可行的解决方案。

如果我遗漏了一些说明如何在已安装的实例上启用服务的文档,那已经足够了,但如果没有,我想知道是否有其他方法可以访问这些文件,所以我可以清理它们并替换其中的一些,而不必将所有内容都指向本地文件夹。

如果这些包存储在 SQL 服务器数据库(而非文件系统)中,则在未安装集成服务的情况下无法访问这些包。

参考Package Management documentation:

By default, the Stored Packages folder contains two folders: File System and MSDB. The File System folder lists the packages that are saved to the file system. The location of these files is specified in the configuration file for the Integration Services service. The default folder is the Packages folder, located in %Program Files%\Microsoft SQL Server0\DTS.

The MSDB folder lists the Integration Services packages that have been saved to the SQL Server msdb database on the server. The sysssispackages table contains the packages saved to msdb.

To view the list of packages in the package store, you must open SQL Server Management Studio and connect to Integration Services.

附加信息

我正在使用 sql 服务器 2016/2017

我通常使用 DTS 跨数据库或服务器复制数据。

DTS 包保存在 msdb 数据库的 table 中,您可以使用下面的查询查看包的代码。

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
SET NOCOUNT ON

select * from [msdb].[dbo].sysssispackages 


SELECT [name] ,[id] ,[description] ,[createdate] ,
CAST(CAST([packagedata] as varbinary(max)) as xml) AS PackageSource ,[packagetype] ,
[vermajor] ,[verminor] ,[verbuild] ,[vercomments] ,[verid] ,[isencrypted] 
FROM [msdb].[dbo].[sysssispackages] K
ORDER BY K.createdate DESC

如果您想要包的代码,请单击 XML link