Prenumeranter som inte är SQL Server-prenumeranter

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 syntaxenCREATE TABLE. Därför replikeras en publicerad tabell med namnet test som TEST. 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):

  • 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: NULL och NOT NULL. Primärnyckelbegränsningar replikeras som unika index.

  • Olika databaser behandlar värdet NULL olika. Denna skillnad påverkar hur ett tomt värde, en tom sträng och a NULL representeras. Denna skillnad påverkar beteendet hos värden som infogas i kolumner med unika definierade begränsningar. Till exempel tillåter Oracle flera NULL värden i en kolumn som anses vara unik, medan SQL Server endast tillåter ett enda NULL värde i en unik kolumn.

    En annan faktor är hur NULL värden, tomma strängar och tomma värden behandlas när kolumnen definieras som NOT 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.