Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Följande icke-SQL Server-prenumeranter kan prenumerera på snapshot- och transaktionspublikationer genom att använda push-prenumerationer. De två senaste versionerna av varje databas listade stödprenumerationer genom att använda den senaste versionen av den angivna OLE DB-leverantören.
Heterogen replikering till icke-SQL Server-abonnenter är föråldrad. Oracle-publicering är föråldrad. För att flytta data, skapa lösningar genom att använda change data capture och SSIS.
Försiktighet
Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen.
| Databas | Operativsystem | Provider |
|---|---|---|
| Oracle | Alla plattformar som Oracle stöder | Oracle OLE DB-provider (tillhandahålls av Oracle) |
| IBM Db2 | MVS, AS400, Unix, Linux, Windows exklusive 9.x | MICROSOFT Host Integration Server (HIS) OLE DB-provider |
Information om Oracle-version:
SQL Server stöder följande heterogena scenarier för transaktions- och ögonblicksbildreplikering:
Publicera data från SQL Server till icke-SQL Server-prenumeranter.
Publicering av data till och från Oracle har följande begränsningar:
| Replication | 2016 eller tidigare | 2017 eller senare |
|---|---|---|
| Replikering från Oracle | Stöd endast för Oracle 10g eller tidigare | Stöd endast för Oracle 10g eller tidigare |
| Replikering till Oracle | Upp till Oracle 12c | Stöds inte |
Heterogen replikering till icke-SQL Server-abonnenter är föråldrad. Oracle-publicering är föråldrad. För att flytta data, skapa lösningar genom att använda change data capture och SSIS.
Information om hur du skapar prenumerationer på Oracle och IBM Db2 finns i Oracle-prenumeranter och IBM Db2-prenumeranter.
Överväganden för icke-SQL Server-abonnenter
Tänk på följande överväganden när du replikerar till icke-SQL Server-prenumeranter:
Allmänna överväganden
Replikering stödjer publicering av tabeller och indexerade vyer som tabeller till icke-SQL Server-prenumeranter (indexerade vyer kan inte replikeras som indexerade vyer).
När du skapar en publikation i New Publication Wizard och sedan aktiverar den för icke-SQL Server-prenumeranter genom att använda dialogrutan Publication Properties, specificerar du inte ägaren till alla objekt i prenumerationsdatabasen för icke-SQL Server-prenumeranter. För Microsoft SQL Server-prenumeranter är ägaren ägaren av motsvarande objekt i publikationsdatabasen.
Om en publikation har både SQL Server-prenumeranter och icke-SQL Server-prenumeranter måste du aktivera publikationen för icke-SQL Server-prenumeranter innan du skapar några prenumerationer på SQL Server-prenumeranter.
Som standard använder skript som Snapshot Agent genererar för icke-SQL Server-prenumeranter icke-citerade identifierare i syntaxen
CREATE TABLE. Därför replikeras en publicerad tabell med namnettestsomTEST. Om du vill använda samma fall som tabellen i publikationsdatabasen använder du parametern -QuotedIdentifier för distributionsagenten. Du måste också använda parametern -QuotedIdentifier om publicerade objektnamn (såsom tabeller, kolumner och begränsningar) innehåller mellanslag eller reserverade ord i databasens version hos icke-SQL Server Subscriber. Mer information om den här parametern finns i Replikeringsdistributionsagent.Det konto under vilket distributionsagenten körs måste ha läsbehörighet till installationskatalogen för OLE DB-providern.
Som standard för icke-SQL Server-abonnenter använder Distribution Agent ett värde på
[(default destination)]för prenumerationsdatabasen (-SubscriberDB-parametern för Distribution Agent):För Oracle har en server högst en databas, så du behöver inte ange databasen.
För IBM Db2, ange databasen i DB2:s reťazec pripojenia. Mer information finns i Skapa en prenumeration för en icke-SQL Server-prenumerant.
Om SQL Server-distributören körs på en 64-bitarsplattform måste du använda 64-bitarsversionen av lämplig OLE DB-provider.
Replikering överför data i Unicode-format oavsett vilken sorteringsordning eller vilka kodsidor som används hos utgivaren och prenumeranten. Välj en kompatibel sortering eller kodsida när du replikerar mellan utgivare och prenumeranter.
Om du lägger till eller tar bort en artikel från en publikation måste du ominitiera prenumerationer till icke-SQL Server-prenumeranter.
De enda begränsningarna som stöds för alla icke-SQL Server-prenumeranter är:
NULLochNOT NULL. Primärnyckelbegränsningar replikeras som unika index.Olika databaser behandlar värdet
NULLolika. Denna skillnad påverkar hur ett tomt värde, en tom sträng och aNULLrepresenteras. Denna skillnad påverkar beteendet hos värden som infogas i kolumner med unika definierade begränsningar. Till exempel tillåter Oracle fleraNULLvärden i en kolumn som anses vara unik, medan SQL Server endast tillåter ett endaNULLvärde i en unik kolumn.En annan faktor är hur
NULLvärden, tomma strängar och tomma värden behandlas när kolumnen definieras somNOT NULL. Information om hur du åtgärdar det här problemet för Oracle-prenumeranter finns i Oracle-prenumeranter.Replikering tar inte bort replikeringsrelaterade metadata (tabellen för transaktionssekvenser) från prenumeranter som inte använder SQL Server när prenumerationen tas bort.
Uppfyller kraven för prenumerantdatabasen
Det publicerade schemat och datan måste uppfylla databasens krav hos prenumeranten. Till exempel, om en databas som inte är SQL Server har en mindre maximal radstorlek än SQL Server, se till att det publicerade schemat och datan inte överstiger denna storlek.
Tabeller replikerade till prenumeranter som inte är SQL Server använder tabellnamngivningskonventionerna från databasen hos prenumeranten.
DDL stöds inte för icke-SQL Server-prenumeranter. Mer information om schemaändringar finns i Göra schemaändringar i publikationsdatabaser.
Stöd för replikationsfunktioner
SQL Server erbjuder två typer av prenumerationer: push och pull. Icke-SQL Server-prenumeranter måste använda push-prenumerationer där distributionsagenten körs hos SQL Server-distributören.
SQL Server har två ögonblicksbildsformat: inbyggt bcp-läge och teckenläge. Icke-SQL Server-prenumeranter kräver ögonblicksbilder av teckenläget.
Icke-SQL Server-prenumeranter kan inte använda omedelbara uppdaterings- eller köuppdateringsprenumerationer, eller vara noder i en peer-to-peer-topologi.
Icke-SQL Server-prenumeranter kan inte automatiskt initieras från en backup.