Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Konfiguracja replikacji transakcyjnej serwera SQL

Replikacja transakcyjna w SQL Server jest jedną z najczęściej używanych technik replikacji do kopiowania lub dystrybucji danych w wielu miejscach docelowych. W poprzednich artykułach omówiliśmy replikację SQL Server i sposób, w jaki replikacja działa wewnętrznie. Teraz naszym celem jest sprawdzenie, jak skonfigurować replikację transakcyjną w SQL Server przy użyciu podejścia do tworzenia kopii zapasowych i jak prawidłowo dodawać lub usuwać artykuły do ​​replikacji. Bez odpowiednich środków ryzykujemy unieważnienie migawki i staniemy przed koniecznością ponownej konfiguracji replikacji.

Administracja replikacji transakcyjnej

W moich poprzednich artykułach omówiliśmy instrukcje krok po kroku dotyczące poniższych elementów:

  • Konfiguruj dystrybucję
  • Konfiguruj publikację z opcją Snapshot
  • Skonfiguruj subskrypcję z opcją migawki

Konfigurując Replikację, najpierw skonfigurowaliśmy Dystrybutora. Następnie przystąpiliśmy do tworzenia publikacji i subskrypcji. Aby usunąć lub wyczyścić replikację, musimy wykonać proces odwrotny. Najpierw musielibyśmy usunąć Subskrypcję, następnie Publikację, a na koniec usunąć Dystrybutora lub bazę danych dystrybucji.

W tym artykule spróbujemy usunąć replikację transakcyjną w SQL Server, którą wcześniej skonfigurowaliśmy. Użyjemy podejścia Backup i dodamy lub usuniemy artykuły z replikacji w następujący sposób:

  • Zrezygnuj z subskrypcji
  • Upuść publikację
  • Upuść dystrybutora lub bazę danych dystrybucji
  • Całkowicie wyczyść replikację, jeśli którykolwiek z powyższych kroków nie działa poprawnie
  • Skonfiguruj replikację z kopią zapasową bazy danych
  • Upuszczaj artykuły z replikacji przy użyciu zarówno kreatora, jak i podejścia T-SQL
  • Dodaj nowe artykuły do ​​replikacji za pomocą zarówno kreatora, jak i podejścia T-SQL
  • Dodaj artykuł o procedurze składowanej i przestudiuj różnicę między artykułem dotyczącym tabeli a artykułem o procedurze składowanej

Zrezygnuj z subskrypcji

Aby usunąć dowolną skonfigurowaną replikację, musimy najpierw usunąć subskrypcję.

W programie SSMS połącz się z instancją wydawcy> Replikacja > Publikacje lokalne . Kliknij prawym przyciskiem myszy Subskrypcję> Usuń lub Upuść Subskrypcja:

SQL Server poprosi o potwierdzenie działania:

Kliknij Tak zrezygnować z subskrypcji. To całkowicie usunie subskrypcję.

W mojej obecnej konfiguracji zarówno wydawca, jak i subskrybent znajdują się w tym samym wystąpieniu. W związku z tym nie zostały wysłane żadne żądania połączenia z wystąpieniem subskrybenta w celu sprawdzenia poprawności. W przypadku, gdybyśmy mieli go na innej instancji SQL Server, poprosiłby o połączenie z instancją subskrybenta w celu sprawdzenia poprawności przed usunięciem subskrybenta.

Upuszczanie publikacji wewnętrznie korzysta z sp_droppublication procedury i możemy użyć tej procedury do ręcznego usunięcia publikacji za pomocą podejścia T-SQL

Upuść publikację

Po usunięciu subskrypcji możemy kontynuować i usunąć Publikację . Kliknij prawym przyciskiem myszy AdventureWorks_Pub i wybierz Usuń z menu:

Zobaczysz komunikat z prośbą o potwierdzenie tego działania. Pamiętaj, że zamierzasz usunąć publikację. Jednak wszystkie rekordy, które zostały zreplikowane do bazy danych subskrybentów, nie zostaną usunięte. Będziemy musieli ręcznie usunąć bazę danych, aby wyczyścić te zreplikowane rekordy. Kliknij Tak .

