Udostępnij za pośrednictwem


Automatic Page Repair During a Database Mirroring Session

Począwszy od SQL Server 2008, dublowanie partner bazy danych próbuje automatyczne odzyskanie uszkodzonych stron do dublowanie bazy danych przez przetłumaczenie niektórych rodzajów błędów, które uniemożliwiają czytanie strona danych. partner, który nie może odczytać strona żąda świeżej kopii od partner.Jeśli to żądanie zakończy się pomyślnie, nie można odczytać strona zastępuje kopii, którą zwykle usuwa ten błąd.

Uwaga

Naprawa strona przez partnerzy dublowanie bazy danych różni się od DBCC naprawy.Wszystkie dane są zachowywane przez naprawy strona.Z drugiej strony poprawianie błędów przy użyciu opcji REPAIR_ALLOW_DATA_LOSS DBCC może potrzebować niektórych stron i w związku z tym dane, można usunąć.

Typy błędów, które powodować automatyczne podjąć próbę naprawy strona

dublowanie bazy danych strona automatycznej naprawy próbuje naprawić tylko strona w pliku danych na którym powiodła się operacja na jeden z błędów wymienionych w poniższej tabela.

Numer błędu

Description

Próba wystąpienia, które powodują automatyczne strona naprawy

823

Tylko wtedy, gdy system operacyjny wykonywane na danych wyboru cyklicznej kontroli redundancji (CRC), które nie są podejmowane czynności.

ERROR_CRC.Wartość systemu operacyjnego dla tego błędu jest 23.

824

Błędy logiczne.

Błędy logiczne dane, takie jak poszarpane zapisu lub strona złe suma kontrolna.

829

strona został oznaczony jako przywracanie czasu.

Wszystkie.

Aby wyświetlić ostatnie 823 błędów CRC i 824 błędów, zobacz suspect_pages tabelamsdb bazy danych.

Nie strona typy czy może być naprawione automatycznie

Następujące typy stron formantu nie można naprawić przez dublowanie bazy danych:

  • Strona nagłówka pliku (identyfikator strony 0).

  • Strona 9 (strona uruchamiania bazy danych).

  • Podział strony: Globalne stron tablicy alokacji (GAM), udostępnione tablicy alokacji globalnego (SGAM) stron i stron Strona wolnego miejsca (PFS).

Obsługa błędów We/Wy główna baza danych

W bazie danych głównych naprawy strona zostanie podjęta próba tylko wtedy, gdy węzeł jest w stanie SYNCHRONIZED i serwer główny nadal jest wysyłany do serwer dublowany rekordów dziennika.Podstawowe sekwencji akcji w próba automatycznego strona naprawa są następujące:

  1. Gdy wystąpi błąd odczytu strona danych główna baza danych, serwer główny wstawia wiersz w suspect_pages tabela ze stanem odpowiednie błąd.Serwer główny następnie żąda kopii strona z serwer dublowany.Żądanie określa identyfikator strona i LSN, która aktualnie znajduje się na końcu Opróżniono dziennika.strona jest oznaczona jako Przywracanie oczekujące.Dzięki temu niedostępny podczas próby automatycznego strona naprawy.Próbuje uzyskać dostęp do tej strona podczas próby naprawy zakończy się niepowodzeniem z powodu błędu 829 (przywracanie oczekujące).

  2. Po otrzymaniu żądania strona, serwer dublowany czeka, aż ma on ponowione dziennika do LSN, określona w żądaniu.Następnie serwer dublowany próbuje uzyskać dostęp do strona w lustrzana baza danych.Jeśli strona są dostępne, serwer dublowany wysyła kopię strona serwer główny.W przeciwnym razie serwer dublowany zwraca błąd serwer główny, a próba automatycznego strona naprawa nie powiedzie się.

  3. serwer główny przetwarza odpowiedź, która zawiera świeżej kopii strona.

  4. Po próba automatycznego strona naprawa rozwiązuje podejrzanych strona, strona jest oznaczane suspect_pages przywrócone ( tabelaevent_type = 4).

  5. Jeśli strona błędu We/Wy spowodowane dowolne odroczonych transakcji, po naprawieniu strony, serwer główny próbuje rozpoznać tych transakcji.

Obsługa błędów We/Wy lustrzana baza danych

Błędy We/Wy na stronach danych, które występują w bazie danych lustrzane są obsługiwane w następujący sposób.

  1. Jeśli serwer dublowany znajduje się jeden lub więcej błędów We/Wy strona, gdy wykonuje ją ponownie rekordu dziennika, dublowanie sesja przechodzi do stanu SUSPENDED.W tym momencie serwer dublowany wstawia wiersz w suspect_pages tabela ze stanem odpowiednie błąd.serwer dublowany następnie żąda kopii strona z serwer główny.

  2. serwer główny próbuje uzyskać dostęp do strona główna baza danych.Jeśli są dostępne strona głównej serwera wysyła kopię strona do serwer dublowany.

  3. Jeśli serwer woluminu dublowanego otrzymuje kopie każdej strona wniosek, serwer dublowany próbuje wznowić sesja dublowanie.Jeśli próba automatycznego strona naprawa rozwiązuje podejrzanych strona, strona jest oznaczane suspect_pages przywrócone ( tabelaevent_type = 4).

    Jeśli serwer dublowany nie odbierze strona, która go zażądała od serwer główny, próba automatycznego strona naprawa nie powiedzie się i dublowanie sesja pozostaje zawieszony.Jeśli sesja dublowanie jest wznawiany ręcznie, uszkodzone strony będzie się odwołań ponownie w fazie synchronizacji.

Deweloper zgodności z najważniejszymi wskazówkami

Naprawa strona jest procesem asynchronicznych, który działa w tle.Dlatego nawet w przypadku dublowane bazy danych, operacja bazy danych, która żąda strona nie można odczytać nie powiedzie się i zwraca kod błędu dla niezależnie od stanu spowodował błąd.Podczas tworzenia aplikacji, dublowane bazy danych, argumentu stała wyjątki dla operacji nie powiodło się.Jeśli SQL Server Kod błędu to 823, 824 lub 829, należy ponowić operację później.

Historia zmian

Microsoft Learning

Usunięto nieprawidłowe instrukcja naprawy tej strona jest ograniczona do SQL Server 2008 Enterprise. SQL Server 2008 Standard obsługuje również strona automatycznej naprawy.