Gælder for
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptomer

Denne opdatering indeholder følgende forbedringer til understøttelse af Microsoft SQL Server AlwaysOn Lease Timeout:

  • Meddelelsen Timeout for lejemål vises nu og logger det aktuelle tidspunkt og det forventede fornyelsestidspunkt.

  • Der blev tilføjet en ny fejlmeddelelse for leasemedarbejdere, der tydeligt angiver årsagen til timeout for leasing.

  • Der blev tilføjet en ny udvidet begivenhed og en ny ringbuffer til leasemedarbejdere. Disse angiver tydeligt leasingstadierne.

Løsning

Problemet blev først rettet i følgende servicepakker til SQL Server.

Du kan få mere at vide om SQL Server 2012 Service Pack 3 (SP3) under Fejl, der er rettet i SQL Server 2012 Service Pack 3.

Service Pack 2 til SQL Server til SQL Server 2014Om servicepakker til SQL Server Servicepakker er kumulative. Hver ny service pack indeholder alle de rettelser, der var inkluderet i tidligere service packs, samt eventuelle nye rettelser. Vores anbefaling er at anvende den nyeste servicepakke og den seneste akkumulerede opdatering til den pågældende servicepakke. Det er ikke nødvendigt at installere en tidligere servicepakke, før du installerer den seneste udgave. Brug Tabel 1 i følgende artikel for at finde flere oplysninger om den nyeste servicepakke og seneste akkumulerede opdatering.Sådan bestemmer du version, udgave og opdateringsniveau for SQL Server og dens komponenter

Flere oplysninger

Der er føjet nye fejlmeddelelser til SQL Server for at give yderligere indsigt. I følgende tabel vises og forklares hver af dem.

Fejl

Fejlmeddelelse

Årsag

Afhjælpende handling

19419

Fornyelsen af rettigheden mellem tilgængelighedsgruppen '%.*ls' og den Windows Server failoverklynge mislykkedes, fordi den eksisterende rettighed ikke længere er gyldig.

Lejerarbejderen på SQL Server-siden blev ikke planlagt til tiden for at behandle hændelsessignalet fra klyngen.

Kontrollér CPU-udnyttelsen på serveren, da SQL Server lejearbejder ser ud til at sulte.

19420

Tilgængelighedsgruppen '%.*ls' bliver udtrykkeligt bedt om at stoppe fornyelsen af rettigheden.

Lejefornyelse stopper som en del af at bringe tilgængelighedsgruppen offline. Dette er kun oplysende.

19421

Fornyelsen af lejemålet mellem tilgængelighedsgruppen '%.*ls' og den Windows Server failoverklynge mislykkedes, fordi fornyelsen ikke fandt sted inden for leasingintervallet.

Lejerhjælperen på klyngesiden signalerede ikke SQL Server lejearbejder til tiden.

Kontrollér tilsvarende tilgængelighedsgrupperessource i WSFC-klynge for at se, om der er rapporteret fejl.

19422

Fornyelsen af rettigheden mellem tilgængelighedsgruppen '%.*ls' og den Windows Server failoverklynge mislykkedes på grund af en windows-fejl med fejlkoden ('%d').

Leasingarbejderen på SQL Server side kunne ikke forny lejemålet på grund af en windows-fejl.

Kontrollér windows-fejlkoden, og udfør den afhjælpende handling.

19423

Lease of availability group '%.*ls' lease is no longer valid to start the lease renewal process.

Da leasingarbejderen begyndte at behandle den overskydende lejetid, som blev leveret via onlineopkald, var lejekontrakten allerede udløbet. Dette kan ske på grund af planlægningsproblemer.

Kontrollér CPU-udnyttelsen på serveren, da SQL Server lejearbejder ser ud til at sulte.

19424

Lejerarbejderen af tilgængelighedsgruppen '%.*ls' sover nu den overskydende lejetid (%u ms), der leveres online. Dette er kun en oplysende meddelelse. Der kræves ingen brugerhandling.

Informative. Ekstra onlinetid tildelt til at starte lejefornyelsestråden og som en del af tilgængelighedsgruppens onlinerutine.

Eksempel på fejl 19419: Hvis du bruger et fejlfindingsprogram til at vedhæfte til SQL Server, afbrydes enhver vedligeholdelse af tråde i SQL Server processen, indtil du fortsætter SQL Server-processen. Når du fortsætter SQL Server, rapporteres følgende i fejlloggen for SQL Server:

