Serwer pracy awaryjnej ma status (Mirror, Disconnected, In recovery), a główny serwer ma status (Principal, Disconnected).
Jaki jest proces ponownego połączenia tych serwerów?
Serwer pracy awaryjnej ma status (Mirror, Disconnected, In recovery), a główny serwer ma status (Principal, Disconnected).
Jaki jest proces ponownego połączenia tych serwerów?
Odpowiedzi:
Czasami ponowne uruchomienie punktu końcowego kopii lustrzanej na głównym serwerze to rozwiązuje.
Aby to zrobić, użyj następującego języka T-SQL.
ALTER ENDPOINT Endpoint_Name STATE = STOPPED
ALTER ENDPOINT Endpoint_Name STATE = STARTED
Aby uzyskać nazwę punktu końcowego.
SELECT * FROM sys.endpoints
WHERE type = 4
Aby uzyskać więcej informacji, zobacz KB 2490051 .
Najpierw spróbuj zachęcić ich do ponownego połączenia za pomocą tej komendy T-SQL na zleceniodawcy:
ALTER DATABASE AdventureWorks2012 SET PARTNER RESUME;
Jeśli to się nie powiedzie, masz problem z komunikacją między zleceniodawcą a lustrem i od tego zaczyna się zabawa. Może to być wszystko - od połączenia IP, przez zabezpieczenia punktów końcowych dublowania po różne metody szyfrowania. Polecam książkę Roberta Davisa Pro SQL Server 2008 Mirroring, jeśli chcesz uzyskać szczegółowe informacje na temat rozwiązywania problemów.
W naszym przypadku używamy uwierzytelniania certyfikatów do łączenia punktów końcowych dublowania, a problem polegał na tym, że wygasł jeden z certyfikatów używanych przez punkty końcowe dublowania.
Możesz sprawdzić datę ważności certyfikatu uczestniczącego w uwierzytelnianiu punktu końcowego, wykonując polecenie
SELECT * FROM sys.certificates
W takim przypadku musisz utworzyć nowe certyfikaty dla tego, co wygasło, a następnie zrób to ALTER ENDPOINT
po ich zaimportowaniu.
Rozwiązałem ten problem w następnych krokach, ponowne uruchomienie punktu końcowego tylko na PODSTAWOWYM nie pomogło
PODSTAWOWE:
SELECT * FROM sys.endpoints WHERE type = 4
ALTER ENDPOINT Mirroring STATE = STOPPED
ALTER ENDPOINT Mirroring STATE = STARTED
Na LUSTERKU:
SELECT * FROM sys.endpoints WHERE type = 4
ALTER ENDPOINT Mirroring STATE = STOPPED
ALTER ENDPOINT Mirroring STATE = STARTED
Powrót na PODSTAWOWE:
ALTER DATABASE PACXDSite SET PARTNER RESUME;
Walizka:
Po uruchomieniu polecenia poniżej na głównym serwerze:
alter database 'Database_Name' set partner off
Po uruchomieniu powyższej komendy twoja baza danych przechodzi w [mirror, disconnected]
stan na serwerze lustrzanym.
Rozkład:
Krok 1: Uruchom poniżej zapytania w lustrze
exec sp_resetstatus 'Database_Name'
Krok 2: Po uruchomieniu poniżej polecenia twoja baza danych będzie dostępna.
restore database 'Database_Name' with recovery
Uwaga: odzyskanie zajmie trochę czasu.
Jeśli „WZNÓW PARTNERA” nie działa
ALTER DATABASE AdventureWorks2016 SET PARTNER RESUME;
Zerwałbym kopię lustrzaną dla tych baz danych i ponownie ją skonfigurowałem.
- KROK 1 NA GŁÓWNYM, zniszcz lustro dla bazy danych
ALTER DATABASE AdventureWorks2016 SET PARTNER OFF;
- KROK 2 NA LUSTRZE, zniszcz lustro dla bazy danych
ALTER DATABASE AdventureWorks2016 SET PARTNER OFF;
- KROK 3 NA LUSTERKU
RESTORE LAST FULL BACKUP DATABASE WITH NO RECOVERY
RESTORE TRAN BACKUP DATABASE WITH NO RECOVERY
- KROK 4 NA LUSTERKU
ALTER DATABASE AdventureWorks2016 SET PARTNER = 'TCP://PRINCIPAL.MyDomain.COM:5022';
- KROK 5 NA GŁÓWNYM
ALTER DATABASE AdventureWorks2016 SET PARTNER = 'TCP://MIRROR.MyDomain.COM:5022';
- KROK 6 NA GŁÓWNYM, jeśli ŚWIADEK został już skonfigurowany
ALTER DATABASE AdventureWorks2016 SET WITNESS = 'TCP://WITNESS.MyDomain.COM:5022';
Warto wspomnieć, że wszystkie powyższe czynności można wykonać w godzinach pracy, ponieważ główna baza danych będzie zawsze dostępna online.