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
Azure SQL Managed Instance
Synchronizacja danych odnosi się do procesu przekazywania zmian danych i schematów między Publisher a Subskrybentami po zastosowaniu początkowego snapshotu u Subskrybenta. Synchronizacja może zachodzić:
Ciągle, co jest typowe dla replikacji transakcyjnej.
Na żądanie — co jest typowe dla replikacji scalającej.
Zgodnie z harmonogramem, co jest typowe dla replikacji opartej na migawkach.
Gdy subskrypcja jest synchronizowana, zachodzą różne procesy w zależności od rodzaju replikacji, której używasz:
Replikacja migawki. Synchronizacja oznacza, że Agent dystrybucji ponownie stosuje migawkę u subskrybenta, tak aby schemat i dane w bazie danych subskrypcji były zgodne z bazą danych publikacji.
Jeśli u Publikującego wprowadzono modyfikacje danych lub schematu, należy wygenerować nową migawkę w celu propagowania zmian do Subskrybenta.
Transakcyjna replikacja. Synchronizacja oznacza, że Distribution Agent przesyła aktualizacje, wstawia, usuwa i inne zmiany z bazy dystrybucji do Subskrybenta.
Replikacja łączeniowa. Synchronizacja oznacza, że Merge Agent przesyła zmiany od Subskrybenta do Publisher, a następnie pobiera zmiany z Publisher do Subskrybenta. Konflikty, jeśli występują, są wykrywane i rozwiązywane. Dane są zbieżne, a Publisher i wszyscy subskrybenci ostatecznie mają te same wartości danych. Jeśli konflikty zostały wykryte i rozwiązane, prace podjęte przez niektórych użytkowników są zmieniane, aby rozwiązać konflikt zgodnie z politykami zdefiniowanymi przez Ciebie.
Publikacje snapshot całkowicie odświeżają schemat u Subskrybenta za każdym razem, gdy następuje synchronizacja, więc wszystkie zmiany schematu są stosowane do Subskrybenta. Replikacja transakcyjna i replikacja z scalaniem również obsługują najczęstsze zmiany schematu. Aby uzyskać więcej informacji, zobacz Wprowadzanie zmian schematu w bazach danych publikacji.
Aby zsynchronizować subskrypcję wypychaną, zobacz Synchronizowanie subskrypcji wypychanej.
Aby zsynchronizować subskrypcję pobierającą, zobacz Synchronizowanie subskrypcji pobierającej.
Aby ustawić harmonogramy synchronizacji, zobacz Określ harmonogramy synchronizacji.
Aby zobaczyć i rozwiązywać konflikty synchronizacyjne
SQL Server Management Studio: wyświetlanie i rozwiązywanie konfliktów danych dla publikacji scalania (SQL Server Management Studio)
SQL Server Management Studio: Wyświetlanie konfliktów danych dla publikacji transakcyjnych (SQL Server Management Studio)
Wykonywanie kodu podczas synchronizacji
Replikacja obsługuje dwie metody wykonywania kodu podczas synchronizacji
Obsługiwane jest wykonywanie skryptów na żądanie do replikacji transakcyjnej i scalania. Korzystając z wykonywania skryptu na żądanie, możesz określić skrypt SQL uruchamiany podczas synchronizacji. Skrypt jest kopiowany do abonenta i wykonywany za pomocą sqlcmd na początku procesu synchronizacji. Skrypt nie ma dostępu do zreplikowanych zmian w momencie ich stosowania do Abonenta. Aby uzyskać więcej informacji, zobacz Wykonywanie skryptów podczas synchronizacji (Programowanie replikacji w języku Transact-SQL).
Obsługiwane są obsługiwacze logiki biznesowej do replikacji scalania. Korzystając z frameworka Business Logic Handler możesz napisać zarządzany kod assembly, który jest wywoływany podczas procesu synchronizacji merge. Asembl zawiera logikę biznesową, która może reagować na szereg warunków podczas synchronizacji: zmiany danych, konflikty i błędy. Aby uzyskać więcej informacji, zobacz Wykonywanie logiki biznesowej podczas synchronizacji scalania.