Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Następujący subskrybenci spoza SQL Server mogą subskrybować snapshoty i publikacje transakcyjne, korzystając z subskrypcji push. Dwie najnowsze wersje każdej z wymienionych baz danych obsługują subskrypcje przy użyciu najnowszej wersji dostawcy OLE DB.
Replikacja heterogeniczna do subskrybentów innych niż SQL Server jest przestarzała. Wydawnictwo Oracle jest przestarzałe. Aby przenosić dane, twórz rozwiązania za pomocą przechwytywania zmian danych i SSIS.
Ostrzeżenie
Ta funkcja zostanie usunięta w przyszłej wersji programu SQL Server. Unikaj używania tej funkcji w nowych pracach programistycznych i zaplanuj modyfikowanie aplikacji, które obecnie korzystają z tej funkcji.
| Baza danych | System operacyjny | Provider |
|---|---|---|
| Oracle | Wszystkie platformy obsługiwane przez firmę Oracle | Dostawca Oracle OLE DB (dostarczony przez firmę Oracle) |
| IBM Db2 | MVS, AS400, Unix, Linux, Windows z wyłączeniem wersji 9.x | Dostawca OLE DB serwera Microsoft Host Integration Server (HIS) |
Informacje o wersji oracle:
SQL Server obsługuje następujące różnorodne scenariusze replikacji transakcyjnej i migawkowej:
Publikowanie danych z programu SQL Server do subskrybentów programu innych niż SQL Server.
Publikowanie danych do i z programu Oracle ma następujące ograniczenia:
| Replication | 2016 lub starsze | 2017 lub nowszy |
|---|---|---|
| Replikacja z bazy danych Oracle | Obsługa tylko programu Oracle 10g lub starszego | Obsługa tylko programu Oracle 10g lub starszego |
| Replikacja do bazy danych Oracle | Do wersji Oracle 12c | Niewspierane |
Replikacja heterogeniczna do subskrybentów innych niż SQL Server jest przestarzała. Wydawnictwo Oracle jest przestarzałe. Aby przenosić dane, twórz rozwiązania za pomocą przechwytywania zmian danych i SSIS.
Aby uzyskać informacje o tworzeniu subskrypcji dla oracle i IBM Db2, zobacz Subskrybenci Oracle i subskrybenci IBM Db2.
Uwagi dla subskrybentów niekorzystających z SQL Server
Pamiętaj o następujących kwestiach podczas replikacji do subskrybentów spoza SQL Server:
Zagadnienia ogólne
Replikacja obsługuje publikowanie tabel i widoków indeksowanych jako tabel dla subskrybentów spoza SQL Server (indeksowane widoki nie mogą być replikowane jako widoki indeksowane).
Gdy tworzysz publikację w kreatorze nowych publikacji, a następnie włączasz ją dla subskrybentów niebędących SQL Server w oknie dialogowym Właściwości publikacji, nie określasz właściciela wszystkich obiektów w bazie subskrypcyjnej dla subskrybentów niebędących SQL Server. W przypadku subskrybentów Microsoft SQL Server właścicielem jest właściciel odpowiedniego obiektu w bazie danych publikacji.
Jeśli publikacja ma zarówno subskrybentów programu SQL Server, jak i subskrybentów innych niż SQL Server, przed utworzeniem jakichkolwiek subskrypcji dla subskrybentów programu SQL Server należy włączyć publikację dla subskrybentów innych niż SQL Server.
Domyślnie skrypty generowane przez Snapshot Agent dla subskrybentów innych niż SQL Server używają identyfikatorów nieujętych w cudzysłowy w składni
CREATE TABLE. Dlatego opublikowana tabela o nazwietestjest replikowana jakoTEST. Aby użyć tego samego przypadku co tabela w bazie danych publikacji, użyj parametru -QuotedIdentifier dla agenta dystrybucji. Musisz także użyć parametru -QuotedIdentifier, jeśli opublikowane nazwy obiektów (takie jak tabele, kolumny i ograniczenia) zawierają spacje lub słowa zastrzeżone w wersji bazy danych u Subskrybenta innego niż SQL Server. Aby uzyskać więcej informacji na temat tego parametru, zobacz Agent dystrybucji replikacji.Konto, na którym działa agent dystrybucji, musi mieć dostęp do odczytu do katalogu instalacji dostawcy OLE DB.
Domyślnie dla subskrybentów innych niż SQL Server Agent dystrybucji używa wartości
[(default destination)]dla bazy danych subskrypcji (parametr -SubscriberDB dla Agenta dystrybucji):W Oracle serwer ma maksymalnie jedną bazę danych, więc nie musisz określać bazy danych.
Dla IBM Db2 określ bazę danych w parametrach połączenia DB2. Aby uzyskać więcej informacji, zobacz Tworzenie subskrypcji dla subskrybenta programu innego niż SQL Server.
Jeśli dystrybutor programu SQL Server działa na 64-bitowej platformie, musisz użyć 64-bitowej wersji odpowiedniego dostawcy OLE DB.
Replikacja przesyła dane w formacie Unicode niezależnie od zasad sortowania lub strony kodowej używanych u Wydawcy i Subskrybenta. Wybierz zgodne sortowanie lub stronę kodową podczas replikacji między wydawcami a subskrybentami.
Jeśli dodasz lub usuniesz artykuł z publikacji, musisz ponownie zaiinicjować subskrypcje dla subskrybentów spoza SQL Server.
Jedynymi ograniczeniami obsługiwanymi dla wszystkich subskrybentów innych niż SQL Server są:
NULLorazNOT NULL. Ograniczenia klucza podstawowego są replikowane jako unikatowe indeksy.Różne bazy danych traktują wartość
NULLinaczej. Ta różnica wpływa na to, jak reprezentowane są wartość pusta, pusty ciąg i aNULL. Ta różnica wpływa na zachowanie wartości wstawianych do kolumn z unikalnymi ograniczeniami. Na przykład Oracle pozwala na wieleNULLwartości w kolumnie uznawanej za unikalną, podczas gdy SQL Server pozwala tylko na jednąNULLwartość w unikalnej kolumnie.Innym czynnikiem jest sposób traktowania wartości
NULL, pustych ciągów znaków i wartości pustych, gdy kolumna jest zdefiniowana jakoNOT NULL. Aby uzyskać informacje na temat rozwiązywania tego problemu dla subskrybentów Oracle, zobacz Subskrybenci Oracle.Replikacja nie usuwa metadanych związanych z replikacją (tabeli sekwencji transakcji) z użytkowników spoza SQL Server po usunięciu subskrypcji.
Zgodność z wymaganiami bazy danych subskrybentów
Opublikowany schemat i dane muszą spełniać wymagania bazy danych u Subskrybenta. Na przykład, jeśli baza danych spoza SQL Server ma mniejszy maksymalny rozmiar wiersza niż SQL Server, upewnij się, że opublikowany schemat i dane nie przekraczają tego rozmiaru.
Tabele replikowane do subskrybentów spoza programu SQL Server przyjmują konwencje nazewnictwa tabel obowiązujące w bazie danych u subskrybenta.
DDL nie jest obsługiwane dla subskrybentów innych niż SQL Server. Aby uzyskać więcej informacji na temat zmian schematu, zobacz Wprowadzanie zmian schematu w bazach danych publikacji.
Obsługa funkcji replikacji
Program SQL Server oferuje dwa typy subskrypcji: aktywną i pasywną. Subskrybenci programu innego niż SQL Server muszą używać subskrypcji wypychanych, w których agent dystrybucji działa w dystrybutorze programu SQL Server.
Program SQL Server oferuje dwa formaty migawek: natywny tryb bcp i tryb znaków. Subskrybenci programu innego niż SQL Server wymagają migawek trybu znaków.
Subskrybenci inni niż SQL Server nie mogą korzystać z subskrypcji z aktualizacją natychmiastową ani z aktualizacją w kolejce ani być węzłami w topologii peer-to-peer.
Subskrybentów innych niż SQL Server nie można automatycznie zainicjować na podstawie kopii zapasowej.