Opmerking
Nadat u deze hotfix hebt toegepast, moet u de traceringsvlag 1800 inschakelen als opstartparameter op alle servers of replica's met een fysieke sectorgrootte van 512-byte en deze opnieuw starten, zodat deze hotfix goed werkt.
Symptomen
Neem het volgende scenario:
-
U schakelt de functie AlwaysOn Availability groepen of de functie Logshipping in Microsoft SQL Server in.
-
De schijven waarop de logboekbestanden van de primaire en secundaire replica in een AlwaysOn-Beschikbaarheidsgroep (AG) zijn opgeslagen, hebben verschillende sector formaten. In Logshipping omgevingen hebben de schijven waarop de logboekbestanden voor Logshipping primaire servers en Logshipping secundaire servers, verschillende sectoren. Bijvoorbeeld:
-
Het logboekbestand voor primaire replica's bevindt zich op een schijf met een sectorgrootte van 512 bytes. Het logboekbestand van de secundaire replica bevindt zich echter op een schijf met de sectorgrootte van 4 kilobytes (KB).
-
Het logboekbestand voor primaire replica's bevindt zich op een on-premises lokale systeem met een sector formaat van 512 bytes. De secundaire replica bevindt zich echter op een Windows Azure-opslagschijf met de sectorgrootte van 4 kilobytes (KB).
-
In dit scenario wordt het volgende foutbericht vastgelegd in het foutenlogboek van SQL Server. Het fout bericht kan enige tijd in beslag gaan nadat het opnieuw is opgestart als er logboekregistraties waren die niet op het secundaire moment werden toegepast voordat u de server opnieuw opstart.
Er is een X onjuist uitgelijnd logboek IOs weergegeven dat moet worden weergegeven op synchrone i/o. De huidige i/o bevindt zich in het bestand....
De synchronisatie van AG en Logshipping wordt zeer traag uitgevoerd vanwege het synchrone I/O's. Als de secundaire replica zich in Windows Azure Storage bevindt, duurt het langer dan verwacht het synchronisatieproces te voltooien. Opmerking Dit probleem doet zich voor wanneer u zowel de nieuwe stations met een sectorgrootte van 4 KB gebruikt en de oude stations met een sectorgrootte van 512 byte. Als u meer wilt weten over de nieuwe stations, raadpleegt u SQL Server-nieuwe stations gebruiken sectorgrootte en SQL Server-opslagruimten/VHDx-en on4.000 sector formaat.
Oplossing
Het probleem is voor het eerst opgelost in de volgende cumulatieve update van SQL Server.
Cumulatieve update 5 voor SQL Server 2014 /en-us/help/3011055
Cumulatieve update 3 voor SQL Server 2012 SP2 /en-us/help/3002049
Cumulatieve update 13 voor SQL Server 2012 SP1 /en-us/help/3002044
Nadat u de hotfix hebt toegepast en Trace Flag 1800 hebt ingeschakeld voor alle servers die op een schijf met een sectorgrootte 512 bytes worden uitgevoerd, ziet u een kleine toename in de grootte van de volgende bestanden:
-
Transactielogbestand
-
Back-ups van logboek
Daarnaast merkt u dat de volgende berichten zijn vastgelegd in het foutenlogboek van SQL Server van de primaire server:
De staart van de naam van de <databasenaam van de database> worden herschreven, zodat deze overeenkomen met de nieuwe sectorgrootte van 4096 bytes
Dit is een informatief bericht dat veilig kan worden genegeerd.
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Zie de nieuwste cumulatieve updates voor SQL Server:
Workaround
Om dit probleem tijdelijk op te lossen, verplaatst u het transactielogbestand naar de bestemming naar een station waarop bytes per fysieke sector zijn ingesteld als 512 bytes.
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Meer informatie
Voor de beste procedure controleert u of alle schijven van alle replica's (minimaal alle schijven die logboekbestanden hosten) hebben, dezelfde sectorgrootte hebben. In gemengde omgevingen, waarbij de secundaire sector 512 bytes bevat en de primaire sectorgrootte van 4 KB bevat, moet TF 1800 als een opstart vlag worden gebruikt op alle servers of replica's met een fysieke sectorgrootte van 512 byte en opnieuw starten . Dit zorgt ervoor dat de indeling Continue logboek maken gebruikmaakt van een sectorgrootte van 4 KB. Voor meer informatie over de manier waarop SQL Server werkt met grotere sector formaten, raadpleegt u het volgende bericht op de ondersteunings blog: SQL Server: opslagruimten/VHDx en sectorgrootte 4 KB Met het hulpprogramma voor de fsutil-opdrachtprompt kunt u de bytes per fysieke sector waarde bepalen. Als deze parameter niet zichtbaar is in de uitvoer, moet u de hotfix toepassen die is opgegeven in KB-artikel 982018. Voer de volgende stappen uit om te controleren welk type schijf u hebt.
-
Voer de volgende opdracht uit vanaf een opdrachtprompt met verhoogde bevoegdheid:
Fsutil fsinfo ntfsinfo x: Opmerking De tijdelijke aanduiding x staat voor het station dat u controleert.
-
Gebruik de waarden voor bytes per sector en bytes per fysieke sector om te bepalen welk type station u hebt. Gebruik hiervoor de volgende tabel:
Waarde ' bytes per sector '
Waarde "bytes per fysieke sector"
Type station
4096
4096
4 standaard
512
4096
Geavanceerde opmaak (ook wel bekend als 512E)
512
512
512-byte native