Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
De volgende niet-SQL Server-abonnees kunnen zich abonneren op snapshot- en transactionele publicaties door gebruik te maken van push-abonnementen. De twee meest recente versies van elke database ondersteunden abonnementen door gebruik te maken van de meest recente versie van de vermelde OLE DB-provider.
Heterogene replicatie naar niet-SQL Server-abonnees is verouderd. Oracle-publicatie is verouderd. Om data te verplaatsen, creëer je oplossingen door change data capture en SSIS te gebruiken.
Waarschuwing
Deze functie wordt verwijderd in een toekomstige versie van SQL Server. Vermijd het gebruik van deze functie in nieuwe ontwikkelwerkzaamheden en plan om toepassingen te wijzigen die momenteel gebruikmaken van deze functie.
| gegevensbank | Besturingssysteem | Provider |
|---|---|---|
| Oracle | Alle platforms die Oracle ondersteunt | Oracle OLE DB-provider (geleverd door Oracle) |
| IBM Db2 | MVS, AS400, Unix, Linux, Windows met uitzondering van 9.x | OLE DB-provider van Microsoft Host Integration Server (HIS) |
Oracle-versiegegevens:
SQL Server ondersteunt de volgende heterogene scenario's voor transactionele en momentopnamereplicatie:
Gegevens publiceren van SQL Server naar niet-SQL Server-abonnees.
Het publiceren van gegevens naar en van Oracle heeft de volgende beperkingen:
| Replication | 2016 of eerder | 2017 of hoger |
|---|---|---|
| Replicatie van Oracle | Alleen ondersteuning voor Oracle 10g of eerder | Alleen ondersteuning voor Oracle 10g of eerder |
| Replicatie naar Oracle | Tot en met Oracle 12c | Niet ondersteund |
Heterogene replicatie naar niet-SQL Server-abonnees is verouderd. Oracle-publicatie is afgekeurd. Om data te verplaatsen, creëer je oplossingen door change data capture en SSIS te gebruiken.
Zie Oracle-abonnees en IBM Db2-abonnees voor meer informatie over het maken van abonnementen op Oracle en IBM Db2.
Overwegingen voor niet-SQL Server-abonnees
Houd de volgende overwegingen in gedachten bij replicatie naar niet-SQL Server-abonnees:
Algemene overwegingen
Replicatie ondersteunt het publiceren van tabellen en geïndexeerde weergaven als tabellen voor niet-SQL Server-abonnees (geïndexeerde weergaven kunnen niet worden gerepliceerd als geïndexeerde weergaven).
Wanneer je een publicatie aanmaakt in de New Publication Wizard en deze vervolgens inschakelt voor niet-SQL Server-abonnees via het venster Publicatie-eigenschappen, specificeer je niet de eigenaar van alle objecten in de abonnementsdatabase voor niet-SQL Server-abonnees. Voor Microsoft SQL Server-abonnees is de eigenaar de eigenaar van het overeenkomstige object in de publicatiedatabase.
Als een publicatie zowel SQL Server-abonnees als niet-SQL Server-abonnees heeft, moet je de publicatie inschakelen voor niet-SQL Server-abonnees voordat je abonnementen op SQL Server-abonnees aanmaakt.
Standaard gebruiken scripts die de Snapshot Agent genereert voor niet-SQL Server-abonnees niet-aangehaalde identificaties in de
CREATE TABLEsyntaxis. Daarom wordt een gepubliceerde tabel met de naamtestgerepliceerd alsTEST. Als u hetzelfde geval wilt gebruiken als de tabel in de publicatiedatabase, gebruikt u de parameter -QuotedIdentifier voor de distributieagent. Je moet ook de -QuotedIdentifier-parameter gebruiken als gepubliceerde objectnamen (zoals tabellen, kolommen en constraints) spaties of gereserveerde woorden bevatten in de versie van de database bij de niet-SQL Server Subscriber. Zie Replicatiedistributieagent voor meer informatie over deze parameter.Het account waaronder de distributieagent wordt uitgevoerd, moet leestoegang hebben tot de installatiemap van de OLE DB-provider.
Standaard gebruikt de Distribution Agent voor niet-SQL Server-abonnees een waarde van
[(default destination)]voor de abonnementsdatabase (de -SubscriberDB-parameter voor de Distribution Agent):Voor Oracle heeft een server hooguit één database, dus je hoeft de database niet te specificeren.
Voor IBM Db2 specificeer je de database in de DB2-verbindingsreeks. Zie Een abonnement maken voor een niet-SQL Server-abonnee voor meer informatie.
Als de SQL Server Distributor wordt uitgevoerd op een 64-bits platform, moet u de 64-bits versie van de juiste OLE DB-provider gebruiken.
Replicatie verplaatst data in Unicode-formaat, ongeacht de collatie of codepagina's die op de Publisher en Subscriber worden gebruikt. Kies een compatibele collatie of codepagina bij het repliceren tussen uitgevers en abonnees.
Als je een artikel toevoegt of verwijdert uit een publicatie, moet je abonnementen opnieuw initialiseren voor niet-SQL Server abonnees.
De enige beperkingen die worden ondersteund voor alle niet-SQL Server-abonnees zijn:
NULLenNOT NULL. Primaire-sleutelbeperkingen worden gerepliceerd als unieke indexen.Verschillende databases behandelen de waarde
NULLverschillend. Dit verschil beïnvloedt hoe een lege waarde, een lege string en aNULLworden weergegeven. Dit verschil beïnvloedt het gedrag van waarden die in kolommen worden ingevoegd met unieke gedefinieerde beperkingen. Oracle staat bijvoorbeeld meerdereNULLwaarden toe in een kolom die als uniek wordt beschouwd, terwijl SQL Server slechts éénNULLwaarde in een unieke kolom toestaat.Een andere factor is hoe
NULLwaarden, lege strings en lege waarden worden behandeld wanneer de kolom wordt gedefinieerd alsNOT NULL. Zie Oracle-abonnees voor informatie over het oplossen van dit probleem voor Oracle-abonnees.Replicatie verwijdert geen replicatie-gerelateerde metadata (transaction sequence table) van niet-SQL Server-abonnees wanneer je het abonnement verwijdert.
Voldoen aan de vereisten van de abonneedatabase
Het gepubliceerde schema en de gegevens moeten voldoen aan de eisen van de database bij de abonnee. Als bijvoorbeeld een niet-SQL Server-database een kleinere maximale rijgrootte heeft dan SQL Server, zorg er dan voor dat het gepubliceerde schema en de data deze grootte niet overschrijden.
Tabellen gerepliceerd naar niet-SQL Server Abonnees nemen de tabelnaamconventies van de database bij de abonnee over.
DDL wordt niet ondersteund voor niet-SQL Server-abonnees. Zie Schemawijzigingen aanbrengen in publicatiedatabases voor meer informatie over schemawijzigingen.
Ondersteuning voor replicatiefuncties
SQL Server biedt twee typen abonnementen: push en pull. Niet-SQL Server-abonnees moeten pushabonnementen gebruiken, waarin de distributieagent wordt uitgevoerd bij de SQL Server-distributeur.
SQL Server biedt twee momentopname-indelingen: systeemeigen bcp-modus en tekenmodus. Voor niet-SQL Server-abonnees zijn momentopnamen van de tekenmodus vereist.
Abonnees die geen SQL Server gebruiken, kunnen geen abonnementen met onmiddellijke bijwerking of abonnementen met bijwerking in de wachtrij gebruiken en kunnen geen knooppunten zijn in een peer-to-peer-topologie.
Niet-SQL Server-abonnees kunnen niet automatisch worden geïnitialiseerd vanuit een back-up.