Database Mirroring Sessions

Dublowanie bazy danych występuje w kontekście sesja dublowania bazy danych.W tym temacie zakłada się, że jest zaznajomiony z głównych, dublowania i obecności ról, działających z trybów i roli przełączanie w dublowanie bazy danych.Aby uzyskać więcej informacji zobaczDatabase Mirroring Overview.

Podczas lustrzana baza danych jest gotowy i wystąpienia serwera są skonfigurowane, właściciel bazy danych można uruchomić dublowanie bazy danych.Tak szybko, jak dublowanie zostanie uruchomiony, poszczególnych partner rozpoczyna się informacje o stanie w swojej bazie danych dotyczących bazy danych, a także innych partner i dowód, jeśli istnieje.Informacje o tym stanie pozwala wystąpienia serwera, aby zachować relację, znane jako dublowanie bazy danych sesja.Wystąpienia serwera całej bazy danych dublowanie sesja monitorować sobie nawzajem.Informacje o stanie jest przechowywana, dopóki właścicielem bazy danych kończy sesja.Aby uzyskać więcej informacji zobacz Mirroring States i Monitoring Database Mirroring.

Na początku sesja lustrzana baza danych serwer dublowany identyfikuje numer sekwencyjny dziennika (LSN) najnowsze dziennik transakcji na lustrzana baza danych i żąda od serwer główny dla dziennik transakcji dla wszystkich kolejnych transakcji, jeśli istnieje.W odpowiedzi głównych serwer wysyła do serwer dublowany żadnych rekordów aktywnego dziennika zakumulowane od ostatniego dziennika przywrócone do lustrzana baza danych lub wysyłany do serwer dublowany.Niewysłane dziennika, która została zakumulowana na dysku dziennika głównego bazy danych jest znany jako Wysyłanie kolejki.

serwer dublowany natychmiast zapisuje przychodzące dziennika na dysku, w którym przechowywane, dopóki nie zostanie ono zastosowane do lustrzana baza danych.W dzienniku oczekiwanie na dysku tego woluminu dublowanego jest znany jako ponowne wykonanie kolejki.Ilość dziennika unrestored oczekujących w kolejce ponowne wykonanie oznacza czas wymagany do praca awaryjna do lustrzana baza danych.Aby uzyskać więcej informacji zobaczEstimating the Interruption of Service During Role Switching.

Serwer główny w dalszym ciągu w celu udostępnienia główna baza danych klientów i połączeń klient.Po dublowanie jest uruchamiana, za każdym razem, klient aktualizacji główna baza danych na zapisywanie transakcji do dziennika głównego bazy danych, serwer główny wysyła również tego dziennika rekordów serwer dublowany.serwer dublowany natychmiast zapisuje rekord dziennika na dysku jako ostatni rekord w kolejce ponowne wykonanie.

W tle, począwszy od najstarszego rekordu dziennika serwer dublowany Wykonuje ponownie dziennika do lustrzana baza danych rekordu przez rekordu, tak szybko jak to możliwe.Ponawianie dziennika polega na zastosowaniu rekordów dziennika w kolejce do lustrzana baza danych w kolejności, począwszy od najstarszego rekordu.Każdy rekord dziennika jest ponowione raz i tylko jeden raz.Jak serwer dublowany ponawia w dzienniku, lustrzana baza danych jest stale wycofywany do przodu.Gdy serwer główny obcina lub zmniejsza dziennika dla bazy danych głównych, serwer dublowany również zmniejsza dziennika w tym samym punkcie w strumieniu dziennika.

Zazwyczaj ponawianie szybko połowy lustrzana baza danych w odniesieniu do główna baza danych.lustrzana baza danych do tej pory całkowicie połowy główna baza danych zależy od trybu działania w sesja.W trybie synchronicznym, wysokiego bezpieczeństwa czeka serwer główny o potwierdzenie nowych transakcji, dopóki nie są zapisywane serwer dublowany dysku dziennika.Po rekordów dziennika zakumulowane zostały wysłane do serwer dublowany, lustrzana baza danych staje się zsynchronizowane z główna baza danych.

W trakcie sesja w przypadku serwer główny nie można wysłać natychmiast, każdy rekord dziennika rekordów dziennika niewysłane gromadzone w kolejce wysyłania.Sumuje w trybie synchronicznym, wysokiego bezpieczeństwa, po synchronizacji, nowy dziennik niewysłane poszczególnych tylko podczas dublowanie jest wstrzymana lub zawieszony.Sumuje w trybie asynchronicznym, bardzo wydajny, natomiast nie wysłane dziennika poszczególnych za każdym razem, gdy serwer dublowany przypada podczas dublowanie, jak również podczas dublowanie jest wstrzymana lub zawieszony.Kwota niewysłane dziennika jest wskaźnikiem utraty danych możliwe w zdarzenie nie działa serwer główny.

Uwaga

Jeśli ponawianie nie powiedzie się, serwer dublowany wstrzymuje sesja przez umieszczenie w stanie SUSPENDED bazy danych.Właściciel bazy danych musi rozpoznać przyczyny niepowodzenia przed wznowieniem tej sesja.

Sesje równoczesne

Wystąpienie danego serwera może uczestniczyć w wielu, współbieżnych dublowanie bazy danych sesji (raz na dublowane bazy danych) z wystąpień tego samego lub innego serwera.Często, wystąpienie serwera służy wyłącznie jako partner ściągania lub dowód we wszystkich jego dublowanie bazy danych sesji.Jednakże ponieważ każda sesja jest niezależna od innych sesji, wystąpienie serwera może działać jako partner w niektórych sesjach, jak i dowód w sesjach innych.Na przykład należy rozważyć następujące cztery sesje między serwerem trzy wystąpienia (SSInstance_1, SSInstance_2, a SSInstance_3). Każde wystąpienie serwera służy jako partner w niektórych sesjach, jak i dowód w innych:

Wystąpienie serwera

Sesja A bazy danych

Sesja bazy danych B

Sesja bazy danych C

Sesja bazy danych D

SSInstance_1

Dowód

Partner

Partner

Partner

SSInstance_2

Partner

Dowód

Partner

Partner

SSInstance_3

Partner

Partner

Dowód

Dowód

Na poniższym rysunku pokazano dwa wystąpienia serwera, które uczestniczą jako partnerzy w dwóch sesji dublowanie.Jedna sesja jest w bazie danych o nazwie Db_1i innych sesji są przeznaczone dla bazy danych o nazwie Db_2.

Two server instances in two concurrent sessions

Każdy z baz danych jest niezależna od innych.Na przykład wystąpienie serwera może być początkowo serwer dublowany dwie bazy danych.Jeśli za pośrednictwem jednego z tych baz danych nie powiedzie się, staje się wystąpieniem serwera serwer główny nie powiodło się — w bazie danych, pozostając serwer dublowany dla drugiej bazy danych.

Inny przykład należy wziąć pod uwagę wystąpienie serwera, który jest serwerem głównym dla dwóch lub więcej baz danych, uruchomiony w trybie wysokiego bezpieczeństwa z automatyczna praca awaryjna, jeśli wystąpienie serwera zawiedzie, wszystkie bazy danych automatycznie pracy awaryjnej do ich odpowiednich dublowania baz danych.

Podczas ustawiania wystąpienie serwera, aby działać zarówno jako partner ściągania i świadka, upewnij się, że dublowanie bazy danych punkt końcowy obsługuje zarówno role (Aby uzyskać więcej informacji, zobacz Database Mirroring Endpoint). Ponadto upewnij się, że system ma wystarczających zasób, aby zmniejszyć spór o zasoby.

Uwaga

Ze względu na to, dublowane baz danych są niezależne od siebie, jak grupa baz danych nie mogą przejść praca awaryjna.

Utworzone dla sesja dublowanie bazy danych wątków

Rodzaje wątków, które tworzy wystąpienie serwera dublowanie bazy danych sesja zależy częściowo od ról dublowania, który wykonuje dane wystąpienie serwera.Danej sesja zawiera niektóre lub wszystkie wątki następujące:

  • Jeden wątek globalnego dla dublowanie bazy danych komunikacji.Ten wątek jest uruchomiony przez usługa Broker.

  • Jeśli wystąpienie serwera działa jako partner dublowanie (czy jest serwer główny lub serwer dublowany):

    • Jeden wątek na dublowane bazy danych dla przetwarzania zdarzeń.

    • Jeden wątek na dublowane bazy danych dla asynchronicznego zadań (takich jak wysyłanie dziennika lub zapisu dziennika), które w przeciwnym razie zablokowanie wątku zdarzenie.

  • Za każdym razem, gdy wystąpienie działa jako serwer wstecznego:

    • Jeden wątek Menedżera ponowne wykonanie, który przesyła ponowne wykonanie w dzienniku, wykonuje strona odczytu z wyprzedzeniem, reacquisition blokada i tak dalej.

    • W SQL Server Standardowe, jeden wątek na lustrzana baza danych lub w ponawianie SQL Server Flaga, jeden ponownie wątku dla lustrzana baza danych dla wszystkich czterech procesorów. Wątki te należy wykonać ponowne wykonanie rzeczywistego dziennika.

  • Jeśli wystąpienie działa jako świadka:

    • Jeden wątek globalnych do przetwarzania wiadomości dowód dublowanie wszystkich sesji pełni wystąpienie jako dowód.

Wymagania wstępne dotyczące bazy danych lustrzane sesja

Przed rozpoczęciem sesja dublowanie, właściciel bazy danych lub administrator systemu musi utworzyć bazę danych dublowanie, konfigurowania punktów końcowych i logowania i, w niektórych przypadkach należy utworzyć i skonfigurować certyfikaty.Aby uzyskać więcej informacji zobaczSetting Up Database Mirroring.

Tworzenie minimalny zestaw lustrzana baza danych wymaga podjęcia pełnej kopia zapasowa dziennika główna baza danych i jednym kolejnych dziennika kopia zapasowa dziennika i przywracanie je na wystąpienie serwer dublowany, korzystając Z NORECOVERY.Ponadto przed przystąpieniem do dublowanie, jeżeli po wykonaniu kopia zapasowa dziennika dziennika wymagane są kopie zapasowe wszelkich dodatkowych dziennika, należy ręcznie zastosować każdej kopia zapasowa dziennika dziennika dodatkowe (zawsze przy użyciu WITH NORECOVERY).Po zastosowaniu najnowszej kopia zapasowa dziennika dziennika, można uruchomić, dublowanie.Aby uzyskać więcej informacji zobaczPreparing a Mirror Database for Mirroring.

Wpływ wstrzymywanie sesja na dziennik główny transakcji

W dowolnym momencie właściciel bazy danych można wstrzymać sesja.Wstrzymywanie zachowuje stan sesja podczas usuwania dublowanie.Po zatrzymaniu sesja serwer główny nie wysyła żadnych nowych rekordów dziennika serwer dublowany.Wszystkie te rekordy są aktywne i kumulują się dziennik transakcji główna baza danych.Tak długo, jak długo dublowanie bazy danych sesja pozostaje ono wstrzymane, nie mogą zostać obcięte w dzienniku transakcji.Dlatego jeśli dublowanie bazy danych sesja została wstrzymana na zbyt długo, można uzupełnić w dzienniku.

Aby uzyskać więcej informacji zobaczPausing and Resuming Database Mirroring.

Połączenia klient

Obsługa połączenia klient dublowanie Sesje bazy danych jest zapewniana przez Microsoft Dostawca danych .NET dla SQL Server. Aby uzyskać więcej informacji zobaczConnecting Clients to a Mirrored Database.