Obs!
När du har installerat den här snabb korrigeringen måste du aktivera spårnings flaggan 1800 som en start parameter på alla servrar eller repliker som har en fysisk sektor storlek på 512 byte och starta om dem för att den ska fungera korrekt.
Symptom
Tänk dig följande situation:
-
Du aktiverar funktionerna för AlwaysOn-tillgänglighet eller logshipping i Microsoft SQL Server.
-
De diskar som lagrar loggfilerna för den primära och sekundära repliken i en AlwaysOn-tillgänglighetsgruppen (AG) har olika sektor storlekar. I logshipping miljöer har de diskar som lagrar loggfilerna för logshipping primära servrar och logshipping sekundära servrar olika sektor storlekar. Till exempel:
-
Den primära replik logg filen finns på en disk som har en sektor på 512 byte. Den sekundära replik logg filen finns i en disk där sektor storleken är 4 kilobyte (KB).
-
Den primära replik logg filen finns på en lokal dator som har en sektor på 512 byte. Den sekundära repliken finns i en Windows Azure-lagringsenhet som har sektor storleken på 4 kilobyte (KB).
-
I det här scenariot loggas följande fel meddelande i SQL Server-felloggen. Fel meddelandet kan fortsätta ett tag efter att du har startat om, om det fanns loggar som inte användes på sekundärt innan servern startades om.
Det finns X feljusterad logg-IOs som behövde återgå till synkront IO. Nuvarande IO är på fil....
Dessutom körs AG-eller logshipping-synkronisering mycket långsamt på grund av det synkrona I/o. Om den sekundära repliken finns i Windows Azure Storage tar det betydligt längre tid än väntat att slutföra synkroniseringsprocessen. Obs! Det här problemet uppstår när du använder både nya enheter som har en 4-KB-sektoriell och de gamla enheter som har en 512-byte sektor storlek. Mer information om de nya enheterna finns i SQL Server-nya enheter använder storleken på 4K-sektorerna och SQL Server – lagrings utrymmen/VHDX-och 4K-sektorer.
Lösning
Problemet är först åtgärdat i den kumulativa uppdateringen av SQL Server.
Kumulativ uppdatering 5 för SQL Server 2014 /en-us/help/3011055
Kumulativ uppdatering 3 för SQL Server 2012 SP2 /en-us/help/3002049
Kumulativ uppdatering 13 för SQL Server 2012 SP1 /en-us/help/3002044
När du har installerat snabb korrigeringen och aktiverat spårnings flaggan 1800 som en start parameter på alla repliker för servrar som körs på en disk som har en sektor storlek på 512 byte, lägger du märke till en liten ökning av följande filer:
-
Transaktions logg fil
-
Logg säkerhets kopior
Dessutom observeras att följande meddelanden loggas i SQL Server-felloggen för den primära servern:
Slutet av loggen för databasen <databas namnet> skrivs att matcha den nya sektor storleken på 4096 byte
Det här informations meddelandet kan ignoreras.
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Se de senaste kumulativa uppdateringarna för SQL Server:
Lösning
Undvik det här problemet genom att flytta transaktions logg filen på mål platsen till en enhet som har byte per fysisk sektor angiven som 512-byte.
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Mer information
Det är lämpligt att kontrol lera att alla diskar på alla repliker (minst alla diskar med log-filer) har samma sektor storlek. I blandade miljöer där den sekundära har en fysisk sektor på 512 byte och den primära har en sektor storlek på 4 KB bör TF 1800 användas som en start flagga på alla servrar eller repliker som har en fysisk sektor storlek på 512 och sedan startats om . Detta säkerställer att formatet för den fort löp ande loggen använder en sektor storlek på 4 KB. Mer information om hur SQL Server fungerar med större sektor storlekar finns i följande inlägg på support bloggen: SQL Server – Storage Spaces/VHDX-och 4K-sektorerna Du kan använda kommando tolken i fsutil för att fastställa värdet för byte per fysiskt sektor . Om den här parametern inte visas i utdata måste du tillämpa snabb korrigeringen som anges i KB-artikeln 982018. Följ de här stegen för att kontrol lera vilken typ av enhet du har:
-
Kör följande kommando i en upphöjd kommando tolk:
Fsutil fsinfo ntfsinfo x: Obs! X-platshållare representerar den enhet du kontrollerar.
-
Använd värdena för byte per sektor och byte per fysisk sektor för att fastställa vilken typ av enhet du har. Gör så här:
Värdet "byte per sektor"
Värdet "byte per fysisk sektor"
Enhets typ
4096
4096
4K
512
4096
Avancerat format (kallas även 512E)
512
512
512-byte inbyggd