SSIS カタログ

カタログは SSISDB 、Integration Services サーバーにデプロイした Integration Services (SSIS) プロジェクトを操作するための中心的なポイントです。 たとえば、プロジェクト パラメーターとパッケージ パラメーターの設定、パッケージに合わせたランタイム値を指定するための環境の構成、パッケージの実行およびトラブルシューティング、 Integration Services サーバー操作の管理を行います。

カタログに SSISDB 格納されるオブジェクトには、プロジェクト、パッケージ、パラメーター、環境、運用履歴が含まれます。

カタログに格納されている SSISDB オブジェクト、設定、操作データを調べるには、データベース内のビューに対してクエリを SSISDB 実行します。 オブジェクトを管理するには、データベース内のストアド プロシージャを SSISDB 呼び出すか、カタログの UI を SSISDB 使用します。 多くの場合、UI でもストアド プロシージャの呼び出しでも同じタスクを実行できます。

SSISDB データベースを保守するには、ユーザー データベースの管理に標準的なエンタープライズ ポリシーを適用することをお勧めします。 メンテナンス プランの作成については、「 Maintenance Plans」をご覧ください。

SSISDBカタログとデータベースは、SSISDBWindows PowerShellをサポートします。 Windows PowerShell による SQL Server の使用の詳細については、「 SQL Server PowerShell」をご覧ください。 Windows PowerShell を使用してプロジェクトの配置などのタスクを実行する方法の例については、blogs.msdn.com のブログ エントリ「 SQL Server 2012 での SSIS と PowerShell」をご覧ください。

操作データの表示の詳細については、「 パッケージ実行とその他の操作の監視」を参照してください。

SQL Server Management StudioでカタログにアクセスSSISDBするには、SQL Server データベース エンジンに接続し、オブジェクト エクスプローラーの [Integration Services カタログ] ノードを展開します。 SQL Server Management StudioでデータベースにアクセスSSISDBするには、オブジェクト エクスプローラーの [データベース] ノードを展開します。

注意

データベースの名前を SSISDB 変更することはできません。

注意

データベースがアタッチされているSQL ServerインスタンスがSSISDB停止するか、応答しない場合、ISServerExec.exeプロセスは終了します。 メッセージが Windows イベント ログに書き込まれます。

クラスター フェールオーバーの一環としてSQL Server リソースがフェールオーバーされた場合、実行中のパッケージは再起動されません。 チェックポイントを使用してパッケージを再開できます。 詳細については、「 Restart Packages by Using Checkpoints」を参照してください。

カタログ オブジェクト識別子

カタログに新しいオブジェクトを作成するときは、オブジェクトに名前を割り当てる必要があります。 オブジェクト名が識別子となります。 SQL Server では、識別子に使用できる文字のルールが定義されています。 次のオブジェクトの名前は、識別子のルールに従っている必要があります。

  • Folder

  • Project

  • 環境

  • パラメーター

  • 環境変数

フォルダー、プロジェクト、環境

