Modifications des comportements dans la réplication SQL Server 2005

Mis à jour : 14 avril 2006

Cette rubrique décrit les modifications apportées au comportement des fonctionnalités de réplication qui existaient dans Microsoft SQL Server 2000. Pour plus d'informations sur les améliorations apportées aux fonctionnalités de réplication, consultez Amélioration de la réplication.

ms143733.note(fr-fr,SQL.90).gifRemarque :
Cette rubrique est disponible dans la documentation d'aide du programme d'installation et dans la documentation en ligne de SQL Server 2005. Les liens vers des rubriques qui s'affichent en gras dans la documentation d'aide du programme d'installation font référence à des rubriques qui sont exclusivement disponibles dans la documentation en ligne.

Modifications des comportements qui affectent tous les types de réplication

Les modifications suivantes affectent tous les types de réplication.

Fonctionnalité Description

Modèle de sécurité de l'agent de réplication

Dans les versions précédentes de SQL Server, les agents s'exécutaient par défaut sous le compte du service SQL Server Agent. Microsoft SQL Server 2005 permet de contrôler soigneusement chaque compte sous lequel les agents de réplication s'exécutent et établissent des connexions intégrées à Microsoft Windows avec les bases de données et d'autres ressources ; un compte différent peut être spécifié pour chaque agent. Pour plus d'informations, consultez Considérations de sécurité pour la réplication et Modèle de sécurité de l'Agent de réplication. Pour plus d'informations sur les effets de cette modification sur les mises à niveau, consultez la section « Nouveau modèle de sécurité de l'Agent de réplication » de Mise à niveau des bases de données répliquées et Dernières modifications dans la réplication SQL Server 2005.

Gestionnaire de synchronisation Windows

Dans les versions précédentes de SQL Server, la possibilité de synchroniser les abonnements avec le Gestionnaire de synchronisation était activée par défaut. Dans SQL Server 2005, vous devez explicitement activer cette option si vous souhaitez utiliser le Gestionnaire de synchronisation. Pour plus d'informations, consultez Procédure : synchroniser un abonnement à l'aide du Gestionnaire de synchronisation Windows (Windows Synchronization Manager).

Outil de résolution des conflits de réplication

Dans SQL Server 2000, l'outil de résolution des conflits de réplication était constitué en package en vue de sa redistribution. Dans SQL Server 2005, il n'est pas constitué en package séparément. Pour inclure l'outil de résolution des conflits de réplication dans une application, vous devez installer Microsoft .NET Framework 2.0 sur l'ordinateur sur lequel l'application est déployée et copier un nombre de fichiers sur l'ordinateur. Pour plus d'informations, consultez « Autres problèmes de mise à niveau de réplication » dans l'aide du Conseiller de mise à niveau. Pour plus d'informations sur le Conseiller de mise à niveau, consultez Utilisation du Conseiller de mise à niveau pour la préparation des mises à niveau.

Modifications de l'option de schéma

Les options de schéma vous permettent de spécifier la manière dont les attributs et les objets associés aux tables, tels que les index et les contraintes, sont répliqués. Le comportement d'un nombre d'options de schéma a changé dans SQL Server 2005. La section suivante de cette rubrique fournit plus d'informations.

Modifications du comportement des options de schéma

Le tableau suivant résume les modifications des options de schéma dans SQL Server 2005.

ms143733.note(fr-fr,SQL.90).gifRemarque :
Si l'option de schéma 0x8000 a été définie dans SQL Server 2000, elle a été désactivée au cours de la mise à niveau vers SQL Server 2005. Pour les options de schéma 0x10 ou 0x40, la réplication peut créer un plus grand nombre d'index dans SQL Server 2005 que dans SQL Server 2000.
Option Comportement si l'option est définie dans SQL Server 2000 Comportement si l'option est définie dans SQL Server 2005

0x80

Crée une contrainte ou un index. Si l'option 0x8000 est aussi activée, la clé primaire est créée comme contrainte comportant un index. Si l'option 0x8000 n'est pas activée, seul l'index sur la colonne de la clé primaire est créé.

Crée une contrainte de clé primaire au niveau de l'Abonné. Tous les index liés à la contrainte sont également répliqués même si les options 0x10 et 0x40 ne sont pas activées (ces options contrôlent la création d'index pour d'autres cas).

0x4000

Crée une contrainte ou un index. Si l'option 0x8000 est aussi activée, la contrainte unique est créée comme contrainte comportant un index. Si l'option 0x8000 n'est pas activée, seul l'index sur la colonne est créé.

Crée des contraintes uniques au niveau de l'Abonné. Tous les index liés à la contrainte sont également répliqués même si les options 0x10 et 0x40 ne sont pas activées (ces options contrôlent la création d'index pour d'autres cas).

0x8000

Crée des contraintes de clé primaire et des contraintes uniques si les options 0x80 ou 0x4000 sont aussi spécifiées. Si aucune de ces options n'est spécifiée, l'option 0x8000 n'a aucun effet.

L'option n'a pas d'effet.

Modifications de comportement pour la réplication transactionnelle

Les modifications suivantes affectent la réplication transactionnelle.

Fonctionnalité Description

Appartenance de l'objet de l'Abonné

