Jeśli przejdę w tryb failover jednej bazy danych, czy inne, które współużytkują ten sam lustrzany punkt końcowy, również przełączy się awaryjnie?

11

Mamy dwie bazy danych skonfigurowane do tworzenia kopii lustrzanych na jednej instancji SQL Server: testową bazę danych i produkcyjną bazę danych. Oba są dublowane na inny serwer przy użyciu dokładnie tych samych punktów końcowych.

Jeśli przejdę do Właściwości bazy danych dla testowej bazy danych i kliknę przycisk „Przełączanie awaryjne”, czy przełączy ona również produkcyjną bazę danych, ponieważ obie bazy danych współużytkują lustrzany punkt końcowy, a ich właściwości Adresy sieciowe serwera są takie same?

wprowadź opis zdjęcia tutaj

Niepokoi mnie to, ponieważ kiedy konfigurowałem dublowanie dla 2. bazy danych, nie musiałem konfigurować niczego nowego. Po prostu wykorzystał wszystkie istniejące informacje.

Jeśli użyję przycisku „Failover” z właściwości bazy danych, czy spowoduje to awarię wszystkich baz danych, które używają tego punktu końcowego, czy tylko konkretnej bazy danych, dla której przeglądam właściwości?

Rachel
źródło

Odpowiedzi:

19

Odpowiedź @ mrdenny jest dokładna, ponieważ awaria jednej bazy danych nie spowoduje awarii wszystkich innych baz danych.

Jednak tylko w celu uzyskania większego przeglądu tego, czym jest punkt końcowy dublowania bazy danych :

Z BOL ,

Zarządzanie połączeniami w Microsoft SQL Server 2005 i późniejszych wersjach opiera się na punktach końcowych. Punkt końcowy to obiekt programu SQL Server, który umożliwia programowi SQL Server komunikowanie się przez sieć. W przypadku kopii lustrzanej bazy danych instancja serwera wymaga własnego, dedykowanego punktu końcowego kopii lustrzanej bazy danych. Wszystkie połączenia dublowania w instancji serwera używają jednego punktu końcowego dublowania bazy danych. Ten punkt końcowy jest specjalnym punktem końcowym używanym wyłącznie do odbierania połączeń dublowania bazy danych z innych instancji serwera.

Aby być bardziej elastycznym, możesz użyć T-sql do ręcznego przełączania awaryjnego:

Wyłącz dublowanie (przerwa dublowanie) na DB dublowania.

ALTER DATABASE <<DB NAME>> SET PARTNER OFF

Ustaw mod odzyskiwania DB na RECOVERY

RESTORE DATABASE <<DB NAME>> WITH RECOVERY

Napraw i osieroconych użytkowników, jeśli korzystasz z uwierzytelniania SQL

EXEC sp_change_users_login Auto_Fix , ‘<<username>>’

EDYTOWAĆ:

Ponieważ używasz trybu wysokiego bezpieczeństwa (zgodnie ze zrzutem ekranu), możesz użyć następujących opcji z głównego serwera

ALTER DATABASE <<DB NAME>> SET PARTNER FAILOVER

W ten sposób następuje odwrócenie ról, a kierunek dublowania jest odwrócony - główny staje się dublowaniem i odwrotnie. Pamiętaj, że LUSTRO nie jest USZKODZONE.

Pamiętaj, że zgodnie z tym artykułem MSDN

Ręczne przełączanie awaryjne można zainicjować tylko z serwera głównego.

Jeśli chcesz zautomatyzować cały tryb failover, zapoznaj się z sekcją Automatyzacja dublowania bazy danych

Kin Shah
źródło
8

Nie, nie będzie. Bazy danych są przełączane awaryjnie niezależnie od siebie. Testowa baza danych nie zawiedzie, baza produkcyjna pozostanie tam, gdzie jest.

mrdenny
źródło