<dato og klokkeslæt> serverfejl: 19419, alvorsgrad: 16, tilstand: 1. <Dato og klokkeslæt> Server Windows Server failoverklynge modtog ikke et proceshændelsessignal fra SQL Server hosting-tilgængelighedsgruppe "ag" inden for timeoutperioden for lejemålet. <dato klokkeslæt> serverfejl: 19407, alvorsgrad: 16, tilstand: 1. <Dato og klokkeslæt> Server Lejen mellem tilgængelighedsgruppen "ag" og den Windows Server failoverklynge er udløbet. Der opstod et forbindelsesproblem mellem forekomsten af SQL Server og den Windows Server failoverklynge. Hvis du vil afgøre, om tilgængelighedsgruppen mislykkes korrekt, skal du kontrollere den tilsvarende tilgængelighedsgrupperessource i Windows Server failoverklynge. <Dato klokkeslæt> Server AlwaysOn: Den lokale replika af tilgængelighedsgruppen 'ag' går offline, fordi enten lejekontrakten er udløbet, eller fornyelsen af lejekontrakten mislykkedes. Dette er kun en oplysende meddelelse. Der kræves ingen brugerhandling. <Dato klokkeslæt> Server Tilstanden for den lokale tilgængelighedsreplika i tilgængelighedsgruppen "ag" er ændret fra "PRIMARY_NORMAL" til "RESOLVING_NORMAL". Replikatilstanden blev ændret på grund af enten en start, en failover, et kommunikationsproblem eller en klyngefejl. Du kan få mere at vide i dashboardet for tilgængelighedsgruppen SQL Server fejllog, Windows Server administrationskonsol til failoverklynge eller Windows Server failoverklyngelog.

Fejlen 19419 returneres, fordi SQL Server ikke reagerede på klyngetjenesten. Du kan også få vist en fejlmeddelelse om timeout for lejemål (19407) sammen med fejlen 19419.Eksempel på fejl 19424: Følgende er meddelelsen om unødvendig lejetid, der rapporteres lige før tilgængelighedsgruppen skifter til PRIMÆR-rolle:

<Dato klokkeslæt> Server Lejearbejderen af tilgængelighed gruppen 'ag' er nu sove den overskydende lejetid (164766 ms) leveret i løbet af online. Dette er kun en oplysende meddelelse. Der kræves ingen brugerhandling. <Dato klokkeslæt> Server Tilstanden for den lokale tilgængelighedsreplika i tilgængelighedsgruppen "ag" er ændret fra "PRIMARY_PENDING" til "PRIMARY_NORMAL". Replikatilstanden blev ændret på grund af enten en start, en failover, et kommunikationsproblem eller en klyngefejl. Du kan få mere at vide i dashboardet for tilgængelighedsgruppen SQL Server fejllog, Windows Server administrationskonsol til failoverklynge eller Windows Server failoverklyngelog.

De availability_group_lease_expired og hadr_ag_lease_renewal XEvents er blevet forbedret med tilføjelsen af datapunkter, der giver flere oplysninger om lejekontraktens tilstand. I følgende tabel beskrives forbedringerne af disse XEvents:

XEvent

Ny kolonne

Beskrivelse

availability_group_lease_expired

current_time

Det tidspunkt, hvor lejekontrakten udløb

availability_group_lease_expired

new_timeout

Timeouttid, når availability_group_lease_expired opløftes, er current_time større end new_timeout

availability_group_lease_expired

Staten

Leasingfaser: Se tabellen Lease Stages nedenfor

hadr_ag_lease_renewal

Staten

hadr_ag_lease_renewal

hadr_ag_lease_renewal

error_code

Hvis tilstanden er HadrLeaseRenewal_FailedWithWindowsError, er error_code den Windows-fejlkode, der er knyttet til fejlen

Leasingfaser og -definitionerFølgende tabel viser de mulige leasingfaser og forklarer deres funktioner:

Fasenavn

Beskrivelse

HadrLeaseRenewal_LeaseWorkerStarted

Lease arbejder tråd startet.

HadrLeaseRenewal_StartedExcessLeaseSleep

Start overskydende lejekontrakt. Overskydende leasingstadier dokumenterer starten af leasingtråden i onlinefasen af tilgængelighedsgruppen.

HadrLeaseRenewal_FailedExcessSleepInvalidOnlineLease

Vi mislykkes den overskydende lejekontrakt, hvis lejemålet allerede er udløbet.

HadrLeaseRenewal_SkipExcessSleep

Vi springer den overskydende lejekontrakt over, hvis varigheden for slumretilstand er mindre end lejeintervallet. Der er ingen grund til at gå gennem den overskydende lejekontrakt bare starte hånd ryste processen.

HadrLeaseRenewal_ExcessSleepSucceeded

Overskydende lejemål lykkedes.

HadrLeaseRenewal_RenewSucceeded

Det bør vi se med hver eneste fornyelse.

HadrLeaseRenewal_LeaseNotValid

Svarer til fejl: 19419 Windows Server Failover-klynge modtog ikke et proceshændelsessignal fra SQL Server, der er vært for tilgængelighedsgruppen '%.*ls' inden for timeoutperioden for leasing.

HadrLeaseRenewal_StopLeaseRenewal

Du bør se dette under en failoverhændelse.

HadrLeaseRenewal_LeaseExpired

Svarer til fejl: 19421 SQL Server, der er vært for tilgængelighedsgruppen '%.*ls', modtog ikke et proceshændelsessignal fra Windows Server failoverklynge inden for lejetimeoutperioden.

HadrLeaseRenewal_FailedWithWindowsError

Fornyelse af lease mislykkedes på grund af en windows-fejl.

Du kan få mere at vide under Forbedret AlwaysOn Availability Group Lease Timeout Diagnostics.Du kan få mere at vide om timeout for leasing under Sådan fungerer det: SQL Server AlwaysOn Lease Timeout.

Status

Microsoft har bekræftet, at problemet findes i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.