Activer les sauvegardes coordonnées pour la réplication transactionnelle

S'applique à : SQL Server

Lorsque vous activez une base de données pour la réplication transactionnelle, vous pouvez spécifier que toutes les transactions doivent être sauvegardées avant d'être remises à la base de données de distribution. Vous pouvez activer la sauvegarde coordonnée également sur la base de données de distribution afin que le journal des transactions de la base de données de publication ne soit pas tronqué tant que les transactions qui ont été propagées sur le serveur de distribution n'ont pas été sauvegardées. Pour plus d’informations, voir Stratégies de sauvegarde et de restauration de la réplication transactionnelle et d'instantané.

Remarque

L’utilisation de l’option de synchronisation avec sauvegarde sur la base de données de distribution n’est pas compatible lorsque la base de données du serveur de publication fait partie d’un groupe de disponibilité et peut entraîner l’erreur suivante :The process could not execute 'sp_repldone/sp_replcounters' on 'machinename\instance', Possible inconsistent state in the distribution database, Get help: http://help/MSSQL_REPL20011 (Source: MSSQLServer, Error number: 18846)

Pour activer les sauvegardes coordonnées d'une base de données publiée avec la réplication transactionnelle

  1. Sur le serveur de publication, utilisez la fonction SELECT DATABASEPROPERTYEX(DB_NAME(),'IsSyncWithBackup') DATABASEPROPERTYEX (Transact-SQL) pour retourner la propriété IsSyncWithBackup de la base de données de publication. Si la fonction retourne 1, les sauvegardes coordonnées sont déjà activées pour la base de données publiée.

  2. Si la fonction de l’étape 1 retourne 0, exécutez sp_replicationdboption (Transact-SQL) sur le serveur de publication de la base de données de publication. Spécifiez la valeur sync with backup pour @optnameet true pour @value.

    Remarque

    Si vous modifiez l'option sync with backup en false, le point de troncation de la base de données de publication sera mis à jour après que l'Agent de lecture du journal se soit exécuté ou après un intervalle si l'Agent de lecture du journal s'exécute continuellement. L'intervalle maximal est contrôlé par le paramètre d'agent -MessageInterval (lequel a une valeur par défaut de 30 secondes).

Pour activer des sauvegardes coordonnées pour une base de données de distribution

  1. Sur le serveur de distribution, utilisez la fonction DATABASEPROPERTYEX (Transact-SQL) pour retourner la propriété IsSyncWithBackup de la base de données de distribution. Si la fonction retourne 1, les sauvegardes coordonnées sont déjà activées pour la base de données de distribution.

  2. Si la fonction de l’étape 1 retourne 0, exécutez sp_replicationdboption (Transact-SQL) sur le serveur de distribution de la base de données de distribution. Spécifiez la valeur sync with backup pour @optname et true pour @value.

Pour désactiver les sauvegardes coordonnées

  1. Sur le serveur de publication de la base de données de publication ou sur le serveur de distribution de la base de données de distribution, exécutez sp_replicationdboption (Transact-SQL). Spécifiez la valeur sync with backup pour @optname et false pour @value.

Exemples

R. Récupérer la propriété IsSyncWithBackup de la base de données active

Cet exemple retourne la propriété IsSyncWithBackup de la base de données active :

SELECT DATABASEPROPERTYEX(DB_NAME(),'IsSyncWithBackup')`

B. Récupérer la propriété IsSyncWithBackup d’une base de données spécifique

Cet exemple retourne la propriété IsSyncWithBackup de la base de données NameOfDatabaseToCheck :

SELECT DATABASEPROPERTYEX('NameOfDatabaseToCheck','IsSyncWithBackup')`