バックアップからのトランザクション サブスクリプションの初期化

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

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

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

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

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

    • 値が 0 の場合は、パブリケーション sp_changepublicationのSQL (Transact-Publisher) を実行します。 allow_initialize_from_backup を、true を指定します。

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

    警告

    サブスクライバー データの欠落を回避するために、 と共に sp_addpublication または sp_changepublication を使用するときは、常に を使用します。

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

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

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

    • @sync_type - @sync_type」をご覧ください。

    • @backupdevicetype - バックアップ デバイスの種類として、 @backupdevicetype (既定値)、 disktape」をご覧ください。

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

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

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

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

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

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

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

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

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

参照

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