Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:Program SQL Server w systemie Windows
Konfigurowanie replikacji programu SQL Server i zawsze włączonych grup dostępności obejmuje siedem kroków. Każdy krok został opisany bardziej szczegółowo w poniższych sekcjach.
1. Konfigurowanie publikacji i subskrypcji bazy danych
Konfigurowanie dystrybutora
Nie można umieścić bazy danych dystrybucji w grupie dostępności z programem SQL Server 2012 i programem SQL Server 2014. Umieszczenie bazy danych dystrybucji w grupie dostępności jest obsługiwane w programie SQL 2016 i nowszych, z wyjątkiem baz danych dystrybucji używanych w topologii scalania, dwukierunkowej lub równorzędnej replikacji. Aby uzyskać więcej informacji, zobacz Konfigurowanie dystrybucji replikacji bazy danych w grupie dostępności Always On.
Skonfiguruj dystrybucję w dystrybutorze. Jeśli procedury składowane są używane do konfiguracji, uruchom
sp_adddistributorUżyj parametru @password, aby ustalić hasło, które będzie używane, gdy zdalny wydawca łączy się z dystrybutorem. Hasło będzie również potrzebne w każdym zdalnym wydawcy podczas konfigurowania zdalnego dystrybutora.USE master; GO EXECUTE sys.sp_adddistributor @distributor = 'MyDistributor', @password = '**Strong password for distributor**';Utwórz bazę danych dystrybucji w dystrybutorze. Jeśli procedury składowane są używane do konfiguracji, uruchom
sp_adddistributiondbUSE master; GO EXECUTE sys.sp_adddistributiondb @database = 'distribution', @security_mode = 1;Skonfiguruj wydawcę zdalnego. Jeśli procedury składowane są używane do konfigurowania dystrybutora, uruchom
sp_adddistpublisherParametr @security_mode służy do określenia, w jaki sposób procedura składowana weryfikacji wydawcy, uruchamiana przez agentów replikacji, łączy się z bieżącym serwerem głównym. Jeśli ustawiono wartość 1, użyte zostanie uwierzytelnianie systemu Windows do nawiązania połączenia z bieżącym podstawowym. W przypadku ustawienia wartości 0 uwierzytelnianie programu SQL Server jest używane z określonymi wartościami @login i @password . Podany login i hasło muszą być prawidłowe w każdej replice pomocniczej, aby procedura składowana walidacji pomyślnie nawiązała połączenie do tej repliki.Uwaga / Notatka
Jeśli jakikolwiek zmodyfikowany agent replikacji jest uruchamiany na komputerze innym niż dystrybutor, użycie uwierzytelniania systemu Windows dla połączenia z serwerem podstawowym będzie wymagać skonfigurowania uwierzytelniania Kerberos na potrzeby komunikacji między komputerami hosta repliki. Użycie logowania SQL Server do połączenia z obecnym głównym nie będzie wymagało uwierzytelniania Kerberos.
USE master; GO EXECUTE sys.sp_adddistpublisher @publisher = 'AGPrimaryReplicaHost', @distribution_db = 'distribution', @working_directory = '\\MyReplShare\WorkingDir', @login = 'MyPubLogin', @password = '**Strong password for publisher**';
Aby uzyskać więcej informacji, zobacz sp_adddistpublisher.
Skonfiguruj wydawcę u pierwotnego wydawcy
Konfigurowanie dystrybucji zdalnej. Jeśli procedury składowane są używane do konfigurowania wydawcy, uruchom
sp_adddistributorOkreśl tę samą wartość dla @password jaką użyto, gdysp_adddistrbutorbył uruchamiany u dystrybutora, ażeby skonfigurować dystrybucję.EXECUTE sys.sp_adddistributor @distributor = 'MyDistributor', @password = 'MyDistPass';Włącz bazę danych na potrzeby replikacji. Jeśli procedury składowane są używane do konfigurowania publikatora, uruchom polecenie
sp_replicationdboptionJeśli dla bazy danych należy skonfigurować zarówno replikację transakcyjną, jak i scalaną, obie muszą być włączone.USE master; GO EXECUTE sys.sp_replicationdboption @dbname = 'MyDBName', @optname = 'publish', @value = 'true'; EXECUTE sys.sp_replicationdboption @dbname = 'MyDBName', @optname = 'merge publish', @value = 'true';Utwórz publikację replikacji, artykuły i subskrypcje. Aby uzyskać więcej informacji na temat konfigurowania replikacji, zobacz Publikowanie danych i obiektów bazy danych.
2. Konfigurowanie grupy dostępności
W docelowym serwerze głównym utwórz grupę dostępności z opublikowaną (lub do opublikowania) bazą danych jako bazą członkowską. Jeśli korzystasz z Kreatora grupy dostępności, możesz zezwolić kreatorowi na początkową synchronizację pomocniczych baz danych repliki lub ręcznie przeprowadzić inicjowanie przy użyciu kopii zapasowej i przywracania.
Utwórz odbiornik DNS dla grupy dostępności, której agenci replikacji będą używać do nawiązania połączenia z aktualnym serwerem głównym. Określona nazwa nasłuchującego będzie używana jako cel przekierowania dla oryginalnej pary wydawcy i opublikowanej bazy danych. Jeśli na przykład używasz języka DDL do skonfigurowania grupy dostępności, można użyć następującego przykładu kodu do określenia odbiornika grupy dostępności dla istniejącej grupy dostępności o nazwie MyAG:
ALTER AVAILABILITY GROUP 'MyAG'
ADD LISTENER 'MyAGListenerName' (WITH IP (('10.120.19.155', '255.255.254.0')));
Aby uzyskać więcej informacji, zobacz Tworzenie i konfigurowanie grup dostępności (SQL Server).
3. Upewnij się, że wszystkie hosty repliki pomocniczej są skonfigurowane do replikacji
Na każdym hoście repliki pomocniczej sprawdź, czy program SQL Server został skonfigurowany do obsługi replikacji. Następujące zapytanie można uruchomić na każdym hoście repliki pomocniczej, aby określić, czy jest zainstalowana replikacja:
USE master;
GO
DECLARE @installed AS INT;
EXECUTE @installed = sys.sp_MS_replication_installed;
SELECT @installed;
Jeśli @installed ma wartość 0, należy dodać replikację do instalacji programu SQL Server.
4. Skonfiguruj hosty replik pomocniczych jako wydawców replikacji
Replika pomocnicza nie może działać jako wydawca ani powtórny wydawca replikacji, ale replikacja musi być skonfigurowana tak, aby replika pomocnicza mogła przejąć funkcję po awarii systemu. W dystrybutorze skonfiguruj dystrybucję dla każdego hosta repliki wtórnej. Określ tę samą bazę danych dystrybucji i katalog roboczy, jak określono podczas dodawania oryginalnego wydawcy do dystrybutora. Jeśli używasz procedur składowanych do konfigurowania dystrybucji, użyj polecenia sp_adddistpublisher , aby skojarzyć wydawców zdalnych z dystrybutorem. Jeśli @login i @password były używane dla oryginalnego wydawcy, określ te same wartości dla każdego podczas dodawania hostów repliki pomocniczej jako wydawców.
EXECUTE sys.sp_adddistpublisher
@publisher = 'AGSecondaryReplicaHost',
@distribution_db = 'distribution',
@working_directory = '\\MyReplShare\WorkingDir',
@login = 'MyPubLogin',
@password = '**Strong password for publisher**';
Na każdym hoście repliki pomocniczej skonfiguruj dystrybucję. Zidentyfikuj dystrybutora oryginalnego wydawcy jako zdalnego dystrybutora. Użyj tego samego hasła, które było używane, kiedy sp_adddistributor był uruchamiany pierwotnie przez dystrybutora. Jeśli procedury składowane są używane do konfigurowania dystrybucji, parametr @passwordsp_adddistributor jest używany do określania hasła.
EXECUTE sp_adddistributor
@distributor = 'MyDistributor',
@password = '**Strong password for distributor**';
Na każdym hoście repliki wtórnej upewnij się, że subskrybenci push publikacji bazy danych są wyświetlani jako serwery połączone. Jeśli procedury składowane są używane do konfigurowania wydawców zdalnych, użyj polecenia sp_addlinkedserver, aby dodać subskrybentów (jeśli jeszcze nie istnieją) jako serwery połączone z wydawcami.
EXECUTE sys.sp_addlinkedserver @server = 'MySubscriber';
5. Przekieruj oryginalnego wydawcę do nazwy listenera AG
W dystrybutorze, w bazie danych dystrybucji, uruchom procedurę składowaną sp_redirect_publisher, aby skojarzyć oryginalnego wydawcę i opublikowaną bazę danych z nazwą listenera grupy dostępności.
USE distribution;
GO
EXECUTE sys.sp_redirect_publisher
@original_publisher = 'MyPublisher',
@publisher_db = 'MyPublishedDB',
@redirected_publisher = 'MyAGListenerName';
6. Uruchom procedurę weryfikacji replikacji, aby zweryfikować konfigurację
W dystrybutorze w bazie danych dystrybucji uruchom procedurę sp_validate_replica_hosts_as_publishers składowaną, aby sprawdzić, czy wszystkie hosty repliki są teraz skonfigurowane jako wydawcy opublikowanej bazy danych.
USE distribution;
GO
DECLARE @redirected_publisher AS sysname;
EXECUTE sys.sp_validate_replica_hosts_as_publishers
@original_publisher = 'MyPublisher',
@publisher_db = 'MyPublishedDB',
@redirected_publisher = @redirected_publisher OUTPUT;
Procedura sp_validate_replica_hosts_as_publishers składowana powinna zostać uruchomiona z identyfikatora logowania z wystarczającą autoryzacją na każdym hoście repliki grupy dostępności, aby wykonać zapytanie o informacje o grupie dostępności. W przeciwieństwie do sp_validate_redirected_publisher, używa poświadczeń obiektu wywołującego i nie korzysta z identyfikatora logowania przechowywanego w msdb.dbo.MSdistpublishers, aby łączyć się z replikami grupy dostępności.
Błąd podczas sprawdzania poprawności hostów replik pomocniczych
sp_validate_replica_hosts_as_publishers Zawodzi z następującym błędem podczas weryfikacji sekundarnych hostów replik, które nie zezwalają na dostęp do odczytu lub wymagają określenia intencji odczytu.
Msg 21899, poziom 11, stan 1, procedura
sp_hadr_verify_subscribers_at_publisher, wiersz 109Kwerenda u przekierowanego wydawcy "MyReplicaHostName" w celu ustalenia, czy istnieją wpisy sysserver dla subskrybentów oryginalnego wydawcy "MyOriginalPublisher", nie powiodła się z powodu błędu "976". Komunikat o błędzie: "Błąd 976, poziom 14, stan 1, komunikat: docelowa baza danych, "MyPublishedDB", jest częścią grupy dostępności i obecnie nie jest dostępna dla zapytań." Przenoszenie danych jest zawieszone lub replika dostępności nie jest włączona na potrzeby dostępu do odczytu. Aby zezwolić na dostęp tylko do odczytu do tych i innych baz danych w grupie dostępności, włącz dostęp do odczytu do co najmniej jednej pomocniczej repliki dostępności w grupie. Aby uzyskać więcej informacji, zobacz instrukcję ALTER AVAILABILITY GROUP w książkach programu SQL Server Online.
Napotkano co najmniej jeden błąd weryfikacji wydawcy dla hosta repliki "MyReplicaHostName".
Jest to oczekiwane zachowanie. Należy sprawdzić obecność wpisów serwera subskrybenta na tych hostach wtórnej repliki, poprzez bezpośrednie wysyłanie zapytań o wpisy serwera sysserver na hoście.
7. Dodaj wydawcę źródłowego do Monitora Replikacji
W każdej replice grupy dostępności należy dodać oryginalnego wydawcę do monitora replikacji.
Powiązane zadania
Replication
Tworzenie i konfigurowanie grupy dostępności
- Użyj Kreatora Grup Dostępności (SQL Server Management Studio)
- Użyj okna dialogowego Nowa Grupa Dostępności (SQL Server Management Studio)
- Tworzenie grupy dostępności (Transact-SQL)
- Tworzenie grupy dostępności (SQL Server PowerShell)
- Określ adres URL punktu końcowego podczas dodawania lub modyfikowania repliki dostępności (SQL Server)
- Tworzenie punktu końcowego mirroringu bazy danych dla Always On Availability Groups (SQL Server PowerShell)
- Dołączanie repliki pomocniczej do grupy dostępności (SQL Server)
- Ręczne przygotowywanie pomocniczej bazy danych dla grupy dostępności (SQL Server)
- Dołączanie pomocniczej bazy danych do grupy dostępności (SQL Server)
- Tworzenie lub konfigurowanie nasłuchiwacza grupy dostępności (SQL Server)