Considérations communes à tous les types de réplication
Cette section de la documentation présente les points à prendre en considération avant d'implémenter la réplication, et notamment les colonnes d'identité, les contraintes et les types de données. Cette rubrique aborde les éléments qui affectent tous les types de réplication et les rubriques ci-dessous proposent des informations complémentaires :
Considérations sur l'internationalisation pour la réplication
Contrôle des contraintes, des identités et des déclencheurs avec l'option NOT FOR REPLICATION
Utilisation de plusieurs versions de SQL Server dans une topologie de réplication
Outre ces rubriques, la rubrique associée à chaque fonctionnalité de réplication décrit divers points à prendre en compte pour l'implémentation spécifique de la fonctionnalité.
Agent SQL Server
La réplication utilise des programmes indépendants, appelés Agents, pour effectuer les tâches associées au suivi des modifications et à la distribution des données. Par défaut, les agents de réplication s'exécutent en tant que travaux sous l'Agent SQL Server. L'Agent SQL Server doit fonctionner pour que les travaux s'xécutent. Par défaut, le service SQL Server Agent est désactivé lors de l'installation de SQL Server, sauf si vous choisissez explicitement de démarrer automatiquement le service au cours de l'installation. Pour plus d'informations sur le démarrage du service de l'agent SQL Server, consultez Démarrage de l'Agent SQL Server.
Considérations sur la sécurité
Il est important de comprendre en quoi consiste la sécurisation d'un environnement de réplication afin de pouvoir protéger les données et la logique métier de votre application. Pour l'essentiel, sécuriser l'environnement de réplication revient à comprendre les différentes options d'authentification et d'autorisation, à utiliser de façon appropriée les fonctionnalités de filtrage de la réplication et à se familiariser avec les diverses mesures de sécurisation possibles des différentes parties d'un environnement de réplication (à savoir le serveur de distribution, le serveur de publication, les Abonnés et le dossier de captures instantanées). Pour plus d'informations, consultez Sécurité et protection (réplication).
Considérations relatives à l'administration
Après avoir configuré la réplication, il est important de comprendre en quoi consiste l'administration d'une topologie de réplication. Pour plus d'informations sur les méthodes conseillées en matière d'administration de la réplication, consultez Méthodes conseillées pour l'administration de la réplication. Cette rubrique propose des conseils divers sur de nombreux points avec des liens vers des informations plus détaillées sur chacun d'eux. Outre les méthodes conseillées proposées dans cette rubrique, il est intéressant de lire la rubrique répertoriant les questions les plus fréquemment posées afin de se familiariser avec les questions et les problèmes les plus courants : Forum Aux Questions pour les Administrateurs de réplication.
Considérations relatives au réseau et aux performances
Veillez à respecter les méthodes conseillées en matière de performances dans les domaines suivants :
Matériel réseau et serveur
Conception des bases de données
Configuration des serveurs de distribution
Conception et options de la publication
Conception et utilisation du filtrage
Options d'abonnement
Options de capture instantanée
Paramètres des Agents
Maintenance
Pour plus d'informations, consultez Performances ( réplication).
Si vous effectuez une réplication via une connexion lente, les profils des Agents impliqués dans la réplication peuvent être personnalisés. Les options de configuration varient selon l'Agent spécifique dont le profil est configuré. Pour plus d'informations, consultez Profils de l'Agent de réplication et Un réseau lent provoque des problèmes.
La vitesse du réseau est souvent le problème le plus important lors de l'application de la capture instantanée initiale. Si le volume des modifications de données incrémentielles peut être faible, le volume des données initialement distribuées est parfois élevé. Les solutions possibles sont notamment :
Transfert de la capture instantanée à l'aide d'un CD-ROM ou d'un périphérique à bandes. Pour plus d'informations, consultez Autres emplacements du dossier de capture instantanée et Captures instantanées compressées.
Initialisation des abonnements sans capture instantanée. Pour plus d'informations, consultez Initialisation d'un abonnement transactionnel sans capture instantanée et Initialisation d'une réplication de fusion sans instantané.
Spécification des noms des serveurs dans les topologies de réplication
Lorsque vous spécifiez les noms des instances de serveur prenant part à la réplication, vous devez fournir le nom en respectant le format du nom de l'instance du serveur SQL Server inscrit. Ainsi, vous devez utiliser le nom de l'instance SQL Server lorsque vous spécifiez les paramètres du serveur de publication ou de distribution dans les procédures stockées ou les paramètres de connexions de l'Agent de réplication dans la ligne de commande. Si le nom réseau de l'instance SQL Server est différent de celui de l'instance inscrite, les connexions de réplication établies par les Agents échouent. Si le nom réseau de l'instance et le nom de l'instance SQL Server diffèrent, envisagez d'ajouter le nom de l'instance SQL Server comme nom réseau valide. Pour définir un autre nom réseau, une méthode possible consiste à l'ajouter au fichier hosts local. Le fichier hosts local est installé par défaut dans le répertoire WINDOWS\system32\drivers\etc ou WINNT\system32\drivers\etc. Pour plus d'informations, reportez-vous à la documentation Windows.
Si, par exemple, le nom d'ordinateur est comp1, l'adresse IP de l'ordinateur 10.193.17.129 et le nom de l'instance inst1/nominst, ajoutez l'entrée suivante au fichier des hôtes :
10.193.17.129 inst1
Intégrité des données
Pour les topologies qui autorisent les mises à jour sur les Abonnés, vous devez vous assurer que l'intégrité de l'application est préservée sur chaque Abonné. Tous les contrôles utilisés pour valider les modifications de données sur le serveur de publication, par exemple les contraintes, doivent également être présents sur l'Abonné ou gérés dans l'application. Pour plus d'informations sur les Agents de réplication et les contraintes sur l'Abonné, consultez Contrôle des contraintes, des identités et des déclencheurs avec l'option NOT FOR REPLICATION.
Conflits de données
Pour les topologies qui autorisent les mises à jour sur l'Abonné, concevez votre application afin de minimiser les conflits. Si les Abonnés doivent lire les données sans devoir les mettre à jour, il est possible d'éviter des conflits. Le partitionnement de données de manière logique en fonction des lieux géographiques ou des utilisations professionnelles, peut également empêcher les utilisateurs de mettre à jour les mêmes valeurs de données, ce qui évite les conflits. Pour plus d'informations sur le partitionnement des données, consultez Filtrage des données publiées.
Types de données LOB (Large Object, Objet volumineux)
Les types de données text, ntext et image sont désapprouvés. Il est conseillé d'utiliser respectivement les types de données varchar(max), nvarchar(max) et varbinary(max). Si vous utilisez les types de données text, ntext et image, reportez-vous à la section Types de données LOB (Large Object, Objet volumineux) dans les rubriques suivantes pour plus d'informations : Considérations pour la réplication transactionnelle et Considérations sur la réplication de fusion.
Les captures instantanées en mode caractères sont utilisées par les serveurs de publication non SQL Server, les Abonnés non SQL Server et les Abonnés Microsoft SQL Server Compact 3.5 SP2. Si vous utilisez une capture instantanée en mode caractères, les types LOB sont convertis au format Unicode. Les données LOB du fichier de capture instantanée sont alors quatre fois plus volumineuses que les mêmes données dans la base de données de publication. Lorsque les données sont copiées dans la base de données d'abonnement, elles sont reconverties et possèdent de nouveau la même taille que les données de la base de données de publication.
Mappage des types de données
Si une topologie de réplication comprend des versions antérieures de SQL Server, SQL Server Compact 3.5 SP2, des serveurs de publication non SQL Server ou des Abonnés non SQL Server, les types de données sont mappés entre les bases de données. Pour consulter une liste des mappages des types de données, consultez :
Colonnes d'identité
Pour utiliser des colonnes d'identité dans une topologie de réplication qui possède des mises à jour sur plusieurs nœuds, chaque nœud de la topologie doit utiliser une plage différente de valeurs d'identité afin d'éviter la présence de doublons. La réplication gère les colonnes d'identité sur tous les types de publication et d'abonnement et vous offre ainsi la possibilité de gérer les colonnes manuellement ou de les laisser gérer par la réplication. Pour plus d'informations, consultez Réplication de colonnes d'identité.
Colonnes calculées
La réplication ne copie que la définition des colonnes calculées vers l'Abonné. La valeur de chaque ligne sur l'Abonné varie en fonction des données de l'Abonné et selon que le calcul de la colonne utilise ou non des fonctions non déterministes. Si les données présentes sur le serveur de publication et l'Abonné sont identiques à un moment donné et que le calcul utilise uniquement des fonctions déterministes, les valeurs calculées pour une ligne sont identiques. Si les données sont différentes ou si le calcul utilise une ou plusieurs fonctions non déterministes, les valeurs sur le serveur de publication et l'Abonné peuvent être différentes. Pour plus d'informations sur le déterminisme des fonctions, consultez Fonctions déterministes et non déterministes.