SQL Server spårningsflagga 1800 transaktionsloggvolym indata/utdata (I/O) justering
Summary: Microsoft SQL Trace Flag 1800 är en inställning som möjliggör SQL Server 4k I/O-justering för SQL-transaktionsloggvolymen. I den här artikeln utforskar vi orsaken till transaktionsloggens feljusterade I/O och fördelarna med att använda spårningsflaggan 1800. Detta gäller Dell och andra leverantörers lagringslösningar med virtualiserade SQL-lösningar. ...
Symptoms
När feljusterad I/O inträffar kan ett program uppleva förhöjd skrivfördröjning för transaktionsloggskrivningar under perioder med stor datainfogning i databasen.
Ett detaljerat exempel på hur du identifierar potentiella feljusteringar finns i den här Broadcom-bloggen. Använd "Process Monitor" på SQL Server-sidan eller vSphere-verktyg som "vSAN I/O Insight" för att diagnostisera problemet.
Effekten av I/O-feljustering beror i hög grad på arbetsbelastningsmönstret. I allmänhet har effekten observerats större för större sekventiell skriv-I/O.
Ett svarstidsexempel ur ett skrivprestandaperspektiv utan spårningsflaggan 1800:

Med Trace Flag 1800-uppsättningen:
Cause
vSphere ESXi exponerar VMware Virtual Machine Disks (VMDK:er) för gästoperativsystemet med en fysisk sektorstorlek på 512 byte (512n-formatering).
SQL Server använder en avancerad mekanism för att beräkna transaktionsloggens I/O-blockstorlek. SQL tar den fysiska sektorstorleken för den presenterade VMDK:n där transaktionsloggfilerna placeras för att justera transaktionsloggens I/O-blockstorlek. Detta skiljer sig åt för datavolymer som traditionellt använder filsystemets (NTFS) allokeringsenhetsstorlek (användarstyrd).
I/O-diskjustering säkerställer att data skrivs till lagringsmediet på ett sätt som passar in med diskens fysiska sektorer. Detta hjälper till att förhindra feljusterade I/O, vilket kan påverka skrivprestanda.
Obs! Detta är inte specifikt för lagringslösningen. Olika lösningar hanterar feljusterad I/O på sitt eget sätt och kanske inte visar samma symptom. Oavsett vilket rekommenderar vi alltid att du justerar IO enligt bästa praxis för lagringslösningen.
Resolution
Genom att använda spårningsflaggan 1800 kan du se till att SQL-transaktionsloggvolymen är korrekt justerad med en 4k-gräns. Beroende på volymblockstorleken för den underliggande lagringslösningen optimerar detta skrivprestanda.
Innan du aktiverar spårningsflaggan 1800 bör du kontakta ditt Microsoft SQL-team för att bekräfta potentiell feljustering och konfigurationsvägledning.
Obs! Spårningsflagga 1800 kräver en omstart av SQL Server-tjänsten. Att använda flaggan med hjälp av kommandot Database Consistency Checker (DBCC) "DBCC TRACE ON" har ingen effekt.
Additional Information
Microsoft refererar till spårningsflaggan 1800 för tillgänglighetsgrupper med replikeringsgrupper på olika diskar. Spårningsflaggan har visat sig vara effektiv även när det gäller allmän bästa praxis.