Amazon RDS for SQL Server での SQL Server Integration Services のサポート - Amazon Relational Database Service

Amazon RDS for SQL Server での SQL Server Integration Services のサポート

Microsoft SQL Server Integration Services (SSIS) は、幅広いデータ移行タスクの実行に使用できるコンポーネントです。SSIS は、データ統合およびワークフローアプリケーションに対応したプラットフォームです。データの抽出、変換、ロード (ETL) に使用されるデータウェアハウジングツールを備えています。このツールを使用して、SQL Server データベースのメンテナンスと多次元キューブデータの更新を自動化することもできます。

SSIS プロジェクトはパッケージに編成されて、XML ベースの .dtsx ファイルとして保存されます。パッケージには、制御フローとデータフローを含めることができます。データフローを使用して、ETL オペレーションを表します。デプロイ後、パッケージは SQL Server の SSISDB データベースに保存されます。SSISDB は、完全復旧モードで動作するオンライントランザクション処理 (OLTP) データベースです。

Amazon RDS for SQL Server は RDS DB インスタンスでの SSIS の直接実行をサポートしています。既存または新規の DB インスタンスで SSIS を有効にできます。SSIS はデータベースエンジンと同じ DB インスタンスにインストールされます。

RDS は、次のバージョンで SQL Server スタンダードエディションおよびエンタープライズエディションの SSIS をサポートします。

  • SQL Server 2022、すべてのバージョン

  • SQL Server 2019、バージョン 15.00.4043.16.v1 以降

  • SQL Server 2017、バージョン 14.00.3223.3.v1 以降

  • SQL Server 2016、バージョン 13.00.5426.0.v1 以降

制限と推奨事項

RDS for SQL Server で SSIS を実行する場合は、以下の制限と推奨事項が適用されます。

  • また、DB インスタンスには、clr enabled パラメータが 1 に設定されたパラメータグループが関連付けられている必要があります。詳細については、「SSIS のパラメータの変更」を参照してください。

    注記

    SQL Server 2017 または 2019 で clr enabled パラメータを有効にしている場合、DB インスタンスで共通言語ランタイム (CLR) を使用できません。詳細については、「サポート対象外の機能とサポートが制限されている機能」を参照してください。

  • 以下の制御フロータスクがサポートされています。

    • Analysis Services DDL 実行タスク

    • Analysis Services 処理タスク

    • 一括挿入タスク

    • データベース整合性チェックタスク

    • データフロータスク

    • データマイニングクエリタスク

    • データプロファイリングタスク

    • パッケージ実行タスク

    • SQL Server エージェントジョブ実行タスク

    • SQL 実行タスク

    • T-SQL ステートメント実行タスク

    • オペレーター通知タスク

    • インデックス再構築タスク

    • インデックス再編成タスク

    • データベース縮小タスク

    • データベース転送タスク

    • ジョブ転送タスク

    • ログイン転送タスク

    • SQL Server オブジェクト転送タスク

    • 統計更新タスク

  • プロジェクトのデプロイのみがサポートされています。

  • SQL Server エージェントを使用した SSIS パッケージの実行がサポートされています。

  • SSIS ログレコードは、ユーザーが作成したデータベースにのみ挿入できます。

  • ファイルの操作には D:\S3 フォルダのみを使用します。他のディレクトリにあるファイルは削除されます。ファイルの場所について、そのほか以下の詳細にも注意してください。

    • SSIS プロジェクトの入力ファイルと出力ファイルは D:\S3 フォルダに配置します。

    • データフロータスクの場合、BLOBTempStoragePathBufferTempStoragePath の場所を D:\S3 フォルダ内のファイルに変更します。ファイルパスは D:\S3\ で始まる必要があります。

    • ファイル接続に使用されるすべてのパラメータ、可変、表現が D:\S3 フォルダを指していることを確認します。

    • マルチ AZ インスタンスでは、SSIS によって D:\S3 フォルダに作成されたファイルは、フェイルオーバー後に削除されます。詳細については、「S3 統合のマルチ AZ の制限」を参照してください。

    • SSIS によって D:\S3 フォルダに作成されたファイルは、耐久性を高めるために、Amazon S3 バケットにアップロードします。

  • 列のインポートと列のエクスポートの変換、およびデータフロータスクのスクリプトコンポーネントはサポートされていません。

  • SSIS パッケージの実行時にダンプを有効にしたり、SSIS パッケージにデータタップを追加したりすることはできません。

  • SSIS スケールアウト機能はサポートされていません。

  • プロジェクトを直接デプロイすることはできません。この機能を実行するための RDS ストアドプロシージャが提供されています。詳細については、「SSIS プロジェクトのデプロイ」を参照してください。

  • RDS にデプロイする SSIS プロジェクト (.ispac) ファイルは DoNotSavePasswords 保護モードで構築します。

  • SSIS は、リードレプリカを使用する Always On インスタンスではサポートされていません。

  • SSIS オプションに関連付けられている SSISDB データベースをバックアップすることはできません。

  • SSIS の他のインスタンスからの SSISDB データベースのインポートと復元はサポートされていません。

  • 他の SQL Server DB インスタンスまたは Oracle データソースに接続できます。RDS for SQL Server 上の SSIS では、MySQL または PostgreSQL などの他のデータベースエンジンへの接続はサポートされていません。Oracle データソースへの接続に関する詳細については、Oracle OLEDB とリンクされたサーバー を参照してください。