Upuszczenie publikacji wewnętrznie powoduje zastosowanie sp_droppublication procedura.

Upuść dystrybutora lub bazę danych dystrybucji

Wcześniej wspomnieliśmy, że baza danych dystrybucji jest bazą danych systemu. Dlatego nie możemy go usunąć, klikając prawym przyciskiem myszy bazę danych i wybierając opcję usuwania, tak jak w przypadku baz danych użytkowników. Jeśli klikniemy prawym przyciskiem myszy bazę danych dystrybucji, otrzymamy tylko poniższe opcje:

Kiedy musimy usunąć bazę danych dystrybucji, najpierw musimy kliknąć prawym przyciskiem myszy Replikacja węzeł> Wyłącz Publikowanie i dystrybucja .

Otworzy się kreator.

Domyślnie druga opcja (Nie, nadal używaj tego serwera jako wydawcy ) jest wybrane, aby uniknąć przypadkowego upuszczenia wszystkich publikacji na serwer.

W naszym przypadku mamy tylko jedną Publikację i chcielibyśmy posprzątać. Dlatego wybieramy pierwszą opcję – Tak, wyłącz publikowanie na tym serwerze . Spowoduje to usunięcie wszystkich publikacji wraz z subskrypcjami, jeśli nie zostały już usunięte wraz z wyłączeniem Dystrybutora.

Możemy użyć tego kreatora, aby wyczyścić wszystko, jeśli nasz serwer ma skonfigurowaną tylko jedną replikację. Jeśli jednak skonfigurowano wiele replikacji, porzucamy replikację transakcyjną w SQL Server, wykonując standardowe kroki udostępnione powyżej.

Teraz musimy wybrać pierwszą opcję Tak, wyłącz publikowanie na tym serwerze i kliknij Dalej .

W nowym oknie zaznacz obie opcje:Wyłącz publikowanie i dystrybucję i Wygeneruj plik skryptu z krokami…

Aby wygenerować plik skryptu, musisz podać ścieżkę, w której go chcesz przechowywać.

Kliknij Dalej i przejrzyj opcje wybrane w kreatorze. Sprawdź i upewnij się, że wszystko zostało wybrane poprawnie.

Kliknij Zakończ .

Upuszczenie bazy danych dystrybucji wewnętrznie wykorzystuje sp_dropdistributor procedura.

Po wyłączeniu dystrybutora widzimy, że baza danych dystrybucji została usunięta z baz danych systemu.

Całkowicie wyczyść replikację, jeśli którykolwiek z powyższych kroków nie działa prawidłowo

Jeśli subskrypcja lub publikacja zostanie porzucona w jakikolwiek inny sposób, dochodzimy do niespójnego usunięcia replikacji transakcyjnej w SQL Server i otrzymujemy wiele błędów. Aby wyczyścić wszystkie pozostałości subskrypcji lub publikacji, możemy użyć procedury systemowej sp_removedbreplication .

exec_spremovedbreplication

Wykonaj tę procedurę tylko wtedy, gdy po wypróbowaniu wszystkich innych wymienionych podejść nadal występują problemy z replikacją. Zapisana procedura sp_removedbreplication należy wykonać na bazie danych wydawców lub z bazy głównej i użyć poniższego polecenia po zastąpieniu @dbname nazwą bazy wydawców.

exec_spremovedbreplication @dbname

Skonfiguruj replikację za pomocą metody tworzenia kopii zapasowych

Po całkowitym usunięciu replikacji skonfigurujmy ponownie replikację transakcyjną w SQL Server za pomocą podejścia do backupu. Obejmuje następujące kroki:

  • Skonfiguruj dystrybutora
  • Utwórz publikację
  • Zmodyfikuj właściwości publikacji, aby umożliwić tworzenie subskrypcji z pełnej lub różnicowej kopii zapasowej.
  • Weź pełną kopię zapasową wydawcy i przywróć ją jako subskrybent.
  • Skonfiguruj subskrypcję i rozpocznij inicjowanie z kopii zapasowej.

Większość czynności wykonaliśmy już wcześniej podczas konfigurowania replikacji. Dlatego nie będziemy tutaj szczegółowo omawiać tych kroków.

