次の方法で共有


スクリプト レプリケーション

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

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

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

スクリプトを使用したタスクの自動化の例

Adventure Works Cycles について考えてみましょう。このサイクルでは、マージ レプリケーションを実装して、データをリモートセールスフォースに分散します。 営業担当者は、プル サブスクリプションを使用して、担当地域の顧客に関連するすべてのデータをダウンロードします。 オフラインで作業する場合、営業担当者はデータを更新し、新しい顧客と注文を入力します。 Adventure Works Cycles には異なる地域に 50 人以上の営業担当者が存在するため、新しいサブスクリプション ウィザードを使用して各サブスクライバーで異なるサブスクリプションを作成するには時間がかかります。 代わりに、レプリケーション管理者は次の手順に従うことができます。

  1. 営業担当者またはその担当地域に基づいてパーティションを使用して、必要なマージ パブリケーションを設定します。

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

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

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

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

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

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

重要

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

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

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

  1. ウィザードの [ ウィザードの操作] ページで、ウィザードに適したチェック ボックスをオンにします。

    • パブリケーションを作成する手順を含むスクリプト ファイルを生成する

    • サブスクリプションを作成する手順を含むスクリプト ファイルを生成する

    • 配布を構成する手順を含むスクリプト ファイルを生成する

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

  3. ウィザードを完了させてください。

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

  1. Management Studio でディストリビューター、パブリッシャー、またはサブスクライバーに接続し、サーバー ノードを展開します。

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

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

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

  5. 「ファイルにスクリプト」をクリックします。

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

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

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

  1. Management Studio でディストリビューター、パブリッシャー、またはサブスクライバーに接続し、サーバー ノードを展開します。

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

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

  4. スクリプトをファイルへをクリックします。

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

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