Partager via


Abonnés non SQL Server

S'applique à : SQL Server

Les abonnés non-SQL Server suivants peuvent s'abonner aux publications d'instantanés et aux publications transactionnelles à l'aide d'abonnements par émission de données. Les abonnements sont pris en charge pour les deux versions les plus récentes de chaque base de données listée, à l'aide de la version la plus récente du fournisseur OLE DB listé.

La réplication hétérogène sur les abonnés non SQL Server est déconseillée. La publication Oracle est déconseillée. Pour déplacer des données, créez des solutions à l'aide de la capture des changements de données et de SSIS.

Attention

Cette fonctionnalité sera supprimée dans une version future de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité.

Base de données Système d’exploitation Fournisseur
Oracle Toute plateforme prenant en charge Oracle Fournisseur OLE DB Oracle (fourni par Oracle)
IBM Db2 MVS, AS400, Unix, Linux, Windows sauf 9.x Fournisseur OLE DB du serveur HIS Microsoft (Host Integration Server)

Informations sur la version Oracle :
SQL Server prend en charge les scénarios divers suivants pour la réplication transactionnelle et d'instantané :

  • Publication de données à partir de SQL Server vers des Abonnés non-SQL Server.

  • La publication de données sur et depuis Oracle présente les restrictions suivantes :

Réplication Version 2016 ou antérieure Version 2017 ou ultérieure
Réplication depuis Oracle Prise en charge d’Oracle 10g ou version antérieure uniquement Prise en charge d’Oracle 10g ou version antérieure uniquement
Réplication vers Oracle Jusqu’à Oracle 12c Non pris en charge

La réplication hétérogène sur les abonnés non SQL Server est déconseillée. La publication Oracle est déconseillée. Pour déplacer des données, créez des solutions à l'aide de la capture des changements de données et de SSIS.

Pour plus d'informations sur la création d'abonnements à Oracle et IBM Db2, consultez Abonnés Oracle et Abonnés IBM Db2.

Règles des abonnés non-SQL Server

Retenez les règles suivantes lors de la réplication sur des abonnés non-SQL Server :

Considérations d’ordre général

  • La réplication prend en charge la publication des tables et des vues indexées vers des Abonnés non-SQL Server(les vues indexées ne peuvent pas être répliquées en tant que telles).

  • Au moment de créer une publication dans l'Assistant Nouvelle publication et de l'activer pour les abonnés non-SQL Server à partir de la boîte de dialogue Propriétés de la publication, le propriétaire de tous les objets de la base de données d'abonnement n'est pas spécifié pour les abonnés non-SQL Server, alors qu'il est défini en tant que propriétaire de l'objet correspondant dans la base de données de publication pour les Abonnés Microsoft SQL Server.

  • Si une publication a des Abonnés SQL Server et non-SQL Server, elle doit être activée pour les abonnés non-SQL Server avant qu'un abonnement aux Abonnés SQL Server ne soit créé.

  • Par défaut, les scripts générés par l'Agent d'instantané pour les abonnés non-SQL Server utilisent des identificateurs sans guillemets dans la syntaxe CREATE TABLE. Ainsi, une table publiée nommée « test » est répliquée comme « TEST ». Pour utiliser la même casse que la table dans la base de données de publication, utilisez le paramètre -QuotedIdentifier pour l’Agent de distribution. Le paramètre -QuotedIdentifier doit également être utilisé si les noms d'objets publiés (tables, colonnes et contraintes) comportent des espaces ou des mots réservés dans la version de la base de données au niveau de l'Abonné non-SQL Server. Pour plus d'informations sur ce paramètre, consultez Agent de distribution de réplication.

  • Le compte sous lequel s'exécute l'Agent de distribution doit disposer de droits d'accès au répertoire d'installation du fournisseur OLE DB.

  • Pour les abonnés non-SQL Server, l'Agent de distribution utilise par défaut une valeur de [(destination par défaut)] pour la base de données d'abonnement (le paramètre -SubscriberDB pour l'Agent de distribution) :

    • Sur Oracle, un serveur a au plus une base de données, il n'est donc pas nécessaire de la spécifier.

    • Pour IBM Db2, la base de données est spécifiée dans la chaîne de connexion DB2. Pour plus d’informations, voir Créer un abonnement pour un Abonné non-SQL Server.

  • Si le serveur de distribution SQL Server est exécuté sur une plateforme 64 bits, vous devez utiliser la version 64 bits du fournisseur OLE DB approprié.

  • La réplication déplace les données en format Unicode quelles que soient les pages de classement/de codes utilisées sur le serveur de publication et sur l'Abonné. Il est recommandé de choisir une page de classement/de codes compatible lors de la réplication entre serveurs de publication et abonnés.

  • Si un article est ajouté ou supprimé d'une publication, les abonnements aux Abonnés non-SQL Server doivent être réinitialisés.

  • Les seules contraintes prises en charge pour tous les Abonnés non-SQL Server sont : NULL et NOT NULL. Les contraintes de clés primaires sont répliquées en tant qu'index uniques.

  • La valeur NULL est traitée différemment par différentes bases de données, ce qui affecte la façon dont une valeur vide, une chaîne vide ou une valeur NULL est représentée. Cela affecte à son tour le comportement des valeurs insérées dans des colonnes où des contraintes uniques sont définies. Par exemple, Oracle autorise plusieurs valeurs NULL dans une colonne considérée comme unique, alors que SQL Server n'autorise qu'une seule valeur NULL dans une colonne unique.

    Un autre facteur est la façon dont les valeurs NULL, les chaînes vides ou les valeurs vides sont traitées lorsque la colonne est définie comme NOT NULL. Pour plus d'informations sur la résolution de ce problème pour les abonnés Oracle, consultez Abonnés Oracle.

  • Les métadonnées liées à la réplication (table de la séquence de la transaction) ne sont pas supprimées d'Abonnés non-SQL Server lorsque l'abonnement est supprimé.

Se conformer aux conditions requises de la base de données de l'Abonné.

  • Le schéma et les données publiés doivent être conformes aux conditions requises de la base de données sur l'Abonné. Par exemple, si la taille maximale de ligne d'une base de données non-SQL Server est plus petite que pour une base de données SQL Server, vous devez vous assurer que le schéma et les données publiés ne dépassent pas cette taille.

  • Les tables répliquées sur des Abonnés non-SQL Server adoptent les conventions d'affectation des noms de tables de la base de données sur l'Abonné.

  • Les instructions DDL ne sont pas prises en charge pour les Abonnés non SQL Server. Pour plus d’informations sur les modifications de schéma, consultez Modifier le schéma dans les bases de données de publication.

Prise en charge de la fonctionnalité de réplication

  • SQL Server offre deux types d'abonnements : les abonnements par envoi de données (push) et les abonnements par extraction (pull). Les Abonnés non-SQL Server doivent utiliser les abonnements par envoi de données (push), dans lesquels l'Agent de distribution est exécuté sur le serveur de distribution SQL Server.

  • SQL Server offre deux formats d'instantanés : le mode bcp natif et le mode caractère. Les Abonnés non-SQL Server nécessitent des instantanés en mode caractère.

  • Les Abonnés non-SQL Server ne peuvent pas utiliser d'abonnements mis à jour immédiatement ou mis à jour en attente, et ne peuvent pas être des nœuds dans une topologie d'égal à égal.

  • Les Abonnés non-SQL Server ne peuvent pas être initialisés automatiquement à partir d'une sauvegarde.