web-dev-qa-db-ja.com

SSISパッケージの最終変更/展開日を検索-SQLServer

SQLクエリを実行してSSISパッケージの最終更新日を見つけたいのですが。たとえば、以下のクエリは、プロシージャの最終変更日を説明順に返します。 SSISパッケージに対して同じ種類のクエリを期待しています。 DBからそれらの情報を取得することは可能ですか?

select 
    name,
    create_date,
    modify_date 
from sys.objects 
where type='P' 
order by modify_date desc
3
Ask_SO

SSISDBでは、特定の時間にどのVERSION_BUILDが実行されたかを確認できます。コードリポジトリ(TFS?)を使用する場合、パッケージのどのバージョンにそのversion_buildがあり、そのバージョンがいつリポジトリに保存されたかを確認できます。それはあなたが知りたい修正日です。

したがって、必要なSQLステートメントのSSIS部分は次のようになります。

use SSISDB

select  top 50 
         xs.execution_path
        ,cast(xs.start_time as datetime2(0)) as start_time
        ,x.project_version_lsn
        ,p.version_build
from    internal.executables x
join    internal.executable_statistics xs on x.executable_id = xs.executable_id
join    internal.packages p 
                on  x.project_id = p.project_id 
                and x.project_version_lsn = p.project_version_lsn
                and x.package_name = p.name

where   x.package_name = 'Package1.dtsx'
and     x.executable_name = 'Package1'

order by start_time desc

コードリポジトリをクエリする方法は、次の課題です。

パッケージのコードビューの上位20行には、次のようなものがあります。

DTS:VersionBuild="62"

実際に実行されたかどうかに関係なく、デプロイされた最新バージョンを知る必要があるだけの場合は、次のクエリを実行できます。

select  max(version_build) as latest_version_build
from    internal.packages
where   name = 'Package1.dtsx'
1
Gilgamesh