Symptomy
Ta aktualizacja zawiera następujące ulepszenia dotyczące możliwości obsługi limitu czasu dzierżawy AlwaysOn firmy Microsoft SQL Server:
-
W komunikacie Limit czasu dzierżawy jest teraz wyświetlany i rejestrowany bieżący czas i oczekiwany czas odnowienia.
-
Dodano nowy komunikat o błędzie dla pracowników dzierżawy, który wyraźnie wskazuje przyczynę przekroczenia limitu czasu dzierżawy.
-
Dodano nowe rozszerzone wydarzenie i nowy bufor pierścieniowy dla pracowników dzierżawy. Wyraźnie wskazują one etapy dzierżawy.
Rozwiązanie
Ten problem został najpierw rozwiązany w następujących dodatkach Service Pack dla SQL Server.
Aby uzyskać więcej informacji na temat dodatku Service Pack 3 (SP3) dla SQL Server 2012, zobacz usterki naprawione w dodatku Service Pack 3 dla SQL Server 2012.
Dodatek Service Pack 2 dla SQL Server dla SQL Server 2014Informacje o dodatkach Service Pack dla SQL Server Service Pack są skumulowane. Każdy nowy dodatek Service Pack zawiera wszystkie poprawki zawarte w poprzednich dodatkach Service Pack oraz nowe poprawki. Zalecamy zastosowanie najnowszego dodatku Service Pack i najnowszej aktualizacji zbiorczej dla tego dodatku Service Pack. Instalowanie poprzedniego dodatku Service Pack przed instalacją najnowszego dodatku Service Pack nie jest konieczne. Skorzystaj z tabeli 1 w poniższym artykule, aby uzyskać więcej informacji na temat najnowszego dodatku Service Pack i najnowszej aktualizacji zbiorczej.Jak ustalić poziom wersji, wersji i aktualizacji SQL Server i jej składników
Więcej informacji
Aby dostarczyć dodatkowych informacji, do SQL Server zostały dodane nowe komunikaty o błędach. Poniższa tabela zawiera listę i objaśnienie każdego z nich.
|
Błąd |
Komunikat o błędzie |
Przyczyna |
Akcja naprawcza |
|---|---|---|---|
|
19419 |
Odnowienie dzierżawy między grupą dostępności "%.*ls" a klastrem trybu failover Windows Server nie powiodło się, ponieważ istniejąca dzierżawa nie jest już ważna. |
Pracownik dzierżawy po stronie SQL Server nie dostał zaplanowane na czas do przetwarzania sygnału zdarzenia z klastra. |
Sprawdź wykorzystanie procesora na serwerze, ponieważ SQL Server pracownik dzierżawy wydaje się głodować. |
|
19420 |
Grupa dostępności "%.*ls" jest wyraźnie poproszona o zaprzestanie odnawiania dzierżawy. |
Odnowienie dzierżawy zatrzymuje się w ramach wprowadzenia grupy dostępności w tryb offline. Jest to tylko informacje. |
|
|
19421 |
Odnowienie dzierżawy między grupą dostępności "%.*ls" a klastrem trybu failover Windows Server nie powiodło się, ponieważ odnowienie nie nastąpiło w przedziale dzierżawy. |
Pomocnik dzierżawy po stronie klastra nie zasygnalizował SQL Server pracownika dzierżawy na czas. |
Sprawdź odpowiedni zasób grupy dostępności w klastrze WSFC, aby sprawdzić, czy zgłosił błąd. |
|
19422 |
Odnowienie dzierżawy między grupą dostępności "%.*ls" a klastrem trybu failover Windows Server nie powiodło się z powodu błędu systemu Windows z kodem błędu ('%d'). |
Pracownik dzierżawy po stronie SQL Server nie odnowił dzierżawy z powodu błędu systemu windows. |
Sprawdź kod błędu systemu windows i wykonaj akcję naprawczą. |
|
19423 |
Dzierżawa dzierżawy grupy "%.*ls" nie jest już ważna do rozpoczęcia procesu odnawiania dzierżawy. |
Kiedy pracownik dzierżawy rozpoczął przetwarzanie nadmiaru czasu najmu zapewnianego przez połączenie online, dzierżawa już wygasła. Może się tak zdarzyć z powodu problemów z planowaniem. |
Sprawdź wykorzystanie procesora na serwerze, ponieważ SQL Server pracownik dzierżawy wydaje się głodować. |
|
19424 |
Pracownik dzierżawy grupy dostępności "%. Jest to tylko wiadomość informacyjna. Nie jest wymagana żadna akcja użytkownika. |
Informacyjne. Dodatkowy czas online przydzielony na rozpoczęcie wątku odnowienia dzierżawy i w ramach grupy dostępności online rutynowych. |
Przykład błędu 19419: Jeśli do SQL Server użyjesz debugera, zakłóci to obsługę wątków w procesie SQL Server do momentu wznowienia procesu SQL Server. Po wznowieniu SQL Server w dzienniku błędów SQL Server są zgłaszane następujące informacje:
<Data godzina> Błąd serwera: 19419, Ważność: 16, Stan: 1. <Date Time> Server Windows Server Failover Cluster nie otrzymała sygnału zdarzenia procesu od SQL Server hostingu grupy dostępności "ag" w okresie limitu czasu dzierżawy. <błąd daty> serwera: 19407, Ważność: 16, Stan: 1. <Date Time> Server Dzierżawa między grupą dostępności "ag" a klastrem trybu failover Windows Server wygasła. Wystąpił problem z łącznością między wystąpieniem SQL Server a klastrem trybu failover Windows Server. Aby ustalić, czy grupa dostępności kończy się niepowodzeniem, sprawdź odpowiedni zasób grupy dostępności w klastrze Windows Server trybu failover. <Date Time> Server AlwaysOn: Lokalna replika grupy dostępności "ag" przechodzi w tryb offline, ponieważ dzierżawa wygasła lub odnowienie dzierżawy nie powiodło się. Jest to tylko wiadomość informacyjna. Nie jest wymagana żadna akcja użytkownika. <date time> Server Stan repliki lokalnej dostępności w grupie dostępności "ag" zmienił się z "PRIMARY_NORMAL" na "RESOLVING_NORMAL". Stan repliki uległ zmianie z powodu uruchomienia, trybu failover, problemu z komunikacją lub błędu klastra. Aby uzyskać więcej informacji, zobacz pulpit nawigacyjny grupy dostępności, SQL Server dziennik błędów, Windows Server konsoli zarządzania klastrem trybu failover lub Windows Server dziennik klastra trybu failover.
Zwracany jest błąd 19419, ponieważ SQL Server nie odpowiadał usłudze klastrowania. Może również zostać wyświetlony komunikat o błędzie limitu czasu dzierżawy (19407) wraz z błędem 19419.Przykład błędu 19424: Poniżej przedstawiono komunikat o nadmiarze czasu dzierżawy zgłoszony tuż przed przejściem grupy dostępności na rolę PRIMARY:
<Date Time> Server Pracownik dzierżawy grupy dostępności "ag" śpi teraz nadmiar czasu dzierżawy (164766 ms) dostarczonego w trybie online. Jest to tylko wiadomość informacyjna. Nie jest wymagana żadna akcja użytkownika. <date time> Server Stan repliki lokalnej dostępności w grupie dostępności "ag" zmienił się z "PRIMARY_PENDING" na "PRIMARY_NORMAL". Stan repliki uległ zmianie z powodu uruchomienia, trybu failover, problemu z komunikacją lub błędu klastra. Aby uzyskać więcej informacji, zobacz pulpit nawigacyjny grupy dostępności, SQL Server dziennik błędów, Windows Server konsoli zarządzania klastrem trybu failover lub Windows Server dziennik klastra trybu failover.
Ulepszono availability_group_lease_expired i hadr_ag_lease_renewal XEvents, dzięki dodaniu punktów danych, które dostarczają więcej informacji na temat warunków dzierżawy. W poniższej tabeli opisano ulepszenia tych zdarzeń XEvents:
|
Xevent |
Nowa kolumna |
Opis |
|---|---|---|
|
availability_group_lease_expired |
current_time |
Czas wygaśnięcia umowy najmu |
|
availability_group_lease_expired |
new_timeout |
Limit czasu, po podniesieniu availability_group_lease_expired current_time jest większy niż new_timeout |
|
availability_group_lease_expired |
Państwa |
Etapy dzierżawy: zobacz tabelę Etapy dzierżawy poniżej |
|
hadr_ag_lease_renewal |
Państwa |
hadr_ag_lease_renewal |
|
hadr_ag_lease_renewal |
Error_code |
Jeśli stan jest HadrLeaseRenewal_FailedWithWindowsError to error_code jest kod błędu systemu Windows skojarzony z błędem |
Etapy dzierżawy i definicjePoniższa tabela zawiera listę możliwych etapów dzierżawy i objaśnia ich funkcje:
|
Nazwa etapu |
Opis |
|---|---|
|
HadrLeaseRenewal_LeaseWorkerStarted |
Rozpoczęto wątek pracownika dzierżawy. |
|
HadrLeaseRenewal_StartedExcessLeaseSleep |
Rozpoczęcie nadmiarowej dzierżawy. Nadmiarowe etapy dzierżawy dokumentują rozpoczęcie wątku dzierżawy w fazie online grupy dostępności. |
|
HadrLeaseRenewal_FailedExcessSleepInvalidOnlineLease |
Nie udaje nam się nadmiar dzierżawy, jeśli dzierżawa już wygasła. |
|
HadrLeaseRenewal_SkipExcessSleep |
Pomijamy nadmiar dzierżawy, jeśli czas trwania dostępny do uśpienia jest krótszy niż interwał dzierżawy. Nie ma potrzeby, aby przejść przez nadmiar dzierżawy po prostu rozpocząć proces potrząsania ręką. |
|
HadrLeaseRenewal_ExcessSleepSucceeded |
Nadmiar dzierżawy zakończył się sukcesem. |
|
HadrLeaseRenewal_RenewSucceeded |
Powinno to być widoczne przy każdym odnowieniu. |
|
HadrLeaseRenewal_LeaseNotValid |
Odpowiednik błędu: 19419 Windows Server klastra trybu failover nie otrzymał sygnał zdarzenia procesu z SQL Server hostingu grupy dostępności "%.*ls" w okresie limitu czasu dzierżawy. |
|
HadrLeaseRenewal_StopLeaseRenewal |
Powinno to być widoczne podczas zdarzenia trybu failover. |
|
HadrLeaseRenewal_LeaseExpired |
Odpowiednik błędu: 19421 SQL Server grupa dostępności hostingu "%.*ls" nie otrzymała sygnału zdarzenia procesu z klastra trybu failover Windows Server w okresie limitu czasu dzierżawy. |
|
HadrLeaseRenewal_FailedWithWindowsError |
Odnowienie dzierżawy nie powiodło się z powodu błędu okna. |
Aby uzyskać więcej informacji, zobacz Ulepszona diagnostyka limitu czasu dzierżawy grupy AlwaysOn Availability Group.Aby uzyskać więcej informacji na temat limitu czasu dzierżawy, zobacz Jak to działa: SQL Server Limit czasu dzierżawy AlwaysOn.
Stan
Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".