Initialiser un abonnement transactionnel à partir d’une sauvegarde
S’applique à :SQL Server
Bien qu'un abonnement à une publication transactionnelle soit en général initialisé à l'aide d'un instantané, il est possible d'initialiser un abonnement à partir d'une sauvegarde en utilisant les procédures stockées de réplication. Pour plus d’informations, consultez Initialiser un abonnement transactionnel sans instantané.
Pour initialiser un Abonné transactionnel à partir d'une sauvegarde
Pour une publication existante, assurez-vous que la publication prend en charge l’initialisation à partir de la sauvegarde en exécutant sp_helppublication (Transact-SQL) sur le serveur de publication sur la base de données de publication. Notez la valeur de allow_initialize_from_backup dans le jeu de résultats.
Si la valeur est 1, la publication prend en charge cette fonctionnalité.
Si la valeur est 0, exécutez sp_changepublication (Transact-SQL) sur le serveur de publication sur la base de données de publication. Spécifiez la valeur allow_initialize_from_backup pour
@property
et la valeur true pour@value
.
Pour une nouvelle publication, exécutez sp_addpublication (Transact-SQL) sur le serveur de publication sur la base de données de publication. Spécifiez la valeur true pour allow_initialize_from_backup. Pour plus d’informations, voir Create a Publication.
Avertissement
Afin d’éviter les données d’abonnés manquantes, quand vous utilisez sp_addpublication ou sp_changepublication avec
@allow_initialize_from_backup = N'true'
, utilisez toujours@immediate_sync = N'true'
.Créez une sauvegarde de la base de données de publication à l’aide de l’instruction BACKUP (Transact-SQL).
Restaurez la sauvegarde sur l’Abonné à l’aide de l’instruction RESTORE (Transact-SQL).
Sur le serveur de publication sur la base de données de publication, exécutez la procédure stockée sp_addsubscription (Transact-SQL). Spécifiez les paramètres suivants :
@sync_type
: valeur de initialize with backup.@backupdevicetype
: type d’unité de sauvegarde : logical (valeur par défaut), diskou tape.@backupdevicename
: unité de sauvegarde logique ou physique à utiliser pour la restauration.Pour une unité logique, spécifiez le nom de l'unité de sauvegarde qui a été spécifié quand sp_addumpdevice a été utilisé pour créer l'unité.
Pour une unité physique, spécifiez un chemin d'accès complet et un nom de fichier, tels que
DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\BACKUP\Mybackup.dat'
ouTAPE = '\\.\TAPE0'
;(Facultatif)
@password
: mot de passe qui a été fourni lorsque le jeu de sauvegarde a été créé.(Facultatif)
@mediapassword
: mot de passe qui a été fourni lorsque le support de sauvegarde a été formaté.(Facultatif)
@fileidhint
: identificateur du jeu de sauvegarde à restaurer. Par exemple, la valeur 1 indique le premier jeu de sauvegarde sur le support de sauvegarde et la valeur 2 le second jeu de sauvegarde ;(Facultatif pour les périphériques à bandes)
@unload
: spécifiez la valeur 1 (valeur par défaut) si la bande doit être déchargée du lecteur une fois la restauration terminée, ou la valeur 0 si elle ne doit pas être déchargée.
(Facultatif) Pour un abonnement par extraction, exécutez sp_addpullsubscription (Transact-SQL) et sp_addpullsubscription_agent (Transact-SQL) sur l’Abonné sur la base de données d’abonnement. Pour plus d’informations, consultez Créer un abonnement par extraction de données (pull).
(Facultatif) Démarrez l'Agent de distribution. Pour plus d'informations, consultez Synchronize a Pull Subscription ou Synchronize a Push Subscription.
Voir aussi
Copier des bases de données avec la sauvegarde et la restauration
Sauvegarder et restaurer des bases de données SQL Server
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de l’année 2024, nous abandonnerons progressivement le mécanisme de retour d’information GitHub Issues pour le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez :Soumettre et afficher des commentaires pour