Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Par défaut, un abonnement à une publication transactionnelle est initialisé avec un instantané de données, généré par l’Agent d’instantané et appliqué par l’Agent de distribution. Dans certains scénarios, tels que ceux impliquant des jeux de données initiaux volumineux, il est préférable d’initialiser un abonnement à l’aide d’une autre méthode. Voici d’autres méthodes d’initialisation d’un Abonné :
Spécification d’une sauvegarde. Restaurez la sauvegarde sur l’Abonné, puis l’Agent de distribution copie les métadonnées de réplication et les procédures système requises. L’initialisation avec une sauvegarde est le moyen le plus rapide de remettre des données à l’Abonné et est pratique, car toute sauvegarde récente peut être utilisée si elle a été effectuée après l’activation de la publication pour l’initialisation avec une sauvegarde.
Copie d’un jeu de données initial sur l’Abonné via un autre mécanisme, tel que l’attachement d’une base de données. Vous devez vous assurer que les données et le schéma corrects se trouvent sur l’Abonné, puis que l’Agent de distribution copie toutes les métadonnées et procédures système requises.
Initialisation d’un abonnement avec une sauvegarde
Une sauvegarde contient une base de données entière ; par conséquent, chaque base de données d’abonnement contient une copie complète de la base de données de publication lorsqu’elle est initialisée :
La sauvegarde inclut des tables non spécifiées en tant qu’articles pour la publication.
La sauvegarde inclut toutes les données, même si les filtres de ligne ou de colonne sont spécifiés sur une table.
Il incombe à l’administrateur ou à l’application de supprimer tous les objets ou données indésirables après la restauration de la sauvegarde. Dans les synchronisations suivantes, les modifications de données sont répliquées uniquement si elles s’appliquent aux tables spécifiées en tant qu’articles, et les modifications répondent aux critères de filtrage que vous avez spécifiés.
Remarque
Lors de la restauration d’une sauvegarde, vous devez vous assurer que la sauvegarde provient du serveur de publication si vous souhaitez que l’Abonné se synchronise automatiquement. Les valeurs du numéro de séquence de journal (LSN) dans la sauvegarde (qui sont utilisées pour définir le point auquel commencer la synchronisation) sont spécifiques à l'éditeur.
Pour initialiser un abonnement avec une sauvegarde
Pour initialiser un abonnement avec une sauvegarde, vous devez d’abord activer l’option lorsque vous créez une publication, puis spécifier des valeurs pour un certain nombre d’options lorsque vous créez un abonnement. Les publications peuvent être activées via l’Assistant Nouvelle publication ou par programme. Toutefois, les valeurs requises pour les options d’abonnement peuvent uniquement être spécifiées par programme.
SQL Server Management Studio : Activer l’initialisation avec une sauvegarde pour les publications transactionnelles (SQL Server Management Studio)
Programmation de réplication Transact-SQL : initialiser un abonnement transactionnel à partir d'une sauvegarde (Programmation de réplication Transact-SQL)
Remarque
Si un abonnement est initialisé sans utiliser d’instantané, le compte sous lequel le service SQL Server s’exécute sur le serveur de publication doit disposer d’autorisations d’écriture sur le dossier d’instantanés sur le serveur de distribution. Pour plus d’informations sur les autorisations, consultez Le modèle de sécurité de l’agent de réplication.
Garantir l’adéquation d’une sauvegarde
Une sauvegarde convient à l’initialisation d’un Abonné si toutes les transactions qui se produisent une fois la sauvegarde effectuée sont stockées sur le serveur de distribution. La réplication affiche un message d’erreur si la sauvegarde n’est pas appropriée.
Pour vous assurer qu’une sauvegarde convient à une utilisation, suivez les instructions suivantes :
Utilisez la dernière sauvegarde disponible et, si la dernière sauvegarde est antérieure à la période de rétention de distribution maximale, créez une nouvelle sauvegarde avant de tenter d’initialiser un abonnement avec une sauvegarde. Pour plus d’informations sur la période de rétention, consultez Expiration et désactivation de l’abonnement.
Par défaut, le travail de nettoyage de distribution efface les transactions antérieures à 72 heures à partir de la base de données de distribution. Le nettoyage est basé sur la durée de conservation définie pour la publication. Lors de la synchronisation avec des sauvegardes plus anciennes, envisagez de désactiver temporairement la tâche avant la sauvegarde que vous souhaitez restaurer et de la réactiver une fois l'abonnement créé avec succès. Cela empêche la suppression des transactions de la base de données de distribution qui peuvent être nécessaires pour se synchroniser correctement à partir de la sauvegarde. Pour plus d’informations sur l’exécution des travaux de nettoyage, consultez Exécuter des travaux de maintenance de réplication (SQL Server Management Studio).
Dans certains cas, vous devez effectuer manuellement des personnalisations dans la base de données abonnée restaurée après avoir configuré des abonnements initialisés avec une sauvegarde. En règle générale, les modifications manuelles apportées à la base de données de l’Abonné restaurée sont requises si la publication est définie de telle sorte que le contenu de la base de données de l’Abonné soit différent du contenu de la base de données Publisher.
Les vues indexées de la base de données restaurée doivent être converties en tables si elles sont publiées en tant qu'articles de vue indexée à table basés sur le journal.
Les colonnes timestamp abonnées de la base de données restaurée doivent être converties en colonnes binaires(8) : copiez le contenu des tables contenant des colonnes d’horodatage dans de nouvelles tables avec des schémas correspondants, à l’exception de colonnes binary(8) à la place des colonnes timestamp, supprimez les tables d’origine et renommez les nouvelles tables avec les mêmes noms que les tables d’origine.
Initialisation d’un abonnement avec une autre méthode
Il est possible d’initialiser un abonnement à l’aide de n’importe quelle méthode qui vous permet de copier le schéma et les données de la base de données de publication sur l’Abonné, comme Integration Services. Lorsque vous utilisez une autre méthode pour initialiser l’Abonné, les objets de prise en charge de la réplication sont copiés sur l’Abonné.
Contrairement à l’initialisation avec une sauvegarde, vous ou votre application devez vous assurer que les données et le schéma sont correctement synchronisés au moment où vous ajoutez l’abonnement. Si, par exemple, il existe une activité sur le serveur de publication entre les données d’heure et le schéma copiés sur l’Abonné et l’heure à laquelle l’abonnement est ajouté, les modifications résultant de cette activité peuvent ne pas être répliquées sur l’Abonné.
Pour initialiser un abonnement avec une autre méthode, consultez Initialiser un abonnement manuellement.