SSIS の有効化

SSIS を有効にするには、DB インスタンスに SSIS オプションを追加します。以下のプロセスを使用します。

  1. 新しいオプショングループを作成するか、既存のオプショングループを選択します。

  2. オプショングループに [SSIS] オプションを追加します。

  3. 新しいパラメータグループを作成するか、既存のパラメータグループを選択します。

  4. パラメータグループを変更して、clr enabled パラメータを 1 に設定します。

  5. オプショングループとパラメータグループを DB インスタンスに関連付けます。

  6. Amazon S3 統合を有効にする

注記

DB インスタンスに既に SSISDB という名前のデータベースがある場合や、SSIS ログインが予約されている場合、そのインスタンスで SSIS を有効にすることはできません。

SSIS のオプショングループの作成

SSIS を使用するには、使用する DB インスタンスの SQL Server のエディションとバージョンに対応するオプショングループを作成または変更します。そのためには、AWS Management Console または AWS CLI を使用します。

次の手順では、SQL Server Standard Edition 2016 のオプショングループを作成します。

オプショングループを作成するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[オプショングループ] を選択します。

  3. [Create group] (グループの作成) を選択します。

  4. [Create subnet group(オプショングループの作成)] ウィンドウで以下を行います。

    1. [名前] に、AWS アカウント内で一意のオプショングループ名 (ssis-se-2016 など) を入力します。名前には、英字、数字、ハイフンのみを使用できます。

    2. [説明] に、オプショングループの簡単な説明 (SSIS option group for SQL Server SE 2016 など) を入力します。この説明は表示用に使用されます。

    3. [エンジン] で [sqlserver-se] を選択します。

    4. [メジャーエンジンのバージョン] で、[13.00] を選択します。

  5. [作成] を選択します。

次の手順では、SQL Server Standard Edition 2016 のオプショングループを作成します。

オプショングループを作成するには
  • 以下のいずれかのコマンドを実行します。

    Linux、macOS、Unix の場合:

    aws rds create-option-group \ --option-group-name ssis-se-2016 \ --engine-name sqlserver-se \ --major-engine-version 13.00 \ --option-group-description "SSIS option group for SQL Server SE 2016"

    Windows の場合:

    aws rds create-option-group ^ --option-group-name ssis-se-2016 ^ --engine-name sqlserver-se ^ --major-engine-version 13.00 ^ --option-group-description "SSIS option group for SQL Server SE 2016"

オプショングループへの SSIS オプションの追加

次に、AWS Management Console または AWS CLI を使用して SSIS オプションをオプショングループに追加します。

SSIS オプションを追加するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[オプショングループ] を選択します。

  3. 作成したオプショングループ (この例では ssis-se-2016) を選択します。

  4. [オプションの追加] を選択します。

  5. [オプションの詳細] で、[オプション名] として [SSRS] を選択します。

  6. [スケジュール] で、オプションをすぐに追加するか、次のメンテナンスウィンドウで追加するかを選択します。

  7. [オプションを追加] を選択します。