Skonfiguruj dystrybutora i publikację

Zapoznaj się z instrukcjami krok po kroku z poprzedniego artykułu, aby dowiedzieć się, jak skonfigurować dystrybucję i publikację za pomocą kreatora tworzenia publikacji. Aby poznać skrypty T-SQL używane przez kreatora do tworzenia dystrybucji i publikacji, wystarczy wygenerować skrypty do pliku podczas ostatniego kroku kreatora i nie wykonywać skryptów, odznaczając opcję „Utwórz publikację”, jak pokazano poniżej .

Teraz otwórz plik skryptu zapisany w nowym oknie zapytań, aby utworzyć dystrybutora i publikację za pomocą tych skryptów:

Uprzejmie zwróć uwagę na drugi wiersz z komentarzem – stwierdza on, że wszystkie wartości haseł, które wprowadziliśmy w kreatorze, zostały przekonwertowane na NULL lub pusty ciąg ze względów bezpieczeństwa. Spójrz na podświetloną linię z @password =puste wartości. Zastąp to poprawnymi wartościami haseł, zrób to samo dla innych sekcji z hasłami i uruchom skrypt.

Skrypt został pomyślnie wykonany. Widzimy, że wykonanie skryptów utworzyło bazę danych dystrybucji i wszystkie znajdujące się w niej tabele systemowe. Na końcu wiadomości widzimy, że zadanie Log Reader Agent również zostało utworzone i uruchomione.

W razie potrzeby możesz przechowywać wyniki, aby poznać wszystkie tabele, widoki i procedury krytyczne w bazie danych dystrybucji. Te informacje będą pomocne przy dalszym rozwiązywaniu problemów.

Po pomyślnym wykonaniu skryptów możemy zobaczyć bazę danych dystrybucji i pomyślnie utworzoną publikację.

Zmodyfikuj właściwości publikacji, aby umożliwić tworzenie subskrypcji z pełnej lub różnicowej kopii zapasowej

Jeśli rozmiar bazy danych jest bardzo mały, czas wymagany do wysłania początkowej migawki będzie krótszy.

Z drugiej strony, tworzenie replikacji transakcyjnej w SQL Server przy użyciu migawki nie jest wydajne w następujących przypadkach:

  1. Jeśli baza danych jest ogromna (300 GB lub więcej). Czas wymagany do wysłania początkowego zrzutu będzie zbyt długi.
  2. Jeśli subskrybent znajduje się w różnych lokalizacjach o niskiej przepustowości sieci. Następnie początkowy proces tworzenia migawki będzie trwał przez wiele dni.

W ten sposób wykonanie pełnej kopii zapasowej, przeniesienie jej przez FTP lub fizycznie do innej lokalizacji, przywrócenie tej kopii zapasowej i zainicjowanie subskrybenta będą znacznie szybsze w porównaniu z podejściem Snapshot.

Aby umożliwić publikacji do obsługi inicjowania z kopii zapasowych, musimy zmodyfikować jedną z właściwości publikacji. Można to zrobić za pomocą SSMS lub T-SQL.

Podejście SSMS

Kliknij prawym przyciskiem myszy AdventureWorks_pub publikacji i wybierz Właściwości :

Kliknij Opcje subskrypcji :

Ustaw Prawda dla Zezwalaj na inicjowanie z plików kopii zapasowych i kliknij OK . Umożliwi nam to zainicjowanie zarówno pełnej, jak i różnicowej kopii zapasowej.

Podejście T-SQL

W T-SQL możemy wywołać procedurę sp_changepublication aby zmodyfikować tę właściwość.

Skrypt do zmiany tej właściwości znajduje się poniżej:

USE AdventureWorks
GO
exec sp_changepublication @publication = 'AdventureWorks_pub', @property = 'allow_initialize_from_backup', @value = 'true'

Wykonaj pełną kopię zapasową wydawcy i przywróć ją jako subskrybent

