SQL Server Trace Flag 1800 -tapahtumalokin määrän tulo/lähtö (I/O) -kohdistus
Summary: Microsoft SQL Trace Flag 1800 on asetus, joka mahdollistaa SQL Server 4K I/O-tasauksen SQL-tapahtumalokiasemaa varten. Tässä artikkelissa tutkimme tapahtumalokin väärin kohdistetun I/O:n syytä ja jäljityslipun 1800 käytön etuja. Tämä koskee Dellin ja muiden toimittajien tallennusratkaisuja, joissa on virtualisoituja SQL-ratkaisuja. ...
Symptoms
Kun I/O-toiminto on kohdistettu väärin, sovellus saattaa havaita tapahtumalokin kirjoitusviiveen suurentuneen aikana, kun tietokantaan lisätään suuria tietoja.
Yksityiskohtainen esimerkki mahdollisen kohdistusvirheen havaitsemisesta löytyy tästä Broadcom-blogista. Hyödynnä SQL Server -puolen Process Monitoria tai vSphere-työkaluja, kuten vSAN I/O Insightia, ongelman diagnosoinnissa.
I/O-kohdistusvirheiden vaikutus riippuu suuresti työkuormamallista. Yleensä suurempien peräkkäisten kirjoitus-I/O-kirjoitusten osalta vaikutuksen on havaittu olevan merkittävämpi.
Esimerkki viiveestä kirjoitussuorituskyvyn näkökulmasta ilman Trace Flag 1800:aa:

Kun Trace Flag 1800 on asetettu:
Cause
vSphere ESXi paljastaa VMware-virtuaalikonelevyt (VMDK) vieraskäyttöjärjestelmälle, jonka fyysinen sektorikoko on 512 tavua (alustus 512n).
SQL Server käyttää kehittynyttä mekanismia tapahtumalokin I/O-lohkon koon laskemiseen. SQL ottaa esitetyn VMDK:n fyysisen sektorin koon, johon tapahtumalokitiedostot sijoitetaan, jotta tapahtumalokin I/O-lohkon koko voidaan kohdistaa. Tämä eroaa tietomäärissä, joissa käytetään perinteisesti tiedostojärjestelmän (NTFS) kohdistusyksikön kokoa (käyttäjän määrittämä).
Levyn I/O-kohdistus varmistaa, että tiedot tallennetaan tallennusvälineelle tavalla, joka vastaa levyn fyysisiä sektoreita. Tämä auttaa estämään väärin kohdistettuja I/O:ita, jotka voivat vaikuttaa kirjoitustehoon.
Huomautus: Tämä ei ole tallennusratkaisukohtaista. Eri ratkaisut hallitsevat väärin kohdistettuja I/O-toimintoja omalla tavallaan eivätkä välttämättä näytä samoja oireita. Siitä huolimatta on aina suositeltavaa kohdistaa IO tallennusratkaisun parhaiden käytäntöjen mukaisesti.
Resolution
Käyttämällä jäljityslippua 1800 voit varmistaa, että SQL-tapahtumalokin taltio on kohdistettu oikein 4k-rajaan. Kirjoitusteho optimoituu taustalla olevan tallennusratkaisun taltion lohkokoon mukaan.
Ennen kuin otat jäljitysmerkinnän 1800 käyttöön, ota yhteyttä Microsoft SQL -tiimiin mahdollisen kohdistusvirheen ja määritysohjeiden vahvistamiseksi.
Huomautus: Jäljitysmerkintä 1800 edellyttää SQL Server -palvelun uudelleenkäynnistystä. Merkinnän käyttämisellä DBCC (Database Consistency Checker) -komennolla "dbcc trace on" ei ole vaikutusta.
Additional Information
Microsoft viittaa käytettävyysryhmien jäljitysmerkintään 1800, jossa on replikointiryhmiä eri levyillä. Trace Flag on osoittautunut tehokkaaksi myös yleisesti parhaiden käytäntöjen suorittamisessa.