SQLクエリを実行してSSISパッケージの最終更新日を見つけたいのですが。たとえば、以下のクエリは、プロシージャの最終変更日を説明順に返します。 SSISパッケージに対して同じ種類のクエリを期待しています。 DBからそれらの情報を取得することは可能ですか?
select
name,
create_date,
modify_date
from sys.objects
where type='P'
order by modify_date desc
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'