sql >> Database >  >> RDS >> Sqlserver

Alle SSIS-pakketten op de Sql Server 2008 weergeven met T-SQL

Deze query werkt voor Sql Server 2008. Het belangrijkste verschil is het gebruik van msdb.dbo.sysssispackages en gebruik left joins omdat sommige pakketten geen eigenaar of bijbehorende map hebben.

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.sysssispackages AS PCK 
     LEFT JOIN msdb.dbo.sysssispackagefolders AS FLD 
         ON PCK.folderid = FLD.folderid 
     LEFT JOIN sys.syslogins AS LG 
         ON PCK.ownersid = LG.sid 
ORDER BY PCK.name;



  1. SQL Server:hoe de toegang tot de gecodeerde kolom te beperken, zelfs vanuit dba?

  2. alternatief voor listagg in Oracle?

  3. Meerdere door tabs gescheiden tekstbestanden invoegen in MySQL met Python?

  4. Hoe schrijf je een SQL-query die meerdere rijen uit de invoertabel samenvoegt tot één rij in de uitvoertabel?