Logga in med Microsoft
Logga in eller skapa ett konto.
Hej,
Välj ett annat konto.
Du har flera konton
Välj det konto som du vill logga in med.

Symptom

Tänk dig följande situation:

  • Du kör Microsoft SQL Server 2014 eller Microsoft SQL Server 2012 Service Pack 2 (SP2) på en server som är värd för den sekundära repliken av en tillgänglighets grupp som en del av en rullande uppgradering.

  • Du har använt en av följande uppdateringar för SQL Server-installationen:

    • SQL Server 2014 kumulativ uppdatering 5

    • SQL Server 2012 Service Pack 2 kumulativ uppdatering 4

    • SQL Server 2012 Service Pack 2 kumulativ uppdatering 3

    Viktigt! Den snabb korrigering som nämns i den här artikeln ersätter dessa kumulativa uppdateringar. Installera inte dessa uppdateringar om du inte redan har gjort det.

  • För att slutföra installationen av den kumulativa uppdateringen startar du om den sekundära repliken.

  • Du växlar över tillgänglighets gruppen som använder den uppdaterade sekundära repliken till den primära rollen.

I det här scenariot kan ett eller flera av följande problem uppstå på den server som kör SQL Server och som nu är värd för den primära repliken av din tillgänglighets grupp:

  • De sekundära replikerna rapporteras som "SYNKRONISERAs inte".

  • När du frågar sys.dm_exec_requests kan du märka blockering av spärr mellan användarsessioner och en session vars kommando har rapporter ATS som "DB_STARTUP". Du kan också lägga märke mellan kontroll punkten och DB_STARTUP kommandon.

  • Död lägen som innefattar sessionen som återställde en av dina tillgänglighets databaser rapporteras i SQL Server-felloggen. Dessa loggar ser ut ungefär så här: <date/time> spid<xx> Recovery is writing a checkpoint in database <dbname/dbid>. This isan informational message only. No user action is required.<date/time> spid<xx> Recovery completed for database <dbname/dbid> in <x> second(s) (analysis<x> ms, redo <x> ms, undo <x> ms.) This is an informational message only. No user action is required.…<date/time> spid<xx> Error: 1205, Severity: 13, State: 28.<date/time> spid<xx> Transaction (Process ID <xx>) was deadlocked on lock resources with anotherprocess and has been chosen as the deadlock victim. Rerun the transaction.

  • Om din tillgänglighets databas är aktive rad för Microsoft SQL Server Service Broker kanske inte meddelanden i din tillgänglighets databas behandlas. Om du startar spårnings verktyget för profiler och sedan fångar händelsen "koordinator: meddelande klassificering" sparas följande händelse:

    9791 har Service Broker avaktiverats i avsändarens databas

Obs! Detta är inte ett systematiskt problem. Du kan eventuellt tillämpa dessa kumulativa uppdateringar på en AlwaysOn-konfiguration utan att drabbas av det här problemet. Om du redan har lagt till dessa kumulativa uppdateringar och inte har meddelat det här problemet, påverkas inte systemet och informationen gäller inte dig.

Orsak

Det här problemet uppstår eftersom ett konkurrens tillstånd ibland uppstår mellan system trådarna och användar anslutningarna. Detta förhindrar korrigerings logiken för den kumulativa uppdateringen från att hämta de lås som krävs för att slutföra uppdaterings processen.

Lösning

Lös problemet genom att använda följande viktiga snabb korrigering på begäran (COD) :

3034679 ÅTGÄRD: AlwaysOn-tillgänglighet grupper kan rapporteras som inte SYNKRONISERAsViktigt! Du måste tillämpa denna korrigering av denna post i stället för följande kumulativa uppdateringar:

  • SQL Server 2014 kumulativ uppdatering 5

  • SQL Server 2012 Service Pack 2 kumulativ uppdatering 4

  • SQL Server 2012 Service Pack 2 kumulativ uppdatering 3

Obs! Om du redan har använt dessa kumulativa uppdateringar måste du lösa problemet med följande lösning.

Lösning

Eftersom det här problemet orsakas av samarbeten mellan användarsessionen och uppgraderingen mot tillgänglighets databaserna medan databaserna övergår till den primära rollen, måste du eliminera denna innehålls överföring för att databaserna ska kunna återställas från detta tillstånd. Lös problemet genom att följa de här stegen:

  1. Prova följande metoder i angiven ordning.

    Metod 1: ta bort databas åtkomstNär det uppstår ett problem i avsnittet "Symptom" i databaser kan du använda något av följande för att eliminera spärr tillståndet:

    • Fråga sys.dm_exec_requests om du vill söka efter sessioner i tillgänglighets databaserna. Använd instruktionen Kill för att avsluta de här sessionerna.

    • Inaktivera eller stoppa programmet som använder tillgänglighets databaserna.

    Om metod 1 inte löser problemet går du till metod 2.

    Metod 2: starta om SQL Server-värd servernNär program åtkomst och användar åtkomst fortfarande är inaktiverade ska du starta om SQL Server-instansen med tillgängliga tillgänglighets databaser. Gör så här:

    1. Inaktivera automatisk redundans för tillgänglighets gruppen.

    2. Starta om den SQL Server-instans som är värd för den primära repliken.

    3. Aktivera automatisk redundans för tillgänglighets gruppen.

  2. När de berörda databaserna har återställts helt kan du återupprätta anslutningen mellan program och användare.

Status

Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".

Referenser

Mer information om de kumulativa uppdateringar som påverkas av det här problemet finns i följande artiklar i Microsoft Knowledge Base:

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.

Hade du nytta av den här informationen?

Hur nöjd är du med språkkvaliteten?
Vad påverkade din upplevelse?
Genom att trycka på skicka, kommer din feedback att användas för att förbättra Microsofts produkter och tjänster. IT-administratören kan samla in denna data. Sekretesspolicy.

Tack för din feedback!

×