Inicializar uma assinatura transacional de um backup (Programação Transact-SQL de replicação)
Embora uma assinatura a uma publicação transacional seja geralmente inicializada com um instantâneo, é possível inicializar uma assinatura de backup usando procedimentos de replicação armazenados. Para obter mais informações, consulte Initialize a Transactional Subscription Without a Snapshot.
Para inicializar um assinante transacional a partir de backup
Para uma publicação existente, verifique se a publicação dá suporte à capacidade de inicializar do backup executando sp_helppublication (Transact-SQL) no Publicador do 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 oferece suporte a essa funcionalidade.
Se o valor for 0, execute sp_changepublication (Transact-SQL) no Publicador do banco de dados de publicação. Especifique um valor de allow_initialize_from_backup para @property e um valor de
true
para @value.
Para uma nova publicação, execute sp_addpublication (Transact-SQL) no Publicador do banco de dados de publicação. Especifique um valor de
true
para allow_initialize_from_backup. Para obter mais informações, consulte Criar uma assinatura.Aviso
Para evitar perder dados do assinante, ao usar sp_addpublication com
@allow_initialize_from_backup = N'true'
, sempre use@immediate_sync = N'true'
.Crie um backup do banco de dados de publicação usando a instrução BACKUP (Transact-SQL ).
Restaure o backup no Assinante usando a instrução RESTORE (Transact-SQL ).
No Publicador do banco de dados de publicação, execute o procedimento armazenado sp_addsubscription (Transact-SQL). Especifique os seguintes parâmetros:
@ sync_type - valor para inicializar com backup.
@ backupdevicetype - o tipo de dispositivo de backup: lógico (padrão), discoou fita.
@backupdevicename - o dispositivo de backup lógico ou físico 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 nome de arquivo, como
DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\BACKUP\Mybackup.dat'
ouTAPE = '\\.\TAPE0'
.(Opcional) @password - uma senha fornecida na criação do conjunto de backup.
(Opcional) @mediapassword - uma senha fornecida na formatação do conjunto de mídias.
(Opcional) @fileidhint - identificador para o conjunto de backup a ser restaurado. Por exemplo, especificar 1 indica o primeiro conjunto de backup na mídia de backup e 2 indica o segundo conjunto de backup.
(Opcional para dispositivos de fita) @unload - especifica um valor de 1 (padrão) se a fita deve ser descarregada da unidade depois de concluir a restauração e 0 se não deve ser descarregada.
(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 Create a Pull Subscription.
(Opcional) Iniciar o Distribution Agent. Para obter mais informações, consulte Synchronize a Pull Subscription ou 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