SQL Server-sporingsflag 1800 justering af I/O-aktivitet (Volume Input/Output)
Summary: Microsoft SQL Trace Flag 1800 er en indstilling, der aktiverer SQL Server 4K I/O-justering for SQL-transaktionslogenheden. I denne artikel undersøger vi årsagen til forkert I/O i transaktionsloggen og fordelene ved at bruge sporingsflaget 1800. Dette gælder for Dells og andre leverandørers storageløsninger med virtualiserede SQL-løsninger. ...
Symptoms
Når der opstår forkert justerede I/O, kan et program opleve forhøjet skriveventetid for transaktionslogskrivninger i perioder med store dataindsættelser i databasen.
Et detaljeret eksempel på registrering af den potentielle fejljustering kan findes i denne Broadcom-blog. Udnyt "Process Monitor" på SQL Server-siden eller vSphere-værktøjer som f.eks. "vSAN I/O Insight" som hjælp til at diagnosticere problemet.
Virkningen af I/O-fejljustering afhænger i høj grad af arbejdsbelastningsmønsteret. Generelt er virkningen observeret mere signifikant for større sekventiel skrive-I/O.
Et eksempel på ventetid fra et skriveydelsesperspektiv uden Trace Flag 1800:

Med Trace Flag 1800-sættet:
Cause
vSphere ESXi udsætter VMware Virtual Machine Disks (VMDK'er) for Guest OS med en fysisk sektorstørrelse på 512 bytes (512n-formatering).
SQL Server bruger en avanceret mekanisme til at beregne transaktionsloggens I/O-blokstørrelse. SQL tager den fysiske sektorstørrelse for det præsenterede VMDK, hvor transaktionslogfilerne er placeret, for at justere transaktionsloggens I/O-blokstørrelse. Dette er anderledes for dataenheder, der traditionelt bruger filsystemets (NTFS) allokeringsenhedsstørrelse (brugerstyret).
I/O-diskjustering sikrer, at data skrives til lagringsmedier på en måde, der passer med diskens fysiske sektorer. Dette hjælper med at forhindre forkert justerede I/O'er, som kan påvirke skriveydeevnen.
Bemærk: Dette er ikke specifikt for storageløsningen, men forskellige løsninger håndterer forkert justeret I/O på deres egen måde og viser muligvis ikke de samme symptomer. Uanset hvad anbefales det altid at justere IO i henhold til bedste praksis for storageløsningen.
Resolution
Ved hjælp af sporingsflaget 1800 kan du sikre, at din SQL-transaktionslogvolumen er korrekt justeret med en 4k-grænse. Afhængigt af den underliggende storageløsnings diskenhedsblokstørrelse optimerer dette skriveydelsen.
Før du aktiverer sporingsflag 1800, skal du kontakte dit Microsoft SQL-team for at få bekræftet potentiel fejljustering og konfigurationsvejledning.
Bemærk: Trace Flag 1800 kræver genstart af SQL Server-tjenesten. Anvendelse af flaget ved hjælp af Database Consistency Checker (DBCC) "DBCC TRACE ON"-kommandoen har ingen effekt.
Additional Information
Microsoft henviser til Trace Flag 1800 for tilgængelighedsgrupper med replikeringsgrupper på forskellige diske. Sporingsflaget har også vist sig at være effektivt i generel bedste praksis-ydeevne.