レプリケーションのスクリプト作成

適用対象:yesSQL Server (サポートされているすべてのバージョン) YesAzure SQL Managed Instance

トポロジ内のすべてのレプリケーション コンポーンネントは、ディザスター リカバリー計画の一部としてスクリプト化され、スクリプトはタスクの繰り返しの自動化にも使用することができます。 スクリプトには、パブリケーションやサブスクリプションなどスクリプト化されたレプリケーション コンポーネントを実装するために必要な Transact-SQL システム ストアド プロシージャが格納されます。 スクリプトは、ウィザード (パブリケーションの新規ウィザードなど) またはコンポーネントの作成後Microsoft SQL Server Management Studioで作成できます。 スクリプトを表示、変更、および実行するには、SQL Server Management Studioまたは sqlcmd を使用します。 スクリプトをバックアップ ファイルと共に保存して、レプリケーション トポロジの再構成が必要な場合に使用できます。

プロパティが変更された場合は、コンポーネントのスクリプトを再作成する必要があります。 トランザクション レプリケーションでカスタム ストアド プロシージャを使用している場合は、各プロシージャのコピーをスクリプトと共に保存しておく必要があります。プロシージャが変更された場合は、プロシージャのコピーも更新する必要があります (スキーマやアプリケーション要件が変更されると、通常、プロシージャが更新されます)。 カスタム プロシージャの詳細については、「トランザクション アーティクルに変更を反映する方法の指定」を参照してください。

パラメーター化されたフィルターを使用するマージ パブリケーションの場合、パブリケーション スクリプトには、データ パーティションを作成するためのストアド プロシージャの呼び出しが含まれます。 このスクリプトによって、作成されたパーティションの参照、および必要に応じて 1 つ以上のパーティションを再作成する方法を利用できます。

スクリプトによるタスクの自動化の例

Adventure Works Cycles を検討してください。マージ レプリケーションを実装して、データをリモート販売力に分散します。 営業担当者は、プル サブスクリプションを使用して自分の販売区域内の顧客に関連するすべてのデータをダウンロードします。 オフラインで作業しているときには、データを更新したり、新しい顧客や受注を入力することができます。 Adventure Works Cycles には異なる地域に 50 人を超える営業担当者がいます。ため、サブスクリプションの新規ウィザードを使用して各サブスクライバーで異なるサブスクリプションを作成するには時間がかかります。 代わりに、レプリケーション管理者は次の手順を実行します。

  1. 営業担当者または販売区域に基づいたパーティションで必要なマージ パブリケーションを設定します。

  2. 1 つのサブスクライバーに対して 1 つのプル サブスクリプションを作成します。

  3. 作成したプル サブスクリプションに基づいてスクリプトを生成します。

  4. スクリプトを変更し、サブスクライバーの名前などの値を変更します。

  5. 複数のサブスクライバーでスクリプトを実行し、必要なプル サブスクリプションを生成します。

レプリケーション オブジェクトのスクリプトの作成

レプリケーション ウィザードまたはレプリケーション ウィザードの [レプリケーション] フォルダーからレプリケーション オブジェクトをスクリプトMicrosoft SQL Server Management Studio。 ウィザードからスクリプトを作成する場合は、オブジェクトの作成後にスクリプトを作成するか、スクリプトの作成のみを行うかを選択することができます。

重要

すべてのパスワードは NULL としてスクリプトが作成されます。 可能であれば、実行時、ユーザーに対してセキュリティ資格情報の入力を要求します。 スクリプト ファイルに資格情報を格納する場合は、不正アクセスを防ぐために、そのファイルをセキュリティで保護する必要があります。

レプリケーション ウィザードの使用方法の詳細については、以下を参照してください。

レプリケーション ウィザードからオブジェクトのスクリプトを作成するには

  1. ウィザードの [ウィザードのアクション] ページで、ウィザードに対して適切なチェック ボックスをオンにします。

    • [パブリケーションを作成するためのステップを含むスクリプト ファイルを生成する]

    • [サブスクリプションを作成するためのステップを含むスクリプト ファイルを生成する]

    • [ディストリビューションを構成するためのステップを含むスクリプトを生成する]

  2. [スクリプト ファイルのプロパティ] ページでオプションを指定します。

  3. ウィザードを完了します。

Management Studio からオブジェクトのスクリプトを作成するには

  1. Connectディストリビューター、Publisher、またはサブスクライバーにManagement Studioし、サーバー ノードを展開します。

  2. [レプリケーション] フォルダーを展開し、 [ローカル パブリケーション] フォルダーまたは [ローカル サブスクリプション] フォルダーを展開します。

  3. パブリケーションまたはサブスクリプションを右クリックし、 [スクリプトの生成] をクリックします。

  4. [Generate SQL Script - ReplicationObject]/(スクリプトの生成 - ReplicationObject)ダイアログ ボックスでオプション>を指定します。

  5. [スクリプトをファイルに保存] をクリックします。

  6. [スクリプト ファイルの場所] ダイアログ ボックスでファイル名を入力し、 [保存] をクリックします。 状態メッセージが表示されます。

  7. [OK] をクリックし、 [閉じる] をクリックします。

Management Studio から複数のオブジェクトのスクリプトを作成するには

  1. Connectディストリビューター、Publisher、またはサブスクライバーにManagement Studioし、サーバー ノードを展開します。

  2. [レプリケーション] フォルダーを右クリックし、 [スクリプトの生成] をクリックします。

  3. [SQL スクリプトの生成] ダイアログ ボックスでオプションを指定します。

  4. [スクリプトをファイルに保存] をクリックします。

  5. [スクリプト ファイルの場所] ダイアログ ボックスでファイル名を入力し、 [保存] をクリックします。 状態メッセージが表示されます。

  6. [OK] をクリックし、 [閉じる] をクリックします。