レプリケーションのスクリプト作成
トポロジ内のすべてのレプリケーション コンポーンネントは、ディザスター リカバリー計画の一部としてスクリプト化され、スクリプトはタスクの繰り返しの自動化にも使用することができます。 スクリプトには、パブリケーションやサブスクリプションなどスクリプト化されたレプリケーション コンポーネントを実装するために必要な Transact-SQL システム ストアド プロシージャが格納されます。 スクリプトはウィザード (パブリケーションの新規作成ウィザードなど) で作成することができ、コンポーネントの作成後、Microsoft SQL Server Management Studio を使用して作成することもできます。 SQL Server Management Studio または sqlcmdを使用すると、スクリプトの表示、変更、および実行を行うことができます。 スクリプトをバックアップ ファイルと共に保存して、レプリケーション トポロジの再構成が必要な場合に使用できます。
プロパティが変更された場合は、コンポーネントのスクリプトを再作成する必要があります。 トランザクション レプリケーションでカスタム ストアド プロシージャを使用している場合は、各プロシージャのコピーをスクリプトと共に保存しておく必要があります。プロシージャが変更された場合は、プロシージャのコピーも更新する必要があります (スキーマやアプリケーション要件が変更されると、通常、プロシージャが更新されます)。 カスタム プロシージャの詳細については、「トランザクション アーティクルに変更を反映する方法の指定」を参照してください。
パラメーター化されたフィルターを使用するマージ パブリケーションの場合、パブリケーション スクリプトには、データ パーティションを作成するためのストアド プロシージャの呼び出しが含まれます。 このスクリプトによって、作成されたパーティションの参照、および必要に応じて 1 つ以上のパーティションを再作成する方法を利用できます。
スクリプトによるタスクの自動化の例
Adventure Works Cycles について考えてみましょう。このサイクルでは、マージ レプリケーションを実装して、リモートセールスフォースにデータを分散します。 営業担当者は、プル サブスクリプションを使用して自分の販売区域内の顧客に関連するすべてのデータをダウンロードします。 オフラインで作業しているときには、データを更新したり、新しい顧客や受注を入力することができます。 Adventure Works Cycles には 50 を超える営業担当者が異なる地域にあるため、新しいサブスクリプション ウィザードを使用して各サブスクライバーで異なるサブスクリプションを作成するには時間がかかります。 代わりに、レプリケーション管理者は次の手順を実行します。
営業担当者または販売区域に基づいたパーティションで必要なマージ パブリケーションを設定します。
1 つのサブスクライバーに対して 1 つのプル サブスクリプションを作成します。
作成したプル サブスクリプションに基づいてスクリプトを生成します。
スクリプトを変更し、サブスクライバーの名前などの値を変更します。
複数のサブスクライバーでスクリプトを実行し、必要なプル サブスクリプションを生成します。
レプリケーション オブジェクトのスクリプトの作成
レプリケーション ウィザードまたは Microsoft SQL Server Management Studioの [レプリケーション] フォルダーからレプリケーション オブジェクトをスクリプト化します。 ウィザードからスクリプトを作成する場合は、オブジェクトの作成後にスクリプトを作成するか、スクリプトの作成のみを行うかを選択することができます。
重要
すべてのパスワードは NULL としてスクリプトが作成されます。 可能であれば、実行時、ユーザーに対してセキュリティ資格情報の入力を要求します。 スクリプト ファイルに資格情報を格納する場合は、不正アクセスを防ぐために、そのファイルをセキュリティで保護する必要があります。
レプリケーション ウィザードの使用方法の詳細については、以下を参照してください。
レプリケーション ウィザードからオブジェクトのスクリプトを作成するには
ウィザードの [ウィザードのアクション] ページで、ウィザードに対して適切なチェック ボックスをオンにします。
[パブリケーションを作成するためのステップを含むスクリプト ファイルを生成する]
[サブスクリプションを作成するためのステップを含むスクリプト ファイルを生成する]
[ディストリビューションを構成するためのステップを含むスクリプトを生成する]
[スクリプト ファイルのプロパティ] ページでオプションを指定します。
ウィザードを完了します。
Management Studio からオブジェクトのスクリプトを作成するには
Management Studio でディストリビューター、パブリッシャー、またはサブスクライバーに接続し、サーバー ノードを展開します。
[レプリケーション] フォルダーを展開し、 [ローカル パブリケーション] フォルダーまたは [ローカル サブスクリプション] フォルダーを展開します。
パブリケーションまたはサブスクリプションを右クリックし、 [スクリプトの生成] をクリックします。
[ SQL スクリプトの生成 - <ReplicationObject] ダイアログ ボックスでオプションを> 指定します。
[スクリプトをファイルに保存] をクリックします。
[スクリプト ファイルの場所] ダイアログ ボックスでファイル名を入力し、 [保存] をクリックします。 状態メッセージが表示されます。
[OK] をクリックし、 [閉じる] をクリックします。
Management Studio から複数のオブジェクトのスクリプトを作成するには
Management Studio でディストリビューター、パブリッシャー、またはサブスクライバーに接続し、サーバー ノードを展開します。
[レプリケーション] フォルダーを右クリックし、 [スクリプトの生成] をクリックします。
[SQL スクリプトの生成] ダイアログ ボックスでオプションを指定します。
[スクリプトをファイルに保存] をクリックします。
[スクリプト ファイルの場所] ダイアログ ボックスでファイル名を入力し、 [保存] をクリックします。 状態メッセージが表示されます。
[OK] をクリックし、 [閉じる] をクリックします。