Kluczowy czynnik, aby zauważyć, że musimy wykonać pełną kopię zapasową po zaimplementowaniu powyższej właściwości publikacji. Jeśli rozmiar bazy danych jest ogromny, możemy wykonać pełną kopię zapasową i przywrócić ją w trybie ODZYSKIWANIA w instancji subskrybenta, a po dokonaniu powyższej zmiany w konfiguracji wykonać kopię różnicową i przywrócić ją w bazie danych subskrybenta w trybie NORECOVERY.

Skonfiguruj subskrypcję i rozpocznij inicjowanie z kopii zapasowej

Ponownie zapoznaj się z instrukcjami krok po kroku. Musimy wygenerować niezbędne skrypty, ale ich nie wykonywać. Chodzi o to, że zainicjujemy subskrypcję z pełnej lub różnicowej kopii zapasowej używając tylko skryptów T-SQL. Skrypty te stworzyłem podczas tworzenia Subskrypcji ostatnim razem. Zobacz otwarty plik poniżej.

Uwaga :Skrypty do tworzenia Subskrypcji muszą być wykonane z bazy danych Wydawcy. Dlatego otwórz okno Zapytania łączące się z instancją Publisher.

Musimy wprowadzić kilka zmian, aby subskrypcja została zainicjowana z kopii zapasowej:

  • Zmień @sync_type wartość z automatycznego zainicjować z kopią zapasową
  • Podaj poprawne hasła dla tych, które zostały zastąpione wartościami NULL lub pustymi ciągami. Ponieważ korzystam z konta Agent Service na serwerze, nie muszę zmieniać haseł.
  • Dodaj parametry @backupdevicetype i @nazwa_urządzenia_zapasowego i podaj ścieżkę do pełnej lub różnicowej kopii zapasowej na serwerze Publisher (skrypt zostanie na nim wykonany).

Po zakończeniu nasz skrypt będzie wyglądał tak:

Uruchom skrypt, aby zakończyć konfigurację subskrypcji, a otrzymamy pomyślne zakończenie skryptu, jak pokazano poniżej.

Jak wskazuje stan, zadanie agenta dystrybucji SQL Server Agent zostało utworzone i uruchomione podczas tworzenia subskrypcji.

W ten sposób z powodzeniem stworzyliśmy naszą replikację, korzystając z podejścia do tworzenia kopii zapasowych. Teraz możemy zweryfikować dostępną subskrypcję.

Uruchom Monitor replikacji i kliknij prawym przyciskiem myszy Subskrybenta. Wyświetli stan replikacji:

Jak widać, wszystkie dane zostały pomyślnie zainicjowane z kopii zapasowej bez konieczności uruchamiania zadania Snapshot Agent. Ponieważ w bazie danych nie ma żadnych aktywnych transakcji, w tej chwili w Monitorze replikacji pojawia się komunikat „Brak zreplikowanych transakcji”.

Upuść artykuły z replikacji

Po nauczeniu się, jak skonfigurować replikację transakcyjną w SQL Server za pomocą kreatora replikacji lub skryptów T-SQL, możemy teraz sprawdzić, jak usunąć artykuł z replikacji za pomocą obu tych metod.

Korzystanie z kreatora

Kliknij prawym przyciskiem myszy AdventureWorks_pub Publikacja> Właściwości . Kliknij Artykuł aby wyświetlić listę artykułów zawartych w replikacji.

Domyślnie wyświetli listę obiektów bazy danych w formacie NAZWA_OBIEKTU (NAZWA_SCHEMATU). Do celów testowych upuśćmy tabelę Person.ContactType z replikacji.

W tym celu po prostu usuń zaznaczenie pola przed ContactType (Osoba). SQL Server wyświetli ostrzeżenie lub komunikat potwierdzający:

Jak wyjaśniono, jeśli obecnie dostępne są jakiekolwiek migawki, spowoduje to unieważnienie tych migawek z powodu zmian w artykułach.

Ponieważ zainicjalizowaliśmy się za pomocą podejścia do tworzenia kopii zapasowych i nie używaliśmy migawek, możemy bezpiecznie zignorować tę wiadomość i kliknąć Tak aby usunąć ten artykuł tabeli z replikacji. Kliknij OK aby zakończyć usuwanie artykułu z replikacji.