フォルダー、プロジェクト、または環境の名前を変更するときは、次のルールを考慮します。

  • 無効な文字には、ASCII/Unicode 文字 1 - 31、引用符 (")、小なり (<)、大なり (>)、パイプ (|)、バックスペース (\b)、null (\0)、タブ (\t) などがあります。

  • 名前の先頭または末尾にスペースを含めることはできません。

  • 名前を @ で始めることはできませんが、先頭以外では @ を使用できます。

  • 名前の長さは 1 ~ 128 文字にする必要があります。

パラメーター

パラメーターに名前を付けるときは、次のルールを考慮します。

  • 名前の最初の文字は、Unicode Standard 2.0 に定義されている文字か、アンダースコア (_) である必要があります。

  • 2 番目以降の文字では、Unicode Standard 2.0 に定義されている文字または数字と、アンダースコア (_) を使用できます。

環境変数

環境変数に名前を付けるときは、次のルールを考慮します。

  • 無効な文字には、ASCII/Unicode 文字 1 - 31、引用符 (")、小なり (<)、大なり (>)、パイプ (|)、バックスペース (\b)、null (\0)、タブ (\t) などがあります。

  • 名前の先頭または末尾にスペースを含めることはできません。

  • 名前を @ で始めることはできませんが、先頭以外では @ を使用できます。

  • 名前の長さは 1 ~ 128 文字にする必要があります。

  • 名前の最初の文字は、Unicode Standard 2.0 に定義されている文字か、アンダースコア (_) である必要があります。

  • 2 番目以降の文字では、Unicode Standard 2.0 に定義されている文字または数字と、アンダースコア (_) を使用できます。

カタログの構成

カタログ プロパティを調整することによって、カタログの動作を微調整します。 カタログ プロパティは、機微なデータを暗号化する方法と、操作およびプロジェクトのバージョン管理データを保持する方法を定義します。 カタログ プロパティを設定するには、[カタログのプロパティ] ダイアログ ボックスを使用するか、catalog.configure_catalog (SSISDB データベース) ストアド プロシージャを呼び出します。 プロパティを表示するには、ダイアログ ボックスまたはクエリ catalog.catalog_properties (SSISDB Database) を使用します。 ダイアログ ボックスには、オブジェクト エクスプローラーで SSISDB を右クリックしてアクセスできます。

操作とプロジェクト バージョンのクリーンアップ

カタログの多くの操作の状態データは、内部データベース テーブルに格納されます。 たとえば、カタログではパッケージの実行とプロジェクトの配置の状態が追跡されます。 操作データのサイズを維持するには、 SSIS サーバー メンテナンス ジョブ SQL Server Management Studio を使用して古いデータを削除します。 この SQL Server エージェント ジョブは、 Integration Services のインストール時に作成されます。

同じ名前の Integration Services プロジェクトをカタログの同じフォルダーに配置することで、このプロジェクトを更新または再配置できます。 既定では、プロジェクトを再デプロイするたびに、カタログは SSISDB 以前のバージョンのプロジェクトを保持します。 操作データのサイズを維持するには、 SSIS サーバー メンテナンス ジョブ を使用して古いバージョンのプロジェクトを削除します。

SSISDBのカタログ プロパティは、このSQL Server エージェント ジョブの動作を定義します。 [カタログ プロパティ] ダイアログ ボックスを利用するか、catalog.catalog_properties (SSISDB データベース)catalog.configure_catalog (SSISDB データベース) を利用し、プロパティを表示し、変更できます。

ログを定期的に消去する
このプロパティが True に設定されている場合は、操作のクリーンアップのジョブ ステップが実行されます。

保有期間 (日)
操作データの最大保有期間を日数で定義します。 この期間を経過したデータは削除されます。

最小値は 1 日です。 最大値は、SQL Server int データの最大値によってのみ制限されます。 このデータ型に関する詳細については、「int、bigint、smallint、および tinyint (Transact-SQL)」を参照してください。

古いバージョンを定期的に削除する
このプロパティが True に設定されている場合は、プロジェクト バージョンのクリーンアップのジョブ ステップが実行されます。

プロジェクトごとのバージョンの最大数
カタログに格納されるプロジェクトのバージョンの数を定義します。 この数を超える古いバージョンのプロジェクトは削除されます。

暗号化アルゴリズム

[暗号化アルゴリズム] プロパティでは、秘密性の高いパラメーター値を暗号化するために使用される暗号化の種類を指定します。 次の暗号化の種類から選択できます。

  • AES_256 (既定値)

  • AES_192

  • AES_128

  • DESX

  • TRIPLE_DES_3KEY

  • TRIPLE_DES

  • DES

Integration Services プロジェクトを Integration Services サーバーにデプロイすると、カタログによってパッケージ データと機密値が自動的に暗号化されます。 また、ユーザーがデータを取得するときには、自動的に暗号化を解除します。 SSISDB カタログは、ServerStorage 保護レベルを使用します。 詳しくは、「 Access Control for Sensitive Data in Packages」をご覧ください。

暗号化アルゴリズムの変更は、時間のかかる操作です。 最初に、サーバーで以前に指定したアルゴリズムを使用して、すべての構成値の暗号化を解除する必要があります。 次に、新しいアルゴリズムを使用して、その値を再暗号化する必要があります。 この間、サーバーで他の Integration Services 操作を実行できません。 そのため、 Integration Services 操作を途切れることなく続行できるように、Management Studio では、暗号化アルゴリズムが読み取り専用の値になっています。

[暗号化アルゴリズム] プロパティの設定を変更するには、データベースをSSISDBシングル ユーザー モードに設定し、catalog.configure_catalog ストアド プロシージャを呼び出します。 property_name 引数の ENCRYPTION_ALGORITHM を使用します。 プロパティの値の詳細については、「catalog.catalog_properties (SSISDB データベース)」を参照してください。 ストアド プロシージャの詳細については、「catalog.configure_catalog (SSISDB データベース)」を参照してください。

シングル ユーザー モードの詳細については、「 データベースをシングル ユーザー モードに設定する」を参照してください。 SQL Serverの暗号化と暗号化アルゴリズムの詳細については、「 SQL Server の暗号化」のトピックを参照してください。

暗号化にはデータベース マスター キーが使用されます。 このキーは、カタログの作成時に作成されます。 詳細については、「 SSIS カタログの作成」を参照してください。

次の表では、 [カタログのプロパティ] ダイアログ ボックスに示されるプロパティ名と、データベース ビュー内の対応するプロパティについて説明します。

プロパティ名 ( [カタログのプロパティ] ダイアログ ボックス) プロパティ名 (データベース ビュー)
暗号化アルゴリズムの名前 ENCRYPTION_ALGORITHM
ログを定期的に消去する OPERATION_CLEANUP_ENABLED
保有期間 (日) RETENTION_WINDOW
古いバージョンを定期的に削除する VERSION_CLEANUP_ENABLED
プロジェクトごとのバージョンの最大数 MAX_PROJECT_VERSIONS
サーバー全体の既定のログ記録レベル SERVER_LOGGING_LEVEL

アクセス許可

プロジェクト、環境、およびパッケージは、セキュリティ保護可能なオブジェクトであるフォルダーに格納されます。 MANAGE_OBJECT_PERMISSIONS 権限などのフォルダーに対する権限を許可することができます。 MANAGE_OBJECT_PERMISSIONS を許可すると、ユーザーに ssis_admin ロールのメンバーシップを許可しなくても、フォルダー内容の管理をユーザーに委任できます。 プロジェクト、環境、および操作に権限を付与することもできます。 操作には、Integration Services の初期化、プロジェクトのデプロイ、実行の作成と開始、プロジェクトとパッケージの検証、カタログの構成が SSISDB 含まれます。

データベース ロールの詳細については、「 データベース レベルのロール」を参照してください。

SSISDB カタログでは、DDL トリガーの ddl_cleanup_object_permissions を使用して、SSIS のセキュリティ保護可能なリソースの権限情報の整合性を保ちます。 このトリガーは、データベース ユーザー、データベース ロール、データベース アプリケーション ロールなどのデータベース プリンシパルが SSISDB データベースから削除されたときに起動します。

このプリンシパルによって他のプリンシパルに権限が許可または拒否されている場合は、プリンシパルを削除する前に、権限の許可者が付与した権限を取り消してください。 取り消していない場合は、プリンシパルの削除が試行されるとエラー メッセージが返されます。 トリガーでは、データベース プリンシパルが権限付与対象ユーザーであるすべての権限レコードが削除されます。

データベース プリンシパルがデータベースから SSISDB 削除された後に孤立したアクセス許可レコードがないようにするため、トリガーを無効にしないことをお勧めします。

権限の管理

権限は、SQL Server Management Studio の UI、ストアド プロシージャ、Microsoft.SqlServer.Management.IntegrationServices 名前空間を使って管理できます。

SQL Server Management Studio UI を使用してアクセス許可を管理するには、次のダイアログ ボックスを使用します。

Transact-SQL を使用してアクセス許可を管理するには、 catalog.grant_permission (SSISDB データベース)catalog.deny_permission (SSISDB データベース)catalog.revoke_permission (SSISDB データベース) を呼び出します。 すべてのオブジェクトの現在のプリンシパルで有効な権限を表示するには、catalog.effective_object_permissions (SSISDB データベース) にクエリを実行します。 このトピックでは、さまざまな種類の権限について説明します。 ユーザーに明示的に割り当てられている権限を表示するには、catalog.explicit_object_permissions (SSISDB データベース) にクエリを実行します。

フォルダー

フォルダーには、カタログ内の 1 つ以上のプロジェクトと環境が SSISDB 含まれています。 catalog.folders (SSISDB データベース) ビューを使用して、カタログのフォルダーに関する情報にアクセスできます。 次のストアド プロシージャを使用して、フォルダーを管理することができます。

プロジェクトとパッケージ

各プロジェクトには、複数のパッケージを含めることができます。 プロジェクトとパッケージの両方に、パラメーターおよび環境への参照を含めることができます。 Configure Dialog Boxを使用して、パラメーターおよび環境への参照にアクセスできます。

次のストアド プロシージャを呼び出して、他のプロジェクト タスクを実行することができます。

次のビューには、パッケージ、プロジェクト、およびプロジェクトのバージョンに関する詳細が表示されます。

パラメーター

パラメーターを使用して、パッケージの実行時にパッケージ プロパティに値を割り当てます。 パッケージまたはプロジェクト パラメーターの値を設定したり、値を消去したりするには、catalog.set_object_parameter_value (SSISDB データベース)catalog.clear_object_parameter_value (SSISDB データベース) を呼び出します。 実行のインスタンスのパラメーターの値を設定するには、catalog.set_execution_parameter_value (SSISDB データベース) を呼び出します。 catalog.get_parameter_values (SSISDB データベース) を呼び出すことで既定のパラメーター値を取得できます。

次のビューには、すべてのパッケージとプロジェクトのパラメーター、および実行のインスタンスに使用されるパラメーター値が表示されます。

サーバー環境、サーバー変数、およびサーバー環境参照

サーバー環境にはサーバー変数が含まれます。 変数値は、 Integration Services サーバーでパッケージを実行または検証するときに使用できます。

次のストアド プロシージャを使用すると、環境と変数の他の多くの管理タスクを実行することができます。

catalog.set_environment_variable_protection (SSISDB データベース) ストアド プロシージャを呼び出すことで、変数のセンシティビティ ビットを設定できます。

サーバー変数の値を使用するには、プロジェクトとサーバー環境間の参照を指定します。 次のストアド プロシージャを使用して、参照を作成したり削除したりすることができます。 環境をプロジェクトと同じフォルダーに配置できるか、または別のフォルダーに配置できるかを示すこともできます。

環境と変数の詳細については、次のビューに対してクエリを実行します。

実行と検証

実行はパッケージ実行のインスタンスです。 実行を作成し、開始するには、catalog.create_execution (SSISDB データベース)catalog.start_execution (SSISDB データベース) を呼び出します。 実行またはパッケージ/プロジェクト検証を停止するには、catalog.stop_operation (SSISDB データベース) を呼び出します。

実行中のパッケージを一時停止してダンプ ファイルを作成するには、catalog.create_execution_dump ストアド プロシージャを呼び出します。 ダンプ ファイルは、実行に関する問題のトラブルシューティングに役立つ、パッケージの実行に関する情報を提供します。 ダンプ ファイルの生成および構成の詳細については、「 Generating Dump Files for Package Execution」をご覧ください。

実行、検証、操作中にログに記録されたメッセージ、およびエラーに関するコンテキスト情報の詳細については、次のビューに対してクエリを実行します。

catalog.validate_project (SSISDB データベース) および catalog.validate_package (SSISDB データベース) ストアド プロシージャを呼び出すことで、プロジェクトとパッケージを検証できます。 catalog.validations (SSISDB データベース) ビューには、検証で考慮されるサーバー環境参照、検証が依存関係の検証であるか完全検証であるか、32 ビット ランタイムと 64 ビット ランタイムのどちらをパッケージの実行に使用するかなどの、検証に関する詳細が表示されます。