Zagadnienia dotyczące replikacja łączenia

Istnieje kilka zagadnienia dotyczące replikacja łączenia:

  • Dodatek Uniqueidentifier kolumna do opublikowanych tabel.

  • Sygnatura czasowa kolumny.

  • Typy danych dużych obiektów (LOB).

  • Wstawianie danych do opublikowanych tabel zbiorczej.

  • Poziom zgodności publikacja.Aby uzyskać więcej informacji zobacz część „ poziom zgodności dla publikacji korespondencji seryjnej „ Using Multiple Versions of SQL Server in a Replication Topology.

Dodanie uniqueidentifier kolumna

replikacja łączenia identyfikuje każdy wiersz w trakcie replikacja łączenia za pomocą kolumna unikatowy identyfikator globalny (GUID).Jeśli nie ma tabela opublikowanych Uniqueidentifier kolumna z właściwość ROWGUIDCOL i indeks unikatowy, replikacja dodaje jedną.Należy upewnić się, że wszelkie instrukcje SELECT i INSERT, odwołujące się do opublikowanych tabel korzystają z kolumna listy.Replikacja dodaje kolumnę tabela jest już opublikowany, kolumna zostanie usunięta, jeśli kolumna już istnieje, to nie jest usuwany.

Kolumny sygnatury czasowej

Scalanie obsługuje replikację Sygnatura czasowa kolumny.The timestamp kolumna is replicated, but the literal timestamp values are not.The timestamp values are regenerated when the migawka is applied at the subskrybent.Ponieważ Sygnatura czasowa wartości są generowane przez subskrybent Sygnatura czasowa kolumn są odfiltrowane, przy sprawdzaniu poprawności artykuł.

Typy danych dużych obiektów (LOB)

Jeśli w opublikowanej tabela znajdują się wszystkie LOBs, zaleca się określenia wartość TRUE dla @ stream_blob_columns parametrsp_addmergearticle (Transact-SQL). Jeśli wartość TRUE nie zostanie określona, całego obiektu LOB musi być tworzona w pamięci przez wydawcę, co może spowodować Wydawca, aby uruchomić z pamięci RAM, jeżeli obiektu LOB jest bardzo duża.

Important noteImportant Note:

Włączanie Optymalizacja pamięci może wówczas wykonywania korespondencji seryjnej Agent podczas synchronizacji.Ta opcja powinna być używana tylko wtedy, podczas replikowania kolumny zawierające megabajtów danych.

Aktualizacje text, ntext, a image kolumny są replikowane tylko wtedy, gdy kolumna została zaktualizowana jawnie za pomocą instrukcja UPDATE: Aktualizacja powoduje, że wyzwalacz do ognia aktualizujące metadane, zapewniając, że transakcja jest przenoszone na inne subskrybentów. Za pomocą tylko operacje WRITETEXT i UPDATETEXT nie propagowanie zmian do innych witryn.Jeśli aplikacja używa WRITETEXT i UPDATETEXT zaktualizować text lub ntext kolumny, dodawanie jawnie fikcyjny instrukcja UPDATE po operacji WRITETEXT lub UPDATETEXT w obrębie tej samej transakcji do ognia wyzwalacz i pozwala zagwarantować, że zmiany są propagowane do innych witryn. Aby uzyskać więcej informacji na temat tych typów danych zobacz ntext, text, and image (Transact-SQL).

Uwaga

Firma Microsoft zaleca użycie typów danych varchar(max), nvarchar(max), varbinary(max) zamiast text, ntext, a image typy danych, odpowiednio.

Wstawianie danych do opublikowanych tabel zbiorczej

replikacja łączenia śledzi zmiany do opublikowanej między tabelami przy użyciu wyzwalaczy i ich tabele systemowe.W przypadku wstawiania zbiorczego z danych przy użyciu BCP narzędzia lub BULK INSERT poleceń, wyzwalacze nie ognia domyślnie.Jeśli nie wyzwalana, wyzwalacze, wstawia nie są śledzone i nie są przenoszone do innych węzłów.Aby upewnić się, zmiany są śledzone, zaleca się, użyj jednej z następujących podejść podczas wykonywania zbiorczej wstawia:

  • Przy użyciu opcji FIRE_TRIGGERS dla BCP narzędzia lub polecenia BULK INSERT.Ta opcja zapewnia wyzwalacze są uruchamiane, jak byłyby w operacji wstawiania typowe.Aby uzyskać więcej informacji zobacz Narzędzie BCP i BULK INSERT (Transact-SQL).

  • Wykonaj procedura przechowywana sp_addtabletocontents po wykonaniu wstawiania zbiorczego.Tej procedury powoduje wstawienie odwołań do tabele systemowe dla wszystkich wierszy w tabela źródłowej, które nie są aktualnie włączone.Aby uzyskać więcej informacji zobacz sp_addtabletocontents (Transact-SQL).