Teraz Person.ContactType tabela jest usuwana z replikacji. Wszelkie zmiany zachodzące na Wydawcy nie zostaną przesłane do bazy Abonentów. Możemy to przetestować, wpisując rekordy INSERT/UPDATE/DELETE w Person.ContactType tabela.

Korzystanie z T-SQL

Innym sposobem jest usunięcie artykułu z replikacji za pomocą sp_droparticle procedura.

USE [AdventureWorks]
GO
EXEC sp_droparticle 
  @publication = N'AdventureWorks_pub', 
  @article = N'ContactType',
  @force_invalidate_snapshot = 1;
GO

Dodaj nowe artykuły do ​​replikacji za pomocą kreatora lub podejścia TSQL

W niektórych przypadkach (np. konserwacja tabel) może być konieczne usunięcie kilku artykułów i dodanie ich z powrotem do replikacji po zakończeniu konserwacji.

Pomyślnie nauczyliśmy się, jak usuwać artykuły z replikacji. Zastanówmy się, jak dodawać nowe artykuły do ​​replikacji. Dodamy Person.ContactType stół które wcześniej usunęliśmy z powrotem do replikacji.

Korzystanie z kreatora

Aby dodać artykuł z tabeli z powrotem do replikacji, kliknij prawym przyciskiem myszy Publikacja > Właściwości > Artykuły . Wyświetli listę artykułów dostępnych w publikacji.

Nie mogliśmy znaleźć Person.ContactType table – ekran wyświetla tylko te tabele, które były częścią Replikacji. Aby zobaczyć wszystkie tabele dostępne w bazie danych wydawców, odznacz Pokaż tylko wybrane artykuły na liście aby wyświetlić wszystkie tabele.

Teraz widzimy Person.ContactType wymienionej tabeli.

Jak wspomnieliśmy wcześniej, wszystkie tabele bez kluczy podstawowych będą miały czerwone kółko ikona wskazująca, że ​​te tabele nie mogą zostać włączone do replikacji ani za pomocą kreatora, ani metody T-SQL.

Sprawdź ConactType (osoba) tabeli, aby dodać go z powrotem do replikacji i kliknij OK .

Tabela zostanie ponownie dodana do replikacji. Jednak musimy wypracować metodę wysłania początkowego zrzutu dla tego nowo dodanego artykułu w tabeli.

Jeśli przeczytałeś ten artykuł do tej pory, zgadłeś go dobrze — po prostu uruchom zadanie agenta migawki, aby wysłać początkową migawkę dla tej tabeli.

Zróbmy to teraz – kliknij prawym przyciskiem myszy Publikacja > wyświetl agenta migawek status.

Kliknij Rozpocznij aby wysłać migawkę kwalifikujących się artykułów. Wyślij te dane do bazy danych Dystrybucji, a na koniec do bazy danych subskrybentów.

Podejście T-SQL

Podobne działania możemy wykonać za pomocą sp_addarticle procedura.

Poniższy skrypt doda artykuły do ​​replikacji.

use [AdventureWorks]
GO
exec sp_addarticle @publication = N'AdventureWorks_pub', @article = N'ContactType', @source_owner = N'Person', @source_object = N'ContactType'
, @type = N'logbased', @description = null, @creation_script = null, @pre_creation_cmd = N'drop', @schema_option = 0x000000000803509F
, @identityrangemanagementoption = N'manual', @destination_table = N'ContactType', @destination_owner = N'Person', @vertical_partition = N'false'
, @ins_cmd = N'CALL sp_MSins_PersonContactType'
, @del_cmd = N'CALL sp_MSdel_PersonContactType'
, @upd_cmd = N'SCALL sp_MSupd_PersonContactType'
GO

Wcześniej zauważyliśmy, jak działa replikacja dla artykułu z tabeli, stosując 3 procedury utworzone w bazie danych subskrybentów do obsługi operacji INSERT/UPDATE i DELETE.

Dzięki podejściu T-SQL wiemy, w jaki sposób odwołuje się do tych procedur. W razie potrzeby możemy zmienić nazwy obiektów, nazwy tabel docelowych lub procedury domyślne. W tym celu wprowadzimy zmiany w sp_addarticle procedura.

UWAGA :Jeśli dokonujemy jakichkolwiek modyfikacji w Replikacji, powinniśmy je wszystkie odpowiednio udokumentować. W przeciwnym razie może to później doprowadzić do katastrofy.

Dodaj artykuł o procedurze składowanej i przestudiuj różnicę między artykułem w tabeli a artykułem o procedurze składowanej

Aby dodać procedurę składowaną do replikacji, musimy przejść do Artykułów i sprawdź wymaganą procedurę składowaną, aby ją zreplikować. To samo możemy zrobić dla Widoków , Wyświetlenia indeksowane lub Funkcje zdefiniowane przez użytkownika również.

Aby dowiedzieć się więcej o różnicach między artykułami w tabeli a widokami/procedury przechowywanej/widokami indeksowanymi/funkcjami zdefiniowanymi przez użytkownika, możemy dodać po jednym z każdego artykułu dla każdej kategorii za pomocą T-SQL:

Dodawanie nowego artykułu procedury przechowywanej do replikacji

use [AdventureWorks]
exec sp_addarticle @publication = N'AdventureWorks_pub', @article = N'uspGetBillOfMaterials', @source_owner = N'dbo'
, @source_object = N'uspGetBillOfMaterials', @type = N'proc schema only', @description = null, @creation_script = null
, @pre_creation_cmd = N'drop', @schema_option = 0x0000000008000001, @force_invalidate_snapshot = 1
, @destination_table = N'uspGetBillOfMaterials', @destination_owner = N'dbo'

Dodawanie nowego artykułu widoku do replikacji

use [AdventureWorks]
exec sp_addarticle @publication = N'AdventureWorks_pub', @article = N'vVendorWithContacts', @source_owner = N'Purchasing'
, @source_object = N'vVendorWithContacts', @type = N'view schema only', @description = null, @creation_script = null, @pre_creation_cmd = N'drop'
, @schema_option = 0x0000000008000001, @destination_table = N'vVendorWithContacts', @destination_owner = N'Purchasing'
GO

Dodawanie nowego artykułu indeksowanego widoku do replikacji

use [AdventureWorks]
exec sp_addarticle @publication = N'AdventureWorks_pub', @article = N'vStateProvinceCountryRegion', @source_owner = N'Person'
, @source_object = N'vStateProvinceCountryRegion', @type = N'indexed view schema only', @description = null, @creation_script = null
, @pre_creation_cmd = N'drop', @schema_option = 0x0000000008000001, @force_invalidate_snapshot = 1
, @destination_table = N'vStateProvinceCountryRegion', @destination_owner = N'Person'

Dodawanie nowego artykułu o funkcji zdefiniowanej przez użytkownika do replikacji

use [AdventureWorks]
exec sp_addarticle @publication = N'AdventureWorks_pub', @article = N'ufnGetStock', @source_owner = N'dbo', @source_object = N'ufnGetStock'
, @type = N'func schema only', @description = null, @creation_script = null, @pre_creation_cmd = N'drop', @schema_option = 0x0000000008000001
, @force_invalidate_snapshot = 1, @destination_table = N'ufnGetStock', @destination_owner = N'dbo'

Używamy sp_addarticle procedura dodawania dowolnego typu artykułu do replikacji z niezbędnymi parametrami wejściowymi i opcjami, zmieniającą zawarty @type parametr.

Możemy również dodać te artykuły do ​​publikacji, klikając prawym przyciskiem myszy Publikacja > Właściwości > Artykuły i dodanie ich do Publikacji.

Właściwości artykułu tabeli

Teraz zmieńmy właściwości artykułu za pomocą Artykułów menu w Publikacji właściwości:

Kliknij nasz ulubiony Person.ContactType tabela> Właściwości artykułu . Będzie możliwość zmiany Właściwości artykułu tylko dla tej Tabeli lub wszystkich Tablic zawartych w Replikacji. Do testu wybieramy Ustaw właściwości artykułu z wyróżnioną tabelą aby wyświetlić właściwości Person.ContactType tabela.

Zobacz wszystkie opcje dostępne dla tej tabeli Artykuł:

Kopiuj obiekty i ustawienia do subskrybenta i Dostawa wyciągów są najważniejszymi ustawieniami dla replikacji. Musimy być bardzo ostrożni, aby zmienić którykolwiek z tych parametrów.

Kliknij format dostawy INSERT\UPDATE\DELETE, aby uzyskać poniższe opcje.

  • Nie replikuj instrukcji INSERT\UPDATE\DELETE – aby dostosować replikację, aby nie wysyłała określonych poleceń do bazy danych subskrybentów
  • Wyciąg INSERT\UPDATE\DELETE – aby wysłać oświadczenie INSERT\UPDATE\DELETE bezpośrednio do Abonenta zamiast odtwarzać dane z dzienników transakcyjnych
  • CALL — Wykonaj wbudowaną procedurę składowaną pokazaną powyżej w sp_addarticle do replikacji danych.
  • XCALL – Wykonaj rozszerzoną procedurę składowaną, aby zreplikować zmiany.

Właściwości artykułu procedury przechowywanej

Kliknij Właściwości artykułu w dowolnej z procedur zapisanych, aby wyświetlić Właściwości

Jedną z kluczowych właściwości procedury składowanej jest opcja Replikuj – zobacz dostępne opcje poniżej:

  • Tylko definicja procedury składowanej – replikuje tylko zmiany struktury DDL procedury składowanej. Jest to domyślna opcja dla każdej procedury składowanej.
  • Wykonywanie procedury przechowywanej – użyj tej opcji, aby zmniejszyć obciążenie replikacją. Wszystkie zmiany wykonuje poprzez Wykonywanie Procedury Zapisanej na Abonencie bez wysyłania poszczególnych poleceń. W następnym artykule omówimy tę funkcję, aby rozwiązać problemy z wydajnością podczas replikacji ogromnych zmian danych.
  • Wykonanie w serializowanej transakcji SP – hybrydowa opcja wyboru Wykonania procedury składowanej tylko wtedy, gdy procedura jest wykonywana w ramach zserializowanej transakcji. W przeciwnym razie byłyby replikowane jako pojedyncze polecenia DML.

Wyświetl właściwości artykułu

Kliknij Właściwości artykułu dla dowolnego widoku, aby uzyskać Właściwości :

Właściwości artykułów w widoku indeksowanym

Kliknij Właściwości artykułu dla dowolnego z widoków indeksowanych dla Właściwości :

Właściwości artykułu funkcji zdefiniowanej przez użytkownika

Kliknij Właściwości artykułu w dowolnej funkcji zdefiniowanej przez użytkownika dla jej właściwości

Właściwości widoków, widoków indeksowanych i funkcji zdefiniowanych przez użytkownika są prawie takie same. Dlatego nie możemy ich zbytnio dostosować.

Wniosek

Dziękujemy za przeczytanie kolejnego, pełnego energii artykułu dotyczącego replikacji. Dzisiaj wyjaśniliśmy szczegóły dotyczące rezygnacji z subskrypcji, publikacji, bazy danych dystrybucji i całkowitego oczyszczenia replikacji, nawet jeśli napotkamy jakiekolwiek problemy.

Skonfigurowaliśmy replikację nowo zainicjowaną z kopii zapasowej i przetestowaliśmy, jak dodawać nowe artykuły do ​​replikacji lub je z niej usuwać. W dalszej pracy z bazami danych, aw szczególności w wyszukiwaniu rozbieżności między nimi, skorzystasz z profesjonalnych narzędzi. Pakiet dbForge Compare dla SQL Server identyfikuje i analizuje wszystkie takie różnice i zgłasza je.

W naszym następnym artykule przyjrzymy się często napotykanym problemom z replikacją i sposobom ich profesjonalnego rozwiązywania.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server, przekonwertować nazwaną instancję na instancję domyślną?

  2. Jak obcinać wszystkie tabele w bazie danych za pomocą TSQL?

  3. Kompletny proces kopiowania tabeli z jednej bazy danych do drugiej (eksport-import) w SQL Server

  4. 5 najważniejszych funkcji, które platforma monitorowania wydajności bazy danych SQL Server musi zapewnić

  5. Jak stworzyć wiele jeden do jednego