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

適用対象: 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 転送元と転送先をサポートします。

events

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

Master ストアド プロシージャ転送タスクでは、増分中のログイン転送タスクの進捗状況は報告されません。0% または 100% 完了した場合のみ報告されます。

実行値

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

ログ エントリ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

注意

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

オプション

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

Note

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

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

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

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

注意

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

オプション

SourceConnection
SMO 接続マネージャーを一覧から選択するか、<[新しい接続]> をクリックしてコピー元のサーバーへの新しい接続を作成します。

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

[IfObjectExists]
コピー先のサーバーの master データベースに存在する名前と同じ名前を持つ、ユーザー定義ストアド プロシージャの処理方法を選択します。

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

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

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

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

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

参照

SQL Server オブジェクトの転送タスク
Integration Services タスク
制御フロー