Lorsqu'il utilise l'Assistant Nouvelle publication SQL Server 2005 pour créer une publication, le propriétaire d'objets créés chez l'Abonné a par défaut la valeur du propriétaire de l'objet correspondant sur le serveur de publication. Dans les versions précédentes, le propriétaire n'était pas spécifié durant la création de l'objet chez l'Abonné ; il était par défaut le propriétaire associé au compte de l'Agent de distribution utilisé pour la connexion à l'Abonné. Le comportement n'est pas modifié pour la procédure stockée sp_addarticle (Transact-SQL).

Mode de sécurité des abonnements pouvant être mis à jour

Le paramètre @security_mode de sp_link_publication détermine comment les déclencheurs des abonnements de mise à jour immédiate exécutent des appels sur le serveur de publication. Dans SQL Server 2005, les options de ce paramètre sont les suivantes :

  • 0 : utilise l'authentification SQL Server avec la connexion spécifiée dans la procédure stockée comme connexion et mot de passe.
  • 1 : utilise le contexte de sécurité (authentification SQL Server ou authentification intégrée de Windows) de l'utilisateur qui effectue la modification chez l'Abonné.
  • 2 : utilise la connexion de serveur lié existante, définie par l'utilisateur.

Dans les versions précédentes de SQL Server, l'option 0 était utilisée pour spécifier un appel de procédure distante dynamique (RPC, remote procedure call) de l'Abonné vers le serveur de publication plutôt qu'un serveur lié.

Modifications de comportement pour la réplication de fusion

Les modifications suivantes affectent la réplication de fusion.

Fonctionnalité

Description

Niveau de compatibilité de la publication

Dans les versions précédentes de SQL Server, le niveau de compatibilité était automatiquement augmenté lorsque vous activiez une fonctionnalité à un niveau supérieur. Dans SQL Server 2005, vous devez manuellement affecter la valeur 90RTM au niveau de compatibilité avant d'activer la fonctionnalité qui requiert ce niveau de compatibilité. Pour plus d'informations, consultez la section « Niveau de compatibilité pour les publications de fusion » de Utilisation de plusieurs versions de SQL Server dans une topologie de réplication.

Mesures compensatoires

Dans les versions précédentes de SQL Server, des mesures compensatoires étaient prises si des erreurs (telles que des violations de contrainte) survenaient au cours de la synchronisation. Dans certains cas, ce comportement est souhaitable, mais dans d'autres cas, il peut poser problème ; par exemple, une configuration incorrecte de l'Abonné générant une erreur peut entraîner l'annulation des modifications sur le serveur de publication et tous les autres Abonnés.

Dans SQL Server 2005, le paramètre @compensate_for_errors de sp_addmergearticle vérifie si des mesures compensatoires sont prises. Lorsqu'il a la valeur False (valeur par défaut), les mesures compensatoires sont désactivées ; toutefois, les erreurs demeurent consignées et les fusions ultérieures continueront de tenter d'appliquer les modifications. Bien que les données des lignes affectées semblent non convergentes, dès que vous réparez l'erreur, la modification peut être appliquée et les données convergent. Lorsque ce paramètre a la valeur True, toute modification ne pouvant pas être appliquée à un nœud durant la synchronisation se traduit par des mesures compensatoires qui annulent la modification sur tous les autres nœuds.

ms143733.note(fr-fr,SQL.90).gifRemarque :

Si la table source d'un article est déjà publiée dans une autre publication, la valeur de @compensate_for_errors doit être la même pour les deux articles. Pour les abonnements par extraction de données chez les Abonnés exécutant SQL Server 2000 version 8.00.858 et antérieures (qui incluent le Service Pack 3), les mesures compensatoires sont prises, même si @compensate_for_errors a la valeur False.

Tables de conflits

Dans les versions précédentes de SQL Server, la réplication de fusion créait une table de conflit unique pour chaque article de table inclus dans une publication, avec un nom au format conflict_<ArticleName>. Dans SQL Server 2005, les informations sont contenues dans deux tables : MSmerge_conflicts_info et une table portant un nom au format MSmerge_conflict_<PublicationName>_<ArticleName>.

Nettoyage des métadonnées par rétention

SQL Server 2005 utilise le nettoyage des métadonnées par rétention, qui a été introduit dans SQL Server 2000 Service Pack 1. Les métadonnées sont régulièrement supprimées des tables système suivantes :

  • MSmerge_contents
  • MSmerge_tombstone
  • MSmerge_genhistory
  • Toutes les tables avant image, s'il en existe. Les tables avant image existent si l'option d'optimisation de la synchronisation @keep_partition_changes est activée dans la publication (pour plus d'informations sur cette option, consultez la section suivante).

Paramètre @keep_partition_changes

Dans la version précédente de SQL Server, la valeur False était attribuée par défaut au paramètre**@keep_partition_changes**, car ceci permet de stocker davantage de données sur le serveur de publication. Le paramètre a maintenant la valeur True si le niveau de compatibilité de la publication est 90RTM ou supérieur et le paramètre @use_partition_groups a la valeur False. Pour plus d'informations sur ces options, consultez Filtres de lignes paramétrés.

Voir aussi

Concepts

Compatibilité descendante de la réplication

Autres ressources

Amélioration de la réplication

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

14 avril 2006

Nouveau contenu :
  • Ajout d'informations sur les modifications de comportement des options de schéma.