Procédure : initialiser un abonnement transactionnel à partir d'une sauvegarde (programmation Transact-SQL de la réplication)

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. For more information, see Initialisation d'un abonnement transactionnel sans capture instantanée.

Pour initialiser un Abonné transactionnel à partir d'une sauvegarde

  1. Pour une publication existante, assurez-vous que la publication prend en charge la capacité d'initialiser à partir d'une sauvegarde en exécutant sp_helppublication (Transact-SQL) sur la base de données de publication du serveur 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 la base de données de publication du serveur de publication. Spécifiez la valeur allow_initialize_from_backup pour @property et la valeur true pour @value.

  2. Pour une nouvelle publication, exécutez sp_addpublication (Transact-SQL) sur la base de données de publication du serveur de publication. Spécifiez la valeur true pour allow_initialize_from_backup. For more information, see Procédure : créer une publication (programmation Transact-SQL de la réplication).

  3. Créez une sauvegarde de la base de données de publication à l'aide de l'instruction BACKUP (Transact-SQL).

  4. Restaurez la sauvegarde sur l'Abonné à l'aide de l'instruction RESTORE (Transact-SQL).

  5. Exécutez la procédure stockée sp_addsubscription (Transact-SQL) sur la base de données de publication du serveur de publication. Spécifiez les paramètres suivants :

    • @sync_type – valeur de initialize with backup ;

    • @backupdevicetype – type d'unité de sauvegarde : logical (valeur par défaut), disk ou 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 ou DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\BACKUP\Mybackup.dat' ;

    • (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 pour le 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 et 0 si elle ne doit pas être déchargée.

  6. (Facultatif) Pour un abonnement par extraction, exécutez sp_addpullsubscription (Transact-SQL) et sp_addpullsubscription_agent (Transact-SQL) sur la base de données d'abonnement de l'Abonné. For more information, see Procédure : créer un abonnement par extraction de données (programmation Transact-SQL de réplication).

  7. (Facultatif) Démarrez l'Agent de distribution. Pour plus d'informations, consultez Procédure : synchroniser un abonnement par extraction de données (pull) (Programmation de la réplication) ou Procédure : synchroniser un abonnement par envoi de données (push) (Programmation de la réplication).