トランザクション サブスクリプションのバックアップからの初期化 (レプリケーション Transact-SQL プログラミング)

トランザクション パブリケーションのサブスクリプションは通常、スナップショットを使用して初期化されますが、レプリケーション ストアド プロシージャを使用して、バックアップからサブスクリプションを初期化することもできます。 詳細については、「 スナップショットを使用しないトランザクション サブスクリプションの初期化を使用して、サブスクリプションを手動で初期化する方法について説明します。

トランザクション サブスクライバーをバックアップから初期化するには

  1. 既存のパブリケーションの場合は、パブリケーション データベースのパブリッシャーで sp_helppublication (Transact-SQL) を実行して、パブリケーションがバックアップから初期化する機能をサポートしていることを確認します。 結果セットの allow_initialize_from_backup の値を確認します。

    • この値が 1の場合、パブリケーションはこの機能をサポートしています。

    • 値が 0 の場合は、パブリケーション データベースのパブリッシャーで sp_changepublication (Transact-SQL) を実行します。 @propertyの場合は allow_initialize_from_backup@valueの場合は のtrue値を指定します。

  2. 新しいパブリケーションの場合は、パブリケーション データベースのパブリッシャーで sp_addpublication (Transact-SQL) を実行します。 allow_initialize_from_backupの値を true に指定します。 詳しくは、「 パブリケーションを作成」をご覧ください。

    警告

    サブスクライバー データの欠落を回避するために、 sp_addpublication@allow_initialize_from_backup = N'true'を使用する場合は、常に @immediate_sync = N'true'を使用します。

  3. BACKUP (Transact-SQL) ステートメントを使用してパブリケーション データベースのバックアップを作成します。

  4. RESTORE (Transact-SQL) ステートメントを使用してサブスクライバーのバックアップを復元します。

  5. パブリッシャー側のパブリケーション データベースで、ストアド プロシージャ sp_addsubscription (Transact-SQL) を実行します。 次のパラメーターを指定します。

    • @sync_type - initialize with backupを指定します。

    • @backupdevicetype - バックアップ デバイスの種類として、 logical (既定値)、 disktapeのいずれかを指定します。

    • @backupdevicename - 復元に使用する論理バックアップ デバイスまたは物理バックアップ デバイスを指定します。

      論理デバイスの場合は、 sp_addumpdevice を使ってデバイスを作成する際に指定したバックアップ デバイスの名前を指定します。

      物理デバイスの場合は、「 DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\BACKUP\Mybackup.dat' 」または「 TAPE = '\\.\TAPE0'」のように、完全なパスとファイル名を指定します。

    • (省略可) @password - バックアップ セットの作成時に指定したパスワードを指定します。

    • (省略可) @mediapassword - メディア セットのフォーマット時に指定したパスワードを指定します。

    • (省略可) @fileidhint - 復元するバックアップ セットの識別子を指定します。 たとえば、 1 はバックアップ メディアの 1 番目のバックアップ セットを示し、 2 は 2 番目のバックアップ セットを示します。

    • (テープ デバイスの場合は省略可) @unload - 復元が完了した後にテープをドライブからアンロードする場合は 1 (既定値) を、テープをアンロードしない場合は 0 を指定します。

  6. (省略可能)プル サブスクリプションの場合は、サブスクリプション データベースのサブスクライバーで sp_addpullsubscription (Transact-SQL)sp_addpullsubscription_agent (Transact-SQL) を実行します。 詳細については、「 プル サブスクリプションの作成」をご覧ください。

  7. (省略可) ディストリビューション エージェントを起動します。 詳細については、「 Synchronize a Pull Subscription 」または「 Synchronize a Push Subscription」を参照してください。

参照

バックアップと復元によるデータベースのコピー
SQL Server データベースのバックアップと復元