W tym artykule pokażę, jak tworzyć replikację transakcyjną.
Replikacja transakcyjna generowała migawkę obiektów bazy danych publikacji i zawartych w niej danych. Po wygenerowaniu migawki wszystkie zmiany danych i zmiany schematu wprowadzone w bazie danych wydawcy są dostarczane do baz danych subskrybentów. W replikacji transakcyjnej zmiany danych i schematu zachodzą niemal w czasie rzeczywistym, stąd replikacja transakcyjna może być używana do odciążania raportów, a czasami może być używana jako witryna DR.
Kiedy tworzymy replikację transakcyjną, SQL Server tworzy następujące zadania SQL
- Praca agenta migawek: Zadanie agenta migawki generuje migawkę obiektów bazy danych publikacji. Migawka jest przechowywana w lokalizacji sieciowej lub na twardym
- Zadanie czytnika dzienników: Log Reader Job stale monitoruje publikacje. Wykrywa zmiany schematu oraz zapytania typu Insert, Update i Delete oraz oznacza je do replikacji. Czytnik dziennika używa „Sp_Replcmds ”, aby zastosować polecenia oznaczone do replikacji.
Konfiguracja wersji demonstracyjnej:
Na potrzeby tego demo utworzyłem dwie instancje SQL Server na tym samym serwerze bazy danych. Nazwy instancji i szczegóły są następujące:
Konfigurując demo, nie stworzyłem dystrybutora, więc instancja wydawcy również będzie działać jako dystrybutor. Utworzyłem „Klienta ” w bazie danych AdventureWorks2014. Zamierzam zreplikować dane z tabeli Customer. Dlatego wydawca nazywa go artykułem.
Konfiguruj wydawcę
Aby skonfigurować wydawcę, otwórz SQL Server Management Studio, rozwiń instancję bazy danych, rozwiń Replikacja węzeł i kliknij prawym przyciskiem myszy Publikacja lokalna i wybierz Nowa publikacja .
Uruchomi się Kreator nowej publikacji. W oknie dialogowym znajduje się krótkie podsumowanie kreatora. Możesz pominąć dalsze pojawianie się tego okna dialogowego, zaznaczając Nie pokazuj ponownie tej strony startowej pole wyboru. Kliknij Dalej aby przejść do następnego okna dialogowego.
W kolejnym oknie dialogowym wybierz bazę danych, która pełni rolę wydawcy. W tym demo używam AdventureWorks2014 bazy danych, więc wybierz AdventureWorks2014 z listy baz danych i kliknij Dalej .
W następnym oknie dialogowym wybierz typ publikacji z listy typów publikacji, a ich opisy znajdują się również w Opisach typów publikacji pole tekstowe. Wybierz Publikacja transakcyjna i kliknij Dalej .
W następnym oknie dialogowym wybierz typ publikacji z listy typów publikacji, a ich opisy znajdują się również w Opisach typów publikacji pole tekstowe. Wybierz Publikacja transakcyjna i kliknij Dalej .
Jeśli chcesz filtrować dane tabeli, możesz określić warunek w oknie dialogowym Filtruj wiersze tabeli. Aby dodać filtr, kliknij Dodaj przycisk. Kolejne okno dialogowe Dodaj filtr otwiera się. W tym oknie dialogowym możesz określić żądaną instrukcję filtra w Oświadczenie filtra pole tekstowe.
W przypadku tej demonstracji nie filtrujemy danych Klienta tabeli, więc pomiń to okno dialogowe i kliknij Dalej .
Aby zainicjować replikację transakcyjną, musimy wygenerować migawkę. W oknie dialogowym Agent migawek skonfiguruj interwał generowania migawek. Możesz natychmiast wygenerować migawkę lub zaplanować określony czas wygenerowania migawki bazy danych. Domyślnie migawka generuje się co godzinę, ale możemy to zmienić. Aby wygenerować zrzut w określonych odstępach czasu, kliknij Zmień Otworzy się okno dialogowe Nowy harmonogram zadań. Skonfiguruj żądany harmonogram i kliknij OK .
W tej wersji demonstracyjnej natychmiast wygeneruję migawkę, więc sprawdź Utwórz migawkę i zachowaj migawkę dostępną, aby zainicjować subskrypcję opcję i kliknij Dalej .
W następnym oknie dialogowym skonfiguruj zabezpieczenia SQL Agent. Aby skonfigurować zabezpieczenia agenta, kliknij Ustawienia zabezpieczeń przycisk. Bezpieczeństwo agenta migawek otworzy się okno dialogowe. W oknie dialogowym określ konto, pod którym subskrybent łączy się z wydawcą. Ponadto określ informacje o koncie, na którym będzie wykonywane zadanie agenta SQL Server. W tej wersji demonstracyjnej zadania SQL Server są wykonywane na koncie usługi SQL Server Agent, więc wybierz Uruchom na koncie usługi SQL Server Agent opcja. Subskrybenci będą połączeni z wydawcą przy użyciu loginu SQL, więc wybierz Korzystanie z następującego loginu SQL Server i określ login i hasło SQL. W tej demonstracji połącz się za pomocą „sa " Zaloguj sie. Kliknij OK aby zamknąć okno dialogowe i kliknij Dalej .
W następnym oknie dialogowym możesz wybrać tworzenie publikacji lub generowanie skryptów do tworzenia publikacji. Wybierz Wygeneruj plik skryptu, aby utworzyć publikację możliwość generowania skryptów kroków replikacji. Utworzymy publikację, więc wybierz Utwórz publikację opcję i kliknij Dalej .
W następnym oknie dialogowym określ nazwę publikacji, przejrzyj podsumowanie zadań do wykonania w celu utworzenia replikacji i kliknij Zakończ aby utworzyć publikację i zamknąć Nową publikację Kreator .
Jak wspomniałem na początku artykułu, kiedy tworzymy replikację transakcyjną, tworzy ona zadanie agenta odczytu dziennika, zadanie agenta migawki i zadanie czyszczenia dla wygasłych subskrypcji.
Aby je wyświetlić, rozwiń SQL Server Agent , a następnie rozwiń Praca .
Po skonfigurowaniu publikacji skonfiguruj subskrybentów.
Skonfiguruj subskrybenta
Aby skonfigurować subskrybenta należy najpierw połączyć się z inną instancją SQL. Po połączeniu z instancją rozwiń Replikacja i kliknij prawym przyciskiem myszy Subskrypcja lokalna .
Kreator nowej subskrypcji otwiera się. W oknie dialogowym znajduje się krótkie podsumowanie kreatora. Możesz pominąć dalsze wyświetlanie tego ekranu, zaznaczając Nie pokazuj ponownie tej strony startowej pole wyboru. Kliknij Dalej aby przejść do następnego okna dialogowego.
W następnym oknie dialogowym wybierz serwer publikacji. Kliknij Wydawca rozwijane i kliknij Znajdź SQL Server Publisher . Otworzy się okno dialogowe umożliwiające nawiązanie połączenia z wydawcą. W Nazwie serwera w polu tekstowym podaj nazwę hosta serwera wydawcy i kliknij Połącz .
Po nawiązaniu połączenia z wydawcą Customer_Publication i AdventureWorks2014 będą wyświetlane w Bazach danych i publikacjach pole tekstowe. Wybierz Klient_Publikacja i kliknij Dalej .
W następnym oknie dialogowym wybierz lokalizację agenta dystrybucji. W tej demonstracji użyję subskrypcji ściąganej , więc wybierz Uruchom każdego agenta u jego subskrybenta opcję i kliknij Dalej :
W następnym oknie dialogowym wybierz bazę danych subskrypcji. Utworzyłem bazę danych o nazwie Customer_DB , który pełni rolę bazy subskrybentów. W bazie danych subskrypcji z listy rozwijanej wybierz Customer_DB bazy danych z listy. Po wybraniu bazy danych subskrypcji kliknij Dalej .
W następnym oknie dialogowym skonfiguruj zabezpieczenia agenta dystrybucji. Aby skonfigurować zabezpieczenia, kliknij przycisk […]. Bezpieczeństwo agenta dystrybucji otworzy się okno dialogowe. W pierwszej sekcji określ konto domeny, w ramach którego zostanie uruchomiony proces agenta dystrybucji. Agent dystrybucji będzie działał w ramach usługi agenta programu SQL Server, więc wybierz Uruchom w ramach konta usługi agenta programu SQL Server opcja.
Tutaj nie konfigurowałem serwera dystrybucji, więc wydawca działa jako dystrybutor. Subskrybent połączy się z wydawcą/dystrybutorem za pomocą loginu SQL. Aby połączyć Dystrybutora, użyj „sa” login i hasło.
Kliknij OK aby zamknąć okno dialogowe. W oknie dialogowym Zabezpieczenia agenta dystrybucji kliknij Dalej .
W następnym oknie dialogowym skonfiguruj harmonogram synchronizacji subskrypcji. Możesz wybrać, aby działał w sposób ciągły lub skonfigurować zaplanowane wykonanie. Wybierz Uruchom nieprzerwanie w Harmonogramie agenta upuścić pudło. Kliknij Dalej .
W następnym oknie dialogowym wybierz, czy zainicjować subskrypcję natychmiast z migawką danych publikacji i schematu, czy po pierwszej synchronizacji. Natychmiast zainicjujemy subskrypcję, więc wybierz Natychmiast z Zainicjuj, kiedy upuścić pudło. Kliknij Dalej .
W następnym oknie dialogowym możesz wybrać natychmiastowe utworzenie subskrypcji lub wygenerowanie skryptów, aby utworzyć subskrypcję. Wybierz Wygeneruj plik skryptu, aby utworzyć subskrypcję możliwość generowania skryptów kroków replikacji. Utworzymy publikację, więc wybierz Utwórz subskrypcję opcję i kliknij Dalej .
W następnym oknie dialogowym podana jest lista zadań wykonanych w celu utworzenia subskrypcji. Możesz je przejrzeć i kliknąć Zakończ .
Po utworzeniu subskrypcji możesz ją zobaczyć w sekcji Subskrypcja lokalna węzeł.
Wyświetl stan replikacji
Możesz użyć Monitora replikacji, aby wyświetlić stan replikacji. Aby otworzyć Monitor replikacji, rozwiń Replikacja , a następnie rozwiń Lokalne publikacje. Kliknij prawym przyciskiem myszy Publikacja_klienta i wybierz Uruchom Monitor replikacji.
Podsumowanie:
W tym artykule wyjaśniłem:
- Wysokie podsumowanie replikacji transakcyjnej.
- Konfiguracja wersji demonstracyjnej.
- Jak skonfigurować publikację replikacji.
- Jak skonfigurować subskrybentów replikacji.
Przydatne narzędzia:
dbForge Data Compare dla SQL Server – potężne narzędzie do porównywania SQL zdolne do pracy z dużymi danymi.
dbForge Schema Compare for SQL Server – niezawodne narzędzie, które oszczędza czas i wysiłek podczas porównywania i synchronizacji baz danych na SQL Server.