Udostępnij za pośrednictwem


Reconnecting to a Database Mirroring Session

Jeśli ustanowione połączenie z bazą danych sesja dublowanie jakiegoś powodu nie powiedzie się, na przykład z powodu bazą dublowanie pracy awaryjnej, a aplikacja próbuje połączyć się z serwera początkowego, Dostawca dostępu do danych może podjąć próbę ponownego połączenia przy użyciu nazwy partner pracy awaryjnej, przechowywane w pamięci podręcznej klient.Ponowne łączenie nie jest automatycznie, jednak.Aplikacja musi dowiedzą się błędu.Następnie aplikacja musi zamknąć połączenie nie powiodło się i otworzyć nowe połączenie przy użyciu tych samych atrybuty ciąg połączenia.W tym momencie dostawca dostępu do danych przekierowuje połączenia do partner pracy awaryjnej.Jeśli wystąpienie serwera identyfikowane za pomocą tej nazwy jest obecnie serwer główny, zazwyczaj powiedzie się próba połączenia.Jeśli jest niejasne, czy transakcja została zatwierdzona lub jej wycofania, aplikacja musi sprawdzać na stan transakcji, w taki sam sposób, jak podczas ponownego łączenia się z wystąpienie serwera autonomicznego.

Ponowne podłączanie przypomina połączenie początkowe, dla których ciąg połączenia dostarczone nazwę partner pracy awaryjnej.Jeśli pierwsza próba połączenia nie powiedzie się, próby połączenia alternatywne i z powrotem między Nazwa partnera początkowego i nazwa partner pracy awaryjnej, dopóki klient łączy się z serwer główny albo upłynie limit czasu dostawca dostępu do danych.

Uwaga

SQL Server Macierzysty klient sprawdza, czy jest podłączony do obiektem wystąpienie serwera, ale nie, czy to wystąpienie jest partner z wystąpieniem serwera określonego w polu Nazwa partner początkowej ciąg połączenia.

W przypadku połączeń za pomocą protokołu TCP/IP i używa klient systemu Windows XP lub nowszym, Algorytm ponownych prób połączenia określa czas przydzielony na prób połączeń w każdej rundzie.Aby uzyskać więcej informacji zobaczPrzy użyciu słów kluczowych ciąg połączenia z SQL Server Native klient.

Important noteImportant Note:

Jeśli klient zostanie odłączony od bazy danych, Dostawca dostępu do danych nie będzie podejmował próby ponownego połączenia.Klient musi wysłać nowe żądanie połączenia.Ponadto aplikacja zakończy działanie na utraty połączenia, go spowoduje utratę buforowanych partner nazwy.Jeśli połączenie zostało utracone, ponieważ serwer główny stał się niedostępny, to jedyny sposób, że aplikacja może ponownie uzyskać połączenie z serwer dublowany jest podanie nazwy partner pracy awaryjnej w jego ciąg połączenia.

Wpływ przekierowania w aplikacji klienckiej

Po awaryjnym przeniesieniu Dostawca dostępu do danych przekierowuje połączenia do aktualnego wystąpienie serwer główny.Przekierowanie jest jednak przezroczysty dla klientów.Do klient Przekierowanie połączenia jest połączenie z wystąpienie serwera, identyfikowane przez nazwę początkowego partner.Po początkowym partner jest obecnie serwer dublowany, klient może się pojawić podłączanych do serwer dublowany i aktualizowania lustrzana baza danych.W rzeczywistości jednak klient został przekierowany do partner pracy awaryjnej, czyli bieżącej bazy danych głównych, a klient jest aktualizowanie nowych główna baza danych.

Po przekierowywane do partner pracy awaryjnej, klient może wystąpić nieoczekiwane wyniki podczas korzystania z Transact-SQL USE instrukcja, aby użyć innej bazy danych. Może się to zdarzyć, jeśli bieżące wystąpienie serwera głównego (partner pracy awaryjnej) ma inny zestaw baz danych, niż oryginalny serwer główny (wstępne partnerów).