Inicializar uma subscrição transacional a partir de um backup

Aplica-se a: SQL Server

Embora uma subscrição de uma publicação transacional seja tipicamente inicializada com um instantâneo, uma subscrição pode ser inicializada a partir de uma cópia de segurança através de procedimentos armazenados de replicação. Para obter mais informações, consulte Inicializar uma subscrição transacional sem instantâneo.

Para inicializar um assinante transacional a partir de um backup

  1. Para uma publicação existente, certifique-se de que esta suporta a capacidade de inicializar a partir de backup, executando sp_helppublication (Transact-SQL) no Publisher na base de dados da publicação. Observe o valor de allow_initialize_from_backup no conjunto de resultados.

    • Se o valor for 1, a publicação suporta esta funcionalidade.

    • Se o valor for 0, execute sp_changepublication (Transact-SQL) no Publisher na base de dados de publicações. Especifique um valor de allow_initialize_from_backup para @property e um valor verdadeiro para @value.

  2. Para uma nova publicação, execute sp_addpublication (Transact-SQL) no Publisher na base de dados da publicação. Especifique o valor true para allow_initialize_from_backup. Para mais informações, consulte Criar uma Publicação.

    Warning

    Para evitar a omissão de dados de subscritores, ao utilizar sp_addpublication ou sp_changepublication com @allow_initialize_from_backup = N'true', utilize sempre @immediate_sync = N'true'.

  3. Crie uma cópia de segurança da base de dados de publicações usando a BACKUP instrução (Transact-SQL).

  4. Restaure a cópia de segurança do Assinante utilizando a instrução RESTORE (Transact-SQL)

  5. No Publicador, na base de dados de publicação, execute o procedimento armazenado sp_addsubscription (Transact-SQL). Especifique os parâmetros seguintes:

    • @sync_type - um valor de inicializar com cópia de segurança.

    • @backupdevicetype - o tipo de dispositivo de backup: lógico (por defeito), disco ou fita.

    • @backupdevicename - o dispositivo lógico ou físico de backup a usar para a restauração.

      Para um dispositivo lógico, especifique o nome do dispositivo de backup especificado quando sp_addumpdevice foi usado para criar o dispositivo.

      Para um dispositivo físico, especifique um caminho completo e um nome de ficheiro, como DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\BACKUP\Mybackup.dat' ou TAPE = '\\.\TAPE0'.

    • (Opcional) @password - uma palavra-passe fornecida quando o conjunto de backup foi criado.

    • (Opcional) @mediapassword - uma palavra-passe fornecida quando o conjunto de media era formatado.

    • (Opcional) @fileidhint - identificador para o conjunto de backup a restaurar. Por exemplo, especificar 1 indica o primeiro conjunto de backup no meio de backup e 2 indica o segundo conjunto de backup.

    • (Opcional para dispositivos de fita) @unload - especificar um valor de 1 (por defeito) se a fita deve ser descarregada da unidade após a restauração estar concluída e 0 se não deve ser descarregada.

  6. (Opcional) Para uma subscrição de solicitação, execute sp_addpullsubscription (Transact-SQL) e sp_addpullsubscription_agent (Transact-SQL) no Assinante, na base de dados de subscrição. Para mais informações, consulte Criar uma Subscrição Pull.

  7. (Opcional) Inicie o Agente de Distribuição. Para obter mais informações, consulte Sincronizar uma assinatura pull ou Sincronizar uma assinatura push.