Huomautus
Tämän hotfix-korjauksen käyttöönoton jälkeen sinun on otettava jäljitysmerkintä 1800 käyttöön käynnistysparametrina kaikissa palvelimissa tai replikoissa, joiden fyysinen sektorikoko on 512 tavua, ja käynnistettävä ne uudelleen, jotta tämä hotfix-korjaus toimisi oikein.
Ongelman ilmenemistapa
Mieti seuraavaa tilannetta:
Otat käyttöön AlwaysOn-käytettävyysryhmät tai lokinsiirron Microsoft SQL Server.
Levyillä, jotka tallentavat ensisijaisen ja toissijaisen replikan lokitiedostot AlwaysOn Availability Groupiin (AG), on erikokoiset sektorit. Tai Logshipping-ympäristöissä levyt, joihin tallennetaan lokitiedostoja ensisijaisille ja lokimerkintöisille toissijaisille palvelimille, ovat erikokoisia. Esimerkki:
- Ensisijaisen replikan lokitiedosto sijaitsee levyllä, jonka sektorin koko on 512 tavua. Toissijaisen replikan lokitiedosto sijaitsee kuitenkin levyllä, jonka sektorin koko on 4 kilotavua (Kt).
- Ensisijaisen replikan lokitiedosto sijaitsee paikallisessa paikallisessa järjestelmässä, jonka sektorin koko on 512 tavua. Toissijainen replika sijaitsee kuitenkin Windows Azure-tallennus -levyllä, jonka sektorin koko on 4 kilotavua (kt).
Tässä skenaariossa seuraava virhesanoma kirjataan SQL Server -virhelokiin. Virhesanoma voi jatkua jonkin aikaa uudelleenkäynnistyksen jälkeen, jos oli lokitietoja, joita ei ole käytetty toissijaiseen palvelimeen ennen palvelimen uudelleenkäynnistystä.
Huomautus
On ollut X väärin kohdistettua loki-IO:ta, joka on pitänyt palata takaisin synkroniseen IO:hon. Nykyinen IO on arkistossa ....
Lisäksi AG- tai Logshipping-synkronointi toimii hyvin hitaasti synkronisten I/O:iden vuoksi. Jos toissijainen replika on Windows Azure -tallennustilassa, synkronointiprosessin viimeistely kestää paljon odotettua kauemmin.
Huomautus: Tämä ongelma ilmenee käytettäessä sekä uusia asemia, joiden sektori koko on 4 kt, että vanhoja asemia, joiden sektorikoko on 512 tavua. Lisätietoja uusista asemista on artikkelissa SQL Server – uudet asemat Käytä 4K-sektorikokoa ja SQL Server-tallennustilan / VHDx:n ja 4K-sektorin kokoa.
Ratkaisu
Ongelma korjattiin ensimmäisen kerran seuraavassa SQL Server kumulatiivisessa päivityksessä.
SQL Server 2014:n kumulatiivinen päivitys 5 /en-us/help/3011055
SQL Server 2012 SP2:n kumulatiivinen päivitys 3 /en-us/help/3002049
SQL Server 2012 SP1:n kumulatiivinen päivitys 13 /en-us/help/3002044
Kun olet ottanut käyttöön hotfix-korjauksen ja ottanut jäljitysmerkinnän 1800 käynnistysparametrina kaikissa palvelinreplikoissa, jotka ovat käynnissä levyllä, jonka sektorin koko on 512 tavua, huomaat seuraavien tiedostojen koon kasvavan hieman:
- Tapahtumalokitiedosto
- Lokien varmuuskopiot
Lisäksi huomaat, että seuraavat viestit kirjataan ensisijaisen palvelimen SQL Server -virhelokiin:
Huomautus
Tietokannan "<tietokannan nimi>"-lokin häntä kirjoitetaan uudelleen vastaamaan uutta sektorikokoa, joka on 4 096 tavua
Tämä on tietosanoma, jonka voi huoletta ohittaa.
Tietoja SQL Serverin kumulatiivisista päivityksistä
Jokainen uusi SQL Server -kumulatiivinen päivitys sisältää kaikki edelliseen kumulatiiviseen päivitykseen sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Katso SQL Server:n uusimmat kumulatiiviset päivitykset:
- SQL Server 2014:n uusin kumulatiivinen päivitys
- SQL Server 2012 SP2:n uusin kumulatiivinen päivitys
- SQL Server 2012 SP1:n uusin kumulatiivinen päivitys
Vaihtoehtoinen menetelmä
Voit kiertää tämän ongelman siirtämällä tapahtumalokitiedoston kohteessa asemaan, jonka tavumäärä fyysistä sektoria kohti on määritetty 512 tavuksi.
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.
Lisätietoja
Paras käytäntö on yrittää varmistaa, että kaikkien replikoiden kaikilla levyillä (vähintään kaikilla lokitiedostoja isännöivillä levyillä) on sama sektorikoko. Yhdistetyissä ympäristöissä, joissa toissijaisen fyysinen sektori on 512 tavua ja ensisijaisen sektorin koko on 4 kt, TF 1800:aa tulisi käyttää käynnistysmerkintänä kaikissa palvelimissa tai replikoissa, joiden fyysinen sektori on 512-tavuinen ja jotka on käynnistetty uudelleen. Näin varmistetaan, että käynnissä olevan lokin luomisen muoto käyttää 4 kt:n sektorikokoa.
Lisätietoja siitä, miten SQL Server toimii suurempien sektorikokojen kanssa, on seuraavassa tukiblogin kirjoituksessa:
SQL Server – Tallennustilat/VHDx- ja 4K-sektorien koko
Voit käyttää Fsutil-komentokehoteapuohjelmaatavujen määrän määrittämiseen fyysistä sektoria kohden. Jos tämä parametri ei näy tulosteessa, sinun on otettava käyttöön Knowledge Base -artikkelissa 982018 määritetty hotfix-korjaus.
Voit tarkistaa käytössäsi olevan aseman tyypin seuraavasti:
Suorita seuraava komento järjestelmänvalvojan oikeuksin suoritettavassa komentokehotteessa:
Fsutil fsinfo ntfsinfo x: Huomautus X-paikkamerkki edustaa tarkistettavaa asemaa.Määritä käytössäsi olevan aseman tyyppi käyttämällä Tavua sektorilla - ja Tavuja fyysistä sektoria kohden -arvoja. Voit tehdä tämän seuraavan taulukon avulla:
Tavua sektoria kohden -arvo Tavua fyysisellä sektorilla -arvo Aseman tyyppi 4096 4096 4K-alkuperäinen 512 4096 Advanced Format (tunnetaan myös nimellä 512E) 512 512 512-tavuinen alkuperäinen