web-dev-qa-db-ja.com

Integration ServicesからSSISパッケージの最終変更日を教えてください

SQL Server 2005(および2008)の使用

DTSパッケージを使用すると、パッケージを開くことができ、パッケージが最後に変更された日付が一覧表示されます。SSISパッケージがいくつかあり、最後に変更されたかどうかを知る必要があります。それらが最後に変更された時期を知る方法はありますか?

右クリックすると、有望に見えるオプションは「レポート」だけですが、唯一のオプションは、パッケージの作成日といくつかのバージョン情報を含む一般的なレポートです。プログラマーがバージョンのデフォルトを変更していないことはすでに知っているので、そこに役立つ情報はありません。

最終更新日、最終インポート日、または前回のリリース以降に変更されたものについて心配する必要がある場合は、何かお知らせしたいのですが。

編集:ファイルはMSDBに保存されます。

5
thursdaysgeek

パッケージがMSDBに格納されている場合は、いいえ、日付/タイムスタンプは作成日のみです。更新日は追跡されません。変更された日付を追跡するために、再展開する前にパッケージを削除する必要があります。これは、基本的に作成日を強制的に再展開する日付にすることです。

SQL 2005では、MSDBに格納されているパッケージのメタデータはmsdb.dbo.sysdtspackagesおよびmsdb.dbo.sysdtspackages90に格納されているため、これらのテーブルの1つでSELECTを実行してパッケージを表示できます。 SQL 2008以降の場合、テーブル名はsysssispackagesです。

SELECT * from msdb.dbo.sysdtspackages90 WHERE name='mypackagename'

サーバー上のパッケージの場所がファイルシステムの場合、Windowsエクスプローラー(または使用するファイルシステムツール)を使用して、パッケージファイルの変更日を取得できます。 SQL 2005のパスは[install drive]:\Program Files\Microsoft SQL Server\90\DTS\Packages\。 SQL 2008の場合は90を100に、SQL 2012の場合は110に置き換えます。

そうでなければ、あなたの最善の策は、パッケージを展開する必要がある人だけがそうであるように運用サーバーのセキュリティが適切であることを確認し、開発環境(ソース管理など)で公開日を追跡することです。しかし、それについて知らずにプロダクションが変更されないことを保証するために実際には何もしません...

5
squillman

これは、SSISパッケージから情報を取得する方法に関するすばらしい投稿です。過去に必要だった情報を見つけるのに役立ち、役に立つかもしれません。

http://sqlblog.com/blogs/jamie_thomson/archive/2009/10/18/collecting-information-about-your-ssis-packages-ssis-nugget.aspx

1
Sean Howat