Udostępnij za pośrednictwem


Możliwe błędy podczas dublowania baz danych

Fizyczne, systemu operacyjnego lub SQL Server problemy mogą powodować niepowodzenie w dublowanie bazy danych sesja.dublowanie bazy danych nie regularnie sprawdza składniki, na których opiera się Sqlservr.exe Aby sprawdzić, czy działają poprawnie lub nie powiodło się.Jednakże dla niektórych typów błędów składnik podlegający usterce zgłasza błąd Sqlservr.exe.Błędu zgłoszonego przez inny składnik jest nazywany poważny błąd.Wykrywanie innych błędów, które może przejść niezauważona, dublowania baz danych implementuje własnej czas-out mechanizmu.Podczas dublowania czas-występuje poza dublowania bazy danych zakłada, że błąd wystąpił i deklaruje błąd oprogramowania.

Ważna informacjaWażne:

Błędy w bazach danych innych niż dublowane bazy danych nie są wykrywalne w dublowanie bazy danych sesja.Ponadto awarii dysku danych jest prawdopodobne, aby wykryte, chyba że baza danych zostanie ponownie uruchomiony z powodu awarii dysku danych.

Szybkość wykrywania błędów i dlatego czas reakcji na uszkodzenia, dublowanie sesja zależy czy błąd jest twarde lub miękkie.Twardy błędy, takie jak błędy sieciowe są przekazywane bezzwłocznie.Jednakże w niektórych przypadkach specyficznych dla składnika czas-określonych okresów może opóźnić zgłoszenie twardego błędy.Błędy miękkie, długość dublowanie czas-okresu określa szybkość wykrywania błędów.Domyślnie okres ten wynosi 10 sekund.Jest to zalecane wartości minimalnej.

Awarie, ze względu na błędy twardy

Możliwe przyczyny błędów twardego obejmują (ale nie są ograniczone do) następujące warunki:

  • Połączenie przerwane lub drut

  • Karty sieciowej

  • Zmiana routera

  • Zmiany w zaporze

  • Rekonfiguracja końcowy

  • Utrata dysku, na którym znajduje się dziennik transakcji

  • System operacyjny lub niepowodzenia procesu

Na przykład, gdy dziennik dysk dublowana baza danych przestaje odpowiadać i nie powiedzie się, system operacyjny informuje Sqlservr.exe, który wystąpił poważny błąd.

Niektóre składniki, takie jak składniki sieciowe i niektóre podsystemy We/Wy mają swoje własne czas-wezwaniem do określenia awarii.Takie czas-limity są niezależne od dublowanie baz danych, których nie ma informacji o nich i nie rozpoznaje całkowicie ich zachowanie.W takich przypadkach opóźnienie czasu wydłuża czas między awarii i podczas dublowanie bazy danych wynikowy twardym o błędzie.

Ostrzeżenie

Sprawdzanie błędów tylko aktywne wykonywane dla dublowanie bazy danych występuje błąd oprogramowania przypadkach.Aby uzyskać więcej informacji zobacz "Błędy spowodowane miękkie błędy" w dalszej części tego tematu.

Aby ułatwić interpretację warunków błędów występujących w sieci, należy poprosić inżynier sieci, jakie komunikaty o błędach są wysyłane do portu, gdy połączenie TCP zachodzą następujące zdarzenia:

  • Serwer DNS nie działa.

  • Kable są odłączone.

  • Microsoft System Windows ma zaporę blokującą określonego portu.

  • Aplikacja, która monitoruje port nie powiedzie się.

  • Serwer z systemem Windows jest zmieniana.

  • Ponownego uruchomienia serwera z systemem Windows.

Ostrzeżenie

Dublowanie nie chroni przed problemów specyficznych dla klient dostępu do serwerów.Rozważmy na przykład sprawę obsługi połączeń klient z serwer dublowany przez kartę sieciową publicznych wystąpienie, podczas gdy prywatna adapter interfejs sieciowego obsługuje wszystkie dublowanie ruchu między serwerem wystąpienies.przypadek awarii publicznej adapter sieciowej mogłyby uniemożliwić klientom dostęp do bazy danych, chociaż bazy danych będzie nadal być dublowane.

Awarie, ze względu na błędy miękkie

Warunki, które mogą spowodować dublowanie czas-limity obejmują (ale nie są ograniczone do) następujące:

  • Błędy takie jak TCP łącze sieciowe czas-limity, pakietów porzuconych lub uszkodzone lub pakiety, które są w kolejności niepoprawne.

  • System operacyjny wiszące, serwera lub stanu bazy danych.

  • Windows server limit czasu.

  • Za mało zasobów komputerowych takich jak Procesor lub dysk przeciążenia zapełniać, dziennik transakcji lub w systemie pamięć lub wątków.W tych przypadkach należy zwiększyć czas-okres, zmniejszenia obciążenia lub zmiany sprzętu do obsługi obciążenia.

Mechanizm dublowania limitu czasu

Ponieważ miękkie błędy nie są wykrywalne bezpośrednio przez wystąpienie serwera, błąd oprogramowania może spowodować wystąpienie serwera czekanie w nieskończoność.Aby temu zapobiec, dublowania baz danych implementuje własną czas-out mechanizmu, oparte na każde wystąpienie serwera w sesja dublowania, wysyłając polecenie ping dla każdego otwartego połączenia w stałych odstępach czasu.

Aby połączenie było otwarte, wystąpienie serwera musi otrzymać ping połączenia w limit czasu zdefiniowany plus czas wymagany wysłać jeden więcej ping.Ping podczas odbierania czas-okresu wskazuje, czy połączenie jest wciąż otwarty i komunikują się wystąpienia serwera, nad nim.Po otrzymaniu ping, wystąpienie serwera resetuje jego czas-poza liczników dla tego połączenia.

Jeśli ping nie zostanie odebrany w połączeniu podczas czas-okresu, wystąpienie serwera uważa połączenie ma czasd limit.Zamyka wystąpienie serwera czasd-out połączeń i uchwytów czas-określonych zdarzeń zgodnie z Państwa i tryb działania w sesja.

Nawet jeśli inny serwer faktycznie postępowania poprawnie, czas-out jest uważana za błąd.Jeśli czas-określoną wartość dla sesja jest zbyt krótki na regularne reagowania albo partner fałszywe awarie mogą wystąpić.False błąd występuje, gdy jedno wystąpienie serwera pomyślnie nawiąże innego, którego czas reakcji jest tak powolne, że przed upływem limitu czasu w okresie jego pakiety nie są odbierane.

W trybie wysokiej wydajności sesjach czas-okresu zawsze wynosi 10 sekund.Na ogół jest wystarczająca uniknąć fałszywe awarie.W trybie wysokiego bezpieczeństwa sesji domyślny limit czasu wynosi 10 sekund, ale można zmienić czas trwania.Aby uniknąć fałszywe awarie, zalecane dublowanie czas-okresu zawsze być co najmniej 10 sekund.

Aby zmienić czas-out wartość (tylko w trybie wysokiego bezpieczeństwa)

Aby wyświetlić bieżący czas-określoną wartość

Reagowanie na błąd

Niezależnie od typu błędu wystąpienie serwera, który wykryje błąd odpowiada, odpowiednio, w zależności od roli instancji, tryb działania w sesja i stanu innych połączenia w sesja.Informacje, jakie występuje w przypadku utraty partner, zobacz Synchroniczne bazy danych, dublowanie (w trybie wysokiego bezpieczeństwa) lub Asynchroniczne bazy danych, dublowanie (tryb wysokiej wydajności).