SSIS オプションを追加するには
  • オプショングループに [SSIS] オプションを追加します。

    Linux、macOS、Unix の場合:

    aws rds add-option-to-option-group \ --option-group-name ssis-se-2016 \ --options OptionName=SSIS \ --apply-immediately

    Windows の場合:

    aws rds add-option-to-option-group ^ --option-group-name ssis-se-2016 ^ --options OptionName=SSIS ^ --apply-immediately

SSIS のパラメータグループの作成

SSIS で使用する DB インスタンスの SQL Server のエディションとバージョンに対応する clr enabled パラメータのパラメータグループを作成または変更します。

以下の例では、SQL Server Standard Edition 2016 のパラメータグループを作成します。

パラメータグループを作成するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[パラメータグループ] を選択します。

  3. [パラメータグループの作成] を選択します。

  4. [パラメータグループの作成] ペインで、次の操作を行います。

    1. [パラメータグループファミリー] で、[sqlserver-se-13.0] を選択します。

    2. [グループ名] に、パラメータグループの識別子 (ssis-sqlserver-se-13 など) を入力します。

    3. [説明] に「clr enabled parameter group」と入力します。

  5. [作成] を選択します。

以下の例では、SQL Server Standard Edition 2016 のパラメータグループを作成します。

パラメータグループを作成するには
  • 以下のいずれかのコマンドを実行します。

    Linux、macOS、Unix の場合:

    aws rds create-db-parameter-group \ --db-parameter-group-name ssis-sqlserver-se-13 \ --db-parameter-group-family "sqlserver-se-13.0" \ --description "clr enabled parameter group"

    Windows の場合:

    aws rds create-db-parameter-group ^ --db-parameter-group-name ssis-sqlserver-se-13 ^ --db-parameter-group-family "sqlserver-se-13.0" ^ --description "clr enabled parameter group"

SSIS のパラメータの変更

DB インスタンスの SQL Server のエディションとバージョンに対応するパラメータグループの clr enabled パラメータを変更します。SSIS の場合、clr enabled パラメータを 1 に設定します。

以下の手順では、SQL Server Standard Edition 2016 用に作成したパラメータグループを変更します。

パラメータグループを変更するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[パラメータグループ] を選択します。

  3. [ssis-sqlserver-se-13] などのパラメータグループを選択します。

  4. [パラメータ] で、パラメータのリストを clr でフィルタ処理します。

  5. [clr enabled (clr 有効化)] を選択します。

  6. [Edit parameters] を選択します。

  7. [Values (値)] から [1] を選択します。

  8. [Save changes] (変更を保存) をクリックします。

以下の手順では、SQL Server Standard Edition 2016 用に作成したパラメータグループを変更します。

パラメータグループを変更するには
  • 以下のいずれかのコマンドを実行します。

    Linux、macOS、Unix の場合:

    aws rds modify-db-parameter-group \ --db-parameter-group-name ssis-sqlserver-se-13 \ --parameters "ParameterName='clr enabled',ParameterValue=1,ApplyMethod=immediate"

    Windows の場合:

    aws rds modify-db-parameter-group ^ --db-parameter-group-name ssis-sqlserver-se-13 ^ --parameters "ParameterName='clr enabled',ParameterValue=1,ApplyMethod=immediate"

オプショングループとパラメータグループを DB インスタンスに関連付ける

SSIS オプショングループおよびパラメータグループを DB インスタンスに関連付けるには、AWS Management Console または AWS CLI を使用します。

注記

既存のインスタンスを使用する場合は、このインスタンスに Active Directory ドメインと AWS Identity and Access Management (IAM) ロールが既に関連付けられている必要があります。新しいインスタンスを作成する場合は、既存の Active Directory ドメインと IAM ロールを指定します。詳細については、「RDS for SQL Server による Active Directory の操作」を参照してください。

SSIS の有効化を完了するには、SSIS オプショングループおよびパラメータグループを新規または既存の DB インスタンスに関連付けます。

  • 新しい DB インスタンスの場合は、インスタンスを起動するときにそれらを関連付けます。詳細については、「Amazon RDS DB インスタンスの作成」を参照してください。

  • 既存の DB インスタンスの場合は、インスタンスを変更することでそれらを関連付けます。詳細については、「Amazon RDS DB インスタンスを変更する」を参照してください。

SSIS オプショングループおよびパラメータグループを新規または既存の DB インスタンスに関連付けることができます。

SSIS オプショングループおよびパラメータグループを使用してインスタンスを作成するには
  • オプショングループの作成時に使用したものと同じ DB エンジンのタイプとメジャーバージョンを指定します。

    Linux、macOS、Unix の場合:

    aws rds create-db-instance \ --db-instance-identifier myssisinstance \ --db-instance-class db.m5.2xlarge \ --engine sqlserver-se \ --engine-version 13.00.5426.0.v1 \ --allocated-storage 100 \ --manage-master-user-password \ --master-username admin \ --storage-type gp2 \ --license-model li \ --domain-iam-role-name my-directory-iam-role \ --domain my-domain-id \ --option-group-name ssis-se-2016 \ --db-parameter-group-name ssis-sqlserver-se-13

    Windows の場合:

    aws rds create-db-instance ^ --db-instance-identifier myssisinstance ^ --db-instance-class db.m5.2xlarge ^ --engine sqlserver-se ^ --engine-version 13.00.5426.0.v1 ^ --allocated-storage 100 ^ --manage-master-user-password ^ --master-username admin ^ --storage-type gp2 ^ --license-model li ^ --domain-iam-role-name my-directory-iam-role ^ --domain my-domain-id ^ --option-group-name ssis-se-2016 ^ --db-parameter-group-name ssis-sqlserver-se-13
インスタンスを変更し、SSIS オプショングループおよびパラメータグループを関連付けるには
  • 以下のいずれかのコマンドを実行します。

    Linux、macOS、Unix の場合:

    aws rds modify-db-instance \ --db-instance-identifier myssisinstance \ --option-group-name ssis-se-2016 \ --db-parameter-group-name ssis-sqlserver-se-13 \ --apply-immediately

    Windows の場合:

    aws rds modify-db-instance ^ --db-instance-identifier myssisinstance ^ --option-group-name ssis-se-2016 ^ --db-parameter-group-name ssis-sqlserver-se-13 ^ --apply-immediately

S3 統合を有効にする

SSIS プロジェクト (.ispac) ファイルをデプロイのためにホストにダウンロードするには、S3 ファイル統合を使用します。詳細については、「Amazon RDS for SQL Server DB インスタンスと Amazon S3 の統合」を参照してください。

SSISDB の管理権限

SSIS オプションを使用してインスタンスを作成または変更すると、その結果、SSISDB データベースのマスターユーザーには、ssis_admin および ssis_logリーダー ロールが付与されます。マスターユーザーには SSISDB に対する以下の権限があります。

  • ssis_admin ロールの変更

  • ssis_logリーダー ロールの変更

  • 任意のユーザーの変更

マスターユーザーは SQL 認証ユーザーであるため、マスターユーザーを使用して SSIS パッケージを実行することはできません。マスターユーザーはこれらの権限を使用して新しい SSISDB ユーザーを作成し、それらのユーザーを ssis_admin および ssis_logリーダー ロールに追加できます。これは、ドメインユーザーに SSIS を使用するアクセス許可を付与するのに役立ちます。

SSIS 用の Windows 認証ユーザーの設定

マスターユーザーは、以下のコード例を使用して、SSISDB に Windows 認証ログインを設定し、必要な手順に対するアクセス許可を付与できます。これにより、ドメインユーザーに SSIS パッケージのデプロイと実行、S3 ファイル転送手順の使用、認証情報の作成、および SQL Server エージェントプロキシの操作を行うアクセス許可が付与されます。詳細については、Microsoft ドキュメントの「Credentials (Database Engine)」および「Create a SQL Server Agent Proxy」を参照してください。

注記

必要に応じて、Windows 認証ユーザーに以下のアクセス許可の一部またはすべてを付与できます。

-- Create a server-level SQL login for the domain user, if it doesn't already exist USE [master] GO CREATE LOGIN [mydomain\user_name] FROM WINDOWS GO -- Create a database-level account for the domain user, if it doesn't already exist USE [SSISDB] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] -- Add SSIS role membership to the domain user ALTER ROLE [ssis_admin] ADD MEMBER [mydomain\user_name] ALTER ROLE [ssis_logreader] ADD MEMBER [mydomain\user_name] GO -- Add MSDB role membership to the domain user USE [msdb] GO CREATE USER [mydomain\user_name] FOR LOGIN [mydomain\user_name] -- Grant MSDB stored procedure privileges to the domain user GRANT EXEC ON msdb.dbo.rds_msbi_task TO [mydomain\user_name] with grant option GRANT SELECT ON msdb.dbo.rds_fn_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_task_status TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_cancel_task TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_download_from_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_upload_to_s3 TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_delete_from_filesystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_gather_file_details TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_add_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_update_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_grant_login_to_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_revoke_login_from_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_delete_proxy TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_login_for_proxy to [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.sp_enum_proxy_for_subsystem TO [mydomain\user_name] with grant option GRANT EXEC ON msdb.dbo.rds_sqlagent_proxy TO [mydomain\user_name] WITH GRANT OPTION -- Add the SQLAgentUserRole privilege to the domain user USE [msdb] GO ALTER ROLE [SQLAgentUserRole] ADD MEMBER [mydomain\user_name] GO -- Grant the ALTER ANY CREDENTIAL privilege to the domain user USE [master] GO GRANT ALTER ANY CREDENTIAL TO [mydomain\user_name] GO

SSIS プロジェクトのデプロイ

RDS では、SQL Server Management Studio (SSMS) または SSIS の手順を使用して SSIS プロジェクトを直接デプロイすることはできません。Amazon S3 からプロジェクトファイルをダウンロードしてデプロイするには、RDS ストアドプロシージャを使用します。

ストアドプロシージャを実行するには、ストアドプロシージャの実行アクセス許可を付与した任意のユーザーとしてログインします。詳細については、「SSIS 用の Windows 認証ユーザーの設定」を参照してください。

SSIS プロジェクトをデプロイするには
  1. プロジェクト (.ispac) ファイルをダウンロードします。

    exec msdb.dbo.rds_download_from_s3 @s3_arn_of_file='arn:aws:s3:::bucket_name/ssisproject.ispac', [@rds_file_path='D:\S3\ssisproject.ispac'], [@overwrite_file=1];
  2. 以下のことを確認してから、デプロイタスクを送信します。

    • フォルダが SSIS カタログに存在する。

    • プロジェクト名が、SSIS プロジェクトの開発中に使用したプロジェクト名と一致する。

    exec msdb.dbo.rds_msbi_task @task_type='SSIS_DEPLOY_PROJECT', @folder_name='DEMO', @project_name='ssisproject', @file_path='D:\S3\ssisproject.ispac';

デプロイタスクのステータスのモニタリング

デプロイタスクのステータスを追跡するには、rds_fn_task_status 関数を呼び出します。2 つのパラメータを使用します。1 つめのパラメータは、SSIS に適用されないため、常に NULL を設定してください。2 つめのパラメータは、タスク ID を受け入れます。

全タスクのリストを見るには、以下の例にあるように、初期のパラメータを NULL に設定し、2 つめのパラメータを 0 に設定します。

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,0);

特定のタスクを受け取るには、以下の例にあるように、初期のパラメータを NULL に設定し、2 つめのパラメータをタスク ID に設定します。

SELECT * FROM msdb.dbo.rds_fn_task_status(NULL,42);

rds_fn_task_status 機能は次の情報を返します。

出力パラメータ

説明

task_id

タスクの ID。

task_type

SSIS_DEPLOY_PROJECT

database_name

SSIS タスクには該当しません。

% complete

タスクの進行状況の割合。

duration (mins)

タスクにかかった時間 (分単位)。

lifecycle

タスクのステータス。有効な状態には以下のものがあります。

  • CREATED - msdb.dbo.rds_msbi_task ストアドプロシージャを呼び出すと、タスクが作成され、ステータスが CREATED に設定されます。

  • IN_PROGRESS - タスクがスタートすると、ステータスが に設定されます。IN_PROGRESSステータスが CREATED から IN_PROGRESS に変わるまで、最大 5 分かかることがあります。

  • SUCCESS - タスクが完了すると、ステータスが に設定されます。SUCCESS

  • ERROR - タスクが失敗すると、ステータスが に設定されます。ERRORエラーの詳細については、task_info 列を参照してください。

  • CANCEL_REQUESTED - rds_cancel_task を呼び出すと、タスクのステータスが CANCEL_REQUESTED になります。

  • CANCELLED - タスクが正常にキャンセルされると、タスクのステータスが に設定されます。CANCELLED

task_info

タスクに関する追加情報。処理中にエラーが発生した場合、この列にエラーに関する情報が含まれます。

last_updated

タスクのステータスが最後に更新された日時。

created_at

タスクが作成された日時。

S3_object_arn

SSIS タスクには該当しません。

overwrite_S3_backup_file

SSIS タスクには該当しません。

KMS_master_key_arn

SSIS タスクには該当しません。

filepath

SSIS タスクには該当しません。

overwrite_file

SSIS タスクには該当しません。

task_metadata

SSIS タスクに関連付けられたメタデータ。

SSIS の使用

SSIS プロジェクトを SSIS カタログにデプロイした後、SSMS から直接パッケージを実行するか、SQL Server エージェントを使用してパッケージをスケジュールできます。SSIS パッケージを実行するには、Windows 認証のログインを使用する必要があります。詳細については、「SSIS 用の Windows 認証ユーザーの設定」を参照してください。

SSIS プロジェクトのデータベース接続マネージャーの設定

接続マネージャーを使用する場合、以下のタイプの認証を使用できます。

  • AWS Managed Active Directory を使用したローカルデータベース接続の場合、SQL 認証または Windows 認証を使用できます。Windows 認証の場合、接続文字列のサーバー名として DB_instance_name.fully_qualified_domain_name を使用します。

    例えば、myssisinstance.corp-ad.example.com を使用します。ここで、myssisinstance は DB インスタンス名、corp-ad.example.com は完全修飾ドメイン名です。

  • リモート接続の場合は、常に SQL 認証を使用します。

  • セルフマネージド Active Directory を使用したローカルデータベース接続の場合、SQL 認証または Windows 認証を使用できます。Windows 認証の場合、接続文字列のサーバー名として . または LocalHost を使用します。

SSIS プロキシの作成

SQL Server エージェントを使用して SSIS パッケージをスケジュールできるようにするには、SSIS 認証情報と SSIS プロキシを作成します。これらの手順を Windows 認証ユーザーとして実行します。

SSIS 認証情報を作成するには
  • プロキシの認証情報を作成します。そのためには、SSMS または以下の SQL ステートメントを使用できます。

    USE [master] GO CREATE CREDENTIAL [SSIS_Credential] WITH IDENTITY = N'mydomain\user_name', SECRET = N'mysecret' GO
    注記

    IDENTITY はドメイン認証ログインであることが必要です。mysecret をドメイン認証ログインのパスワードに置き換えます。

    SSISDB プライマリホストが変更されるたびに、SSIS プロキシ認証情報を変更して、新しいホストがそれらのホストにアクセスできるようにします。

SSIS プロキシを作成するには
  1. 以下の SQL ステートメントを使用して、プロキシを作成します。

    USE [msdb] GO EXEC msdb.dbo.sp_add_proxy @proxy_name=N'SSIS_Proxy',@credential_name=N'SSIS_Credential',@description=N'' GO
  2. 以下の SQL ステートメントを使用して、他のユーザーにプロキシへのアクセスを許可します。

    USE [msdb] GO EXEC msdb.dbo.sp_grant_login_to_proxy @proxy_name=N'SSIS_Proxy',@login_name=N'mydomain\user_name' GO
  3. 以下の SQL ステートメントを使用して、SSIS サブシステムにプロキシへのアクセスを許可します。

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='GRANT_SUBSYSTEM_ACCESS',@proxy_name='SSIS_Proxy',@proxy_subsystem='SSIS' GO
プロキシとそのプロキシに対する許可を表示するには
  1. 以下の SQL ステートメントを使用して、プロキシの被付与者を表示します。

    USE [msdb] GO EXEC sp_help_proxy GO
  2. 以下の SQL ステートメントを使用して、サブシステムの許可を表示します。

    USE [msdb] GO EXEC msdb.dbo.sp_enum_proxy_for_subsystem GO

SQL Server エージェントを使用した SSIS パッケージのスケジュール

認証情報とプロキシを作成し、SSIS にプロキシへのアクセスを許可したら、SQL Server エージェントジョブを作成して SSIS パッケージをスケジュールできます。

SSIS パッケージをスケジュールするには
  • SSMS または T-SQL を使用して、SQL Server エージェントジョブを作成できます。以下の例では T-SQL を使用しています。

    USE [msdb] GO DECLARE @jobId BINARY(16) EXEC msdb.dbo.sp_add_job @job_name=N'MYSSISJob', @enabled=1, @notify_level_eventlog=0, @notify_level_email=2, @notify_level_page=2, @delete_level=0, @category_name=N'[Uncategorized (Local)]', @job_id = @jobId OUTPUT GO EXEC msdb.dbo.sp_add_jobserver @job_name=N'MYSSISJob',@server_name=N'(local)' GO EXEC msdb.dbo.sp_add_jobstep @job_name=N'MYSSISJob',@step_name=N'ExecuteSSISPackage', @step_id=1, @cmdexec_success_code=0, @on_success_action=1, @on_fail_action=2, @retry_attempts=0, @retry_interval=0, @os_run_priority=0, @subsystem=N'SSIS', @command=N'/ISSERVER "\"\SSISDB\MySSISFolder\MySSISProject\MySSISPackage.dtsx\"" /SERVER "\"my-rds-ssis-instance.corp-ad.company.com/\"" /Par "\"$ServerOption::LOGGING_LEVEL(Int16)\"";1 /Par "\"$ServerOption::SYNCHRONIZED(Boolean)\"";True /CALLERINFO SQLAGENT /REPORTING E', @database_name=N'master', @flags=0, @proxy_name=N'SSIS_Proxy' GO

プロキシからの SSIS アクセスの取り消し

以下のストアドプロシージャを使用して、SSIS サブシステムへのアクセスを取り消し、SSIS プロキシを削除できます。

アクセスを取り消してプロキシを削除するには
  1. サブシステムのアクセスを取り消します。

    USE [msdb] GO EXEC msdb.dbo.rds_sqlagent_proxy @task_type='REVOKE_SUBSYSTEM_ACCESS',@proxy_name='SSIS_Proxy',@proxy_subsystem='SSIS' GO
  2. プロキシに対する許可を取り消します。

    USE [msdb] GO EXEC msdb.dbo.sp_revoke_login_from_proxy @proxy_name=N'SSIS_Proxy',@name=N'mydomain\user_name' GO
  3. プロキシを削除します。

    USE [msdb] GO EXEC dbo.sp_delete_proxy @proxy_name = N'SSIS_Proxy' GO

SSIS の無効化

SSIS を無効にするには、オプショングループから SSIS オプションを削除します。

重要

SSIS オプションを削除しても SSISDB データベースは削除されないため、SSIS プロジェクトを失うことなくこのオプションを安全に削除できます。

削除後に SSIS オプションを再度有効にして、前に SSIS カタログにデプロイされていた SSIS プロジェクトを再利用できます。

以下の手順では、SSIS オプションを削除します。

SSIS オプションをオプショングループから削除するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[オプショングループ] を選択します。

  3. SSIS オプションが含まれているオプショングループ (前の例では ssis-se-2016) を選択します。

  4. [オプションの削除] を選択します。

  5. [オプションの削除] で、[削除するオプション] として [SSIS] を選択します。

  6. [すぐに適用] で、オプションをすぐに削除する場合は [はい] を選択し、次のメンテナンスウィンドウで削除する場合は [いいえ] を選択します。

  7. [削除] を選択します。

以下の手順では、SSIS オプションを削除します。

SSIS オプションをオプショングループから削除するには
  • 以下のいずれかのコマンドを実行します。

    Linux、macOS、Unix の場合:

    aws rds remove-option-from-option-group \ --option-group-name ssis-se-2016 \ --options SSIS \ --apply-immediately

    Windows の場合:

    aws rds remove-option-from-option-group ^ --option-group-name ssis-se-2016 ^ --options SSIS ^ --apply-immediately

SSISDB データベースの削除

SSIS オプションを削除しても、SSISDB データベースは削除されません。SSISDB データベースを削除するには、SSIS オプションを削除した後、rds_drop_ssis_database ストアドプロシージャを使用します。

SSIS データベースを削除するには
  • 次のストアドプロシージャを使用します。

    USE [msdb] GO EXEC dbo.rds_drop_ssis_database GO

SSISDB データベースを削除した後、SSIS オプションを再度有効にすると、新しい SSISDB カタログが取得されます。