检测对SSIS包的更改
社区问题。。。 是否有人知道在SQL Server 2012中检测SSIS包的更改 具体来说,在构建中,我们使用DTUTIL将更改部署到生产环境中。但如果我们可以使用触发器之类的东西将此更改记录到数据库表中,那就太好了 但是,如果我们能够看到包何时更新,那么即使是在某个地方的系统表上进行查询也会很有用 任何帮助都将不胜感激检测对SSIS包的更改,ssis,Ssis,社区问题。。。 是否有人知道在SQL Server 2012中检测SSIS包的更改 具体来说,在构建中,我们使用DTUTIL将更改部署到生产环境中。但如果我们可以使用触发器之类的东西将此更改记录到数据库表中,那就太好了 但是,如果我们能够看到包何时更新,那么即使是在某个地方的系统表上进行查询也会很有用 任何帮助都将不胜感激 Paul对于您正在寻找的基本系统表查询,您可以尝试-注意,您的表名称可能不同(请参阅关于sysssipackage(folders)的问答注释)。我可以设想使用CreateD
Paul对于您正在寻找的基本系统表查询,您可以尝试-注意,您的表名称可能不同(请参阅关于
sysssipackage(folders)
的问答注释)。我可以设想使用CreateDate
、Version
和PackageSize
字段
此外,安迪·伦纳德(Andy Leonard)在博客中介绍了他创建的一个名为SSIS目录比较的新工具,该工具可能会有所帮助
(为了坚持SO精神,这里是来自上面链接的SQL)
对于您正在寻找的基本系统表查询,您可以尝试-注意,您的表名称可能不同(请参阅关于
sysssispackage(folders)
)的Q&A注释)。我可以设想使用CreateDate
、Version
和PackageSize
字段
此外,安迪·伦纳德(Andy Leonard)在博客中介绍了他创建的一个名为SSIS目录比较的新工具,该工具可能会有所帮助
(为了坚持SO精神,这里是来自上面链接的SQL)
为什么不使用构建来记录更改?为什么不使用构建来记录更改?感谢脚本。在使用SQL Server 2012时,我必须对其进行修改。但希望我能让它为我工作。我会查看你提到的博客。是的,我也不得不修改:将
msdb.dbo.sysdtspackages90
切换到msdb.dbo.sysssipackages
和msdb.dbo.sysdtspackagefolders90
切换到msdb.dbo.sysssipackagefolders
。祝你好运谢谢你的产品介绍!您可以在上了解有关SSIS目录比较的更多信息。感谢提供脚本。在使用SQL Server 2012时,我必须对其进行修改。但希望我能让它为我工作。我会查看你提到的博客。是的,我也不得不修改:将msdb.dbo.sysdtspackages90
切换到msdb.dbo.sysssipackages
和msdb.dbo.sysdtspackagefolders90
切换到msdb.dbo.sysssipackagefolders
。祝你好运谢谢你的产品介绍!有关SSIS目录比较的详细信息,请访问。
-- List all SSIS packages stored in msdb database.
SELECT PCK.name AS PackageName
,PCK.[description] AS [Description]
,FLD.foldername AS FolderName
,CASE PCK.packagetype
WHEN 0 THEN 'Default client'
WHEN 1 THEN 'I/O Wizard'
WHEN 2 THEN 'DTS Designer'
WHEN 3 THEN 'Replication'
WHEN 5 THEN 'SSIS Designer'
WHEN 6 THEN 'Maintenance Plan'
ELSE 'Unknown' END AS PackageTye
,LG.name AS OwnerName
,PCK.isencrypted AS IsEncrypted
,PCK.createdate AS CreateDate
,CONVERT(varchar(10), vermajor)
+ '.' + CONVERT(varchar(10), verminor)
+ '.' + CONVERT(varchar(10), verbuild) AS Version
,PCK.vercomments AS VersionComment
,DATALENGTH(PCK.packagedata) AS PackageSize
FROM msdb.dbo.sysdtspackages90 AS PCK
INNER JOIN msdb.dbo.sysdtspackagefolders90 AS FLD
ON PCK.folderid = FLD.folderid
INNER JOIN sys.syslogins AS LG
ON PCK.ownersid = LG.sid
ORDER BY PCK.name;