Ponownie podłącz serwer dublowania SQL Server 2008 R2

10

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?

koń bez imienia
źródło
Oto powiązane pytanie, które wygląda bardzo podobnie do tego. Spójrz i sprawdź, czy to pomaga: Łamanie i przywracanie kopii lustrzanej Oto kilka szybkich kroków, jak wstrzymać lub wznowić kopię lustrzaną bazy danych Jeśli nadal masz problemy po przeczytaniu tych list, zaktualizuj swój post za pomocą tego, co wszyscy próbowali i stamtąd pójdziemy.
Aaron,

Odpowiedzi:

6

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 .

dezdez
źródło
1
Musiałem zrestartować punkt końcowy na serwerze lustrzanym, ponieważ KB sugeruje jako drugą opcję.
Jan Zahradník,
4

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.

Brent Ozar
źródło
2

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 ENDPOINTpo ich zaimportowaniu.

Steve Dubrick
źródło
1

Rozwiązałem ten problem w następnych krokach, ponowne uruchomienie punktu końcowego tylko na PODSTAWOWYM nie pomogło

  1. PODSTAWOWE:

    SELECT * FROM sys.endpoints WHERE type = 4
    
    ALTER ENDPOINT Mirroring STATE = STOPPED
    
    ALTER ENDPOINT Mirroring STATE = STARTED
  2. Na LUSTERKU:

    SELECT * FROM sys.endpoints WHERE type = 4
    
    ALTER ENDPOINT Mirroring STATE = STOPPED
    
    ALTER ENDPOINT Mirroring STATE = STARTED
  3. Powrót na PODSTAWOWE:

    ALTER DATABASE PACXDSite SET PARTNER RESUME;
AI
źródło
0

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.

Vijay Mane DBA
źródło
To sprawia, że ​​lustro jest całkowicie odłączone i musisz ponownie ustanowić kopię lustrzaną
Alexey F
0

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.

Cozzaro Nero
źródło