マスター ストアド プロシージャの転送タスク

適用対象:SQL Server Azure Data Factory の SSIS 統合ランタイム

Master ストアド プロシージャ転送タスクは、 のインスタンス上の master SQL Serverデータベース間で、1 つ以上のユーザー定義ストアド プロシージャを転送します。 master データベースからストアド プロシージャを転送するには、プロシージャの所有者が dbo である必要があります。

Master ストアド プロシージャ転送タスクは、すべてのストアド プロシージャまたは指定したストアド プロシージャのみを転送するように設定できます。 このタスクでは、システム ストアド プロシージャはコピーされません。

転送する master ストアド プロシージャが既に転送先に存在している場合もあります。 Master ストアド プロシージャ転送タスクでは、既存のストアド プロシージャの処理を次のように設定できます。

  • 既存のストアド プロシージャを上書きします。

  • 重複するストアド プロシージャが存在する場合、タスクを失敗とします。

  • 重複するストアド プロシージャをスキップします。

Master ストアド プロシージャ転送タスクは実行時に、2 つの SMO 接続マネージャーを使用して、転送元および転送先サーバーに接続します。 SMO 接続マネージャーの構成は Master ストアド プロシージャ転送タスクとは別に行い、Master ストアド プロシージャ転送タスクは SMO 接続マネージャーを参照します。 SMO 接続マネージャーは、サーバーと、サーバーに接続する際に使用する認証モードを指定します。 詳細については、「 SMO 接続マネージャー」をご覧ください。

SQL Server のインスタンス間でのストアド プロシージャの転送

Master ストアド プロシージャ転送タスクでは、 SQL Server 転送元と転送先をサポートします。

イベント

Master ストアド プロシージャ転送タスクでは、転送されたストアド プロシージャの数を報告する情報イベントと、ストアド プロシージャが上書きされた場合の警告イベントが発生します。

ストアド プロシージャの転送タスクでは、ログイン転送の増分進捗は報告されず、完了率は 0% と 100% のみが報告されます。

実行値

タスクの ExecutionValue プロパティで定義する実行値は、転送されたストアド プロシージャの数を返します。 Master ストアド プロシージャ転送タスクの ExecValueVariable プロパティにユーザー定義変数を割り当てると、パッケージの他のオブジェクトからストアド プロシージャの転送に関する情報を使用できるようになります。 詳細については、「Integration Services (SSIS) Variables の変数」と「パッケージで変数を使用する」を参照してください。

ログエントリ

Master ストアド プロシージャ転送タスクには、次のようなカスタム ログ エントリがあります。

  • TransferStoredProceduresTaskStartTransferringObjects 転送が開始されたことを報告するログ エントリです。 ログ エントリには、開始時刻が含まれます。

  • TransferSStoredProceduresTaskFinishedTransferringObjects 転送が終了したことを報告するログ エントリです。 ログ エントリには、終了時刻が含まれます。

また、 OnInformation イベントのログ エントリは転送されたストアド プロシージャの数を報告し、 OnWarning イベントのログ エントリは転送先でストアド プロシージャが上書きされると書き込まれます。

セキュリティとアクセス許可

ソースの master データベースでストアド プロシージャの一覧を表示する権限が必要です。また、転送先サーバーの sysadmin サーバー ロールのメンバーであるか、転送先サーバーの master データベースでストアド プロシージャを作成する権限を持つユーザーである必要があります。

マスター ストアド プロシージャの転送タスクの構成

プロパティを設定するには SSIS デザイナーから行うか、またはプログラムによって設定します。

SSIS デザイナーで設定できるプロパティの詳細については、次のトピックを参照してください。

プログラムによってこれらのプロパティを設定する方法については、次のトピックを参照してください。

プログラムによる Master ストアド プロシージャ転送タスクの構成

SSIS デザイナーでこれらのプロパティを設定する方法については、次のトピックを参照してください。

マスター ストアド プロシージャ転送タスク エディター (全般ページ)

[Master ストアド プロシージャ転送タスク エディター] ダイアログ ボックスの [全般] ページを使用すると、Master ストアド プロシージャ転送タスクの名前と説明を入力できます。

このタスクは、コピー元のサーバーの master データベースからコピー先のサーバーの master データベースに、 dbo が所有しているユーザー定義のストアド プロシージャのみを転送します。 ストアド プロシージャを作成するには、移行先サーバーのCREATE PROCEDURE データベースで権限をユーザーに付与するか、移行先サーバーの sysadmin 固定サーバー ロールのメンバーである必要があります。

オプション

Name
マスター ストアド プロシージャの転送タスクの一意の名前を入力してください。 この名前は、タスク アイコンのラベルとして使用されます。

タスク名はパッケージ内で一意である必要があります。

説明
マスター ストアド プロシージャの転送タスクの説明を入力します。

[マスター ストアド プロシージャの転送タスク エディター] ([ストアド プロシージャ] ページ)

[Master ストアド プロシージャ転送タスク エディター] ダイアログ ボックスの [ストアド プロシージャ] ページを使用すると、 の 1 つのインスタンスの master SQL Server データベースから の別のインスタンスの master SQL Serverデータベースに、1 つ以上のユーザー定義ストアド プロシージャをコピーする場合のプロパティを指定できます。

このタスクは、コピー元のサーバーの master データベースからコピー先のサーバーの master データベースに、 dbo が所有しているユーザー定義のストアド プロシージャのみを転送します。 ストアド プロシージャを作成するには、移行先サーバーのCREATE PROCEDURE データベースで権限をユーザーに付与するか、移行先サーバーの sysadmin 固定サーバー ロールのメンバーである必要があります。

オプション

SourceConnection
一覧で SMO 接続マネージャーを選択するか、ソース サーバーへの新しい接続を作成するには、<New connection...> をクリックします。

DestinationConnection
一覧で SMO 接続マネージャーを選択するか、コピー先サーバーへの新しい接続を作成するには、<新しい接続...> をクリックします。

IfObjectExists
コピー先サーバーの master データベースに既に存在する同名のユーザー定義ストアド プロシージャを、タスクでどのように処理するかを選択します。

このプロパティには、次の表に示すオプションがあります。

説明
FailTask ストアド プロシージャがコピー先のサーバーの master データベースに既に存在する名前と同じ名前を持つ場合、タスクは失敗します。
Overwrite このタスクは、コピー先のサーバー上の master データベースにある同名のストアド プロシージャを上書きします。
スキップ タスクは、コピー先サーバー上の master データベースに存在する同名のストアド プロシージャをスキップします。

TransferAllStoredProcedures
コピー元のサーバーの master データベースのすべてのユーザー定義ストアド プロシージャをコピー先のサーバーにコピーするかどうかを選択します。

説明
True master データベースのユーザー定義ストアド プロシージャをすべてコピーします。
指定したストアド プロシージャのみをコピーします。

StoredProceduresList
コピー先の master データベースにコピーする、コピー元サーバーの master データベースのユーザー定義ストアド プロシージャを選択します。 このオプションは、 [TransferAllStoredProcedures][False] に設定した場合のみ使用できます。