Compartilhar via


Inicializar uma assinatura de transações a partir de um backup (programação Transact-SQL de replicação)

Embora uma assinatura de uma publicação transacional seja normalmente inicializada com um instantâneo, ela também pode ser inicializada a partir de um backup utilizando procedimentos armazenados de replicação. Para mais informações, consulte Inicializar uma assinatura transacional sem um instantâneo.

Para inicializar um assinante de transações a partir de um backup

  1. Para uma publicação existente, verifique se a publicação dá suporte à capacidade de inicializar do backup executando sp_helppublication (Transact-SQL) no Publicador no banco de dados de publicação. Observe o valor de allow_initialize_from_backup no conjunto de resultados.

    • Se o valor for 1, a publicação oferecerá suporte a essa funcionalidade.

    • Se o valor for 0, execute sp_changepublication (Transact-SQL) no Publicador no banco de dados de publicação. Especifique um valor de allow_initialize_from_backup para @property e um valor de true para @value.

  2. Para uma nova publicação, execute sp_addpublication (Transact-SQL) no Publicador no banco de dados de publicação. Especifique um valor de true para allow_initialize_from_backup. Para obter mais informações, consulte Criar uma publicação.

    Aviso

    Para evitar dados de assinante ausentes, ao usar sp_addpublication com @allow_initialize_from_backup = N'true', sempre use @immediate_sync = N'true'.

  3. Crie um backup do banco de dados de publicação usando a instrução BACKUP (Transact-SQL).

  4. Restaure o backup no Assinante usando a instrução RESTORE (Transact-SQL).

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

    • @sync_type - um valor de inicialização com backup.

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

    • @backupdevicename – o dispositivo de backup lógico ou físico a ser usado 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 arquivo, como DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\BACKUP\Mybackup.dat' ou TAPE = '\\.\TAPE0'.

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

    • (Opcional) @mediapassword - uma senha fornecida quando o conjunto de mídias foi formatado.

    • (Opcional) @fileidhint - identificador do conjunto de backup a ser restaurado. 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 - especifique um valor de 1 (padrão) se a fita deve ser descarregada da unidade após a conclusão da restauração e 0 se ela não deve ser descarregada.

  6. (Opcional) Para uma assinatura pull, execute sp_addpullsubscription (Transact-SQL) e sp_addpullsubscription_agent (Transact-SQL) no Assinante no banco de dados de assinatura. Para obter mais informações, consulte Criar uma assinatura pull.

  7. (Opcional) Inicie o Distribution Agent. Para obter mais informações, consulte Synchronize a Pull Subscription or Synchronize a Push Subscription.

Consulte Também

Copiar bancos de dados com backup e restauração
Fazer backup e restaurar bancos de dados do SQL Server