Sesje dublowania bazy danych
Dublowanie baz danych występuje w kontekście sesja dublowanie bazy danych.W tym temacie założono, że czytelnik jest obeznany z głównego zobowiązanego, dublowania i role świadka trybów, działania i przełączanie roli w dublowania baz danych.Aby uzyskać więcej informacji, zobacz Omówienie dublowania bazy danych.
Gdy duplikat bazy danych jest gotowy i skonfigurowano wystąpienia serwera, właściciel bazy danych można rozpocząć dublowanie baz danych.Jak najszybciej dublowanie uruchamia, każdy partner zaczyna zachować informacje w swojej bazie danych o stanie bazy danych, jak również innych partnerów i monitor, ewentualne.Informacje o tym stanie pozwala wystąpienia serwera, aby zachować relację, znane jako dublowanie bazy danych sesja.Całej dublowanie bazy danych sesja wystąpienia serwera monitorowania wzajemnie.Informacje o stanie jest utrzymywana aż właściciel bazy danych kończy sesja.Aby uzyskać więcej informacji, zobacz Dublowanie Państwa i Monitorowanie dublowania baz danych.
Na początku sesja, dublowanie bazy danych serwer duplikatu identyfikuje numer sekwencyjny dziennika (LSN) najnowsze dziennika transakcji na bazie dublowania i prosi serwer dublowany dla dziennika transakcji dla wszystkich kolejnych transakcji, jeśli.W odpowiedzi, serwer dublowany wysyła do serwer duplikatu rekordy aktywnego dziennika zgromadzonych od czasu ostatniego dziennika przywrócone do duplikat bazy danych lub wysyłane do serwer duplikatu.Niewysłane dziennika, która została zakumulowana na dysku dziennika dublowana baza danych znany jako wysłać kolejki.
serwer duplikatu Natychmiast zapisuje na dysku, w którym przetrzymywane, dopóki nie zostanie on zastosowany do duplikat bazy danych przychodzących dziennika.Oczekiwanie na dysku dublowanego dziennik jest znany jako ponowne wykonanie kolejki.Kwota unrestored dziennika oczekujących w kolejce ponowne wykonanie jest wskaźnik czas wymagany do praca awaryjna do duplikat bazy danych.Aby uzyskać więcej informacji, zobacz Szacowanie przerwania usługi podczas przełączania roli.
serwer dublowany nadal udostępnić dublowana baza danych klient i połączeń klient.Po uruchamia, dublowanie każdego czas klienta aktualizuje dublowana baza danych na piśmie transakcji do dziennika głównego bazy danych, serwer główny wysyła również tego dziennika rekordu serwer duplikatu.serwer duplikatu natychmiast zapisuje rekord dziennika na dysku jako ostatni rekord w kolejce ponowne wykonanie.
W tle, począwszy od najstarszego rekordu dziennika serwer duplikatu ponawia dziennika na bazie dublowanie rekordu na podstawie, tak szybko jak to możliwe.Ponawianie dziennika polega na stosowaniu rekordów dziennika w kolejce do duplikat bazy danych w kolejności, począwszy od najstarszego rekordu.Każdy rekord dziennika zostanie ponowione raz i tylko raz.Jak serwer duplikatu ponawia dziennik, duplikat bazy danych jest stale wycofywany do przodu.Kiedy serwer dublowany obcina lub zmniejsza w dzienniku dublowana baza danych, serwer duplikatu zmniejsza również dziennika w tym samym punkcie strumień dziennika.
Zazwyczaj ponawianie szybko połowy duplikat bazy danych w odniesieniu do dublowana baza danych.Czy duplikat bazy danych kiedykolwiek całkowicie połowy do dublowana baza danych zależy od trybu działania w sesja.W obszarze tryb synchroniczny, wysokiego bezpieczeństwa serwer dublowany czeka potwierdzić nowych transakcji, dopóki są zapisywane serwer duplikatuna dysku dziennika.Po zgromadzonego dziennika rekordy zostały wysłane do serwer duplikatu, baza danych dublowanie staje się zsynchronizowana z dublowana baza danych.
Podczas sesja Jeśli serwer dublowany nie może wysłać co gromadzone rekordów dziennika rekord natychmiast, zapisuj niewysłane wiadomości dziennika w kolejce wysyłania.W obszarze tryb synchroniczny, wysokiego bezpieczeństwa po synchronizacji, nowy dziennik niewysłane narasta tylko podczas dublowanie jest wstrzymana lub zawieszone.W trybie asynchronicznym o dużej wydajności natomiast niewysłane dziennika narasta zawsze, gdy serwer duplikatu przypada podczas dublowanie, jak również podczas dublowanie jest wstrzymana lub zawieszone.Kwota niewysłane dziennika jest wskaźnikiem o możliwości utraty danych w zdarzenie z serwer dublowany nie powiedzie się.
Ostrzeżenie
Jeśli ponawianie ulegnie awarii, serwer duplikatu wstrzymuje sesja przez wprowadzanie bazy danych do stanu zawieszone.Właściciel bazy danych musi rozpoznać przyczynę niepowodzenia przed wznowieniem sesja.
Sesje równoczesne
Wystąpienie danego serwera mogą uczestniczyć w wielu, równoległych dublowanie bazy danych sesji (raz na dublowany bazy danych) z wystąpień tego samego lub innego serwera.Często wystąpienie serwera służy wyłącznie jako partner lub świadka 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óre sesje i świadka w sesjach innych.Na przykład, rozważmy następujące sesje czterech spośród trzech wystąpień serwera (SSInstance_1, SSInstance_2, i SSInstance_3).Każde wystąpienie serwera służy jako partner w niektóre sesje i świadka w innych:
Wystąpienie serwera |
Sesja bazy danych a |
Sesja bazy danych b |
Sesja bazy danych c |
Sesja bazy danych d |
---|---|---|---|---|
SSInstance_1 |
Monitor |
Partner |
Partner |
Partner |
SSInstance_2 |
Partner |
Monitor |
Partner |
Partner |
SSInstance_3 |
Partner |
Partner |
Monitor |
Monitor |
Następujący rysunek ilustruje dwa wystąpienia serwera, uczestniczącymi jako partnerzy razem w dwie sesje dublowanie.Jedna sesja jest dla bazy danych o nazwie Db_1, i innych sesji dla bazy danych o nazwie Db_2.
Każdy z baz danych jest niezależna od innych.Na przykład wystąpienie serwera może być początkowo serwer duplikatu dla dwóch baz danych.Po awarii jednego z tych baz danych za pośrednictwem, wystąpienie serwera staje się serwer dublowany bazy danych nie powiodło się ponad pozostając serwer duplikatu bazy danych.
Inny przykład rozważyć wystąpienie serwera, który jest serwer dublowany dla dwóch lub więcej baz danych w trybie wysokiego bezpieczeństwa z automatyczna praca awaryjna, jeśli wystąpienie serwera, wszystkich baz danych automatycznie pracy awaryjnej do ich odpowiednich dublowania baz danych.
Podczas ustawiania wystąpienie serwera, aby działać zarówno jako partner i świadka, należy pamiętać, że dublowanie bazy danych końcowy obsługuje zarówno role (Aby uzyskać więcej informacji, zobacz Dublowanie końcowy bazy danych).Ponadto upewnić się, że system ma wystarczających zasób w celu zmniejszenia rywalizacja zasób.
Ostrzeżenie
Ponieważ dublowanego baz danych są niezależne od siebie, baz danych nie praca awaryjna jako grupa.
Wątki utworzone dla sesji dublowania bazy danych
Rodzaje wątków, które tworzy wystąpienie serwera dublowanie bazy danych sesja zależy częściowo dublowania ról, które wykonuje wystąpienie serwera.Danej sesja zawiera niektóre lub wszystkie wątki następujące:
Jeden wątek globalnej łączności dublowanie bazy danych.Ten wątek jest uruchomiony przez Service Broker.
Jeśli wystąpienie serwera działa jako partner dublowanie (czy jest serwer dublowany lub serwer duplikatu):
Jeden wątek na dublowany bazy danych dla zdarzenie przetwarzania.
Jeden wątek na dublowany bazy danych dla zadania asynchroniczne (takich jak wysyłanie dziennika lub zapisu dziennika), które w przeciwnym razie byłyby blok zdarzenie wątku.
Ilekroć wystąpienie działa jako serwer duplikatu:
Jeden wątek Menedżera ponowne wykonanie, która przedstawi w dzienniku ponowne wykonanie, wykonuje strona odczytu z wyprzedzeniem, blokada reacquisition i tak dalej.
W SQL Server Standard, jeden wątek ponowne wykonanie dla duplikat bazy danych, lub w SQL Server przedsiębiorstwa, jeden wątek ponowne wykonanie na duplikat bazy danych, co cztery procesory.Wątki te wykonują ponowne wykonanie rzeczywistego dziennika.
Jeśli wystąpienie działa jako świadka:
- Globalne jeden wątek przetwarzania wiadomości świadka dla dublowanie wszystkie sesje, w których wystąpienie działa jako monitor.
Wymagania wstępne dotyczące bazy danych, dublowanie sesji
Przed rozpoczęciem sesja dublowanie duplikat bazy danych, należy utworzyć właściciel bazy danych lub administrator systemu zestaw punktów końcowych i logowania, a w niektórych przypadkach, utworzenie i zestaw w górę certyfikaty.Aby uzyskać więcej informacji, zobacz Konfigurowanie dublowania baz danych.
Tworzenie minimalny zestaw lustrzany bazy danych wymaga podjęcia pełnej kopia zapasowa dublowana baza danych i jeden dziennik kolejnych kopii zapasowych i przywracanie je zarówno na wystąpienie serwera dublowania, korzystając Z NORECOVERY.Ponadto przed uruchomieniem dublowanie, jeśli po wykonaniu kopia zapasowa dziennika wymagane podejmowane są wszelkie dodatkowe dziennika kopii zapasowych, należy zastosować ręcznie każdej kopia zapasowa dziennika dodatkowe (zawsze korzystając Z NORECOVERY).Po zastosowaniu najnowszej kopia zapasowa dziennika, można uruchomić dublowanie.Aby uzyskać więcej informacji, zobacz Przygotowywanie dublowanie dublowania bazy danych.
Wpływ wstrzymaniem sesji na dziennik główny transakcji
W dowolnym czas, właściciel bazy danych można wstrzymać sesja.Wstrzymywanie zachowuje stan sesja podczas usuwania dublowanie.Po zatrzymaniu sesja serwer dublowany nie wysyła żadnych nowych rekordów dziennika serwer duplikatu.Wszystkie te rekordy pozostają aktywne i gromadzone w dzienniku transakcji dublowana baza danych.Tak długo, jak dublowanie bazy danych sesja pozostaje wstrzymany, dziennika transakcji nie może być obcięta.Dlatego jeśli dublowanie bazy danych wstrzymaniu sesja dla zbyt długo, można uzupełnić dziennika.
Aby uzyskać więcej informacji, zobacz Wstrzymywanie i wznawianie bazy danych dublowanie.
Połączenia klientów
Obsługa klienta połączenia dublowanie bazy danych sesji jest dostarczana przez Microsoft .Dostawca danych netto dla SQL Server.Aby uzyskać więcej informacji, zobacz Łączenie klientów z bazy danych, dublowanie sesji (SQL Server).
Zobacz także