Märkus.
Pärast selle käigultparanduse rakendamist peate lubama jälituslipp 1800 kui Startup parameeter kõigis serverites või koopiates, mis on 512-byte füüsilise sektori suurus ja taaskäivitage need, et muuta see käigultparandus õigesti toimima.
Sümptomid
Arvestage järgmise stsenaariumiga.
-
Lubate AlwaysOn kättesaadavus rühmad või Logshipping funktsioon Microsoft SQL Server.
-
Kettad, mis salvestavad esmase ja sekundaarse koopia logifailid AlwaysOn kättesaadavuse nimel (AG), on erinevad sektori suurused. Või Logshipping keskkondades on kettad, kus talletatakse Logshipping esmaste serverite ja Logshipping sekundaarsete serverite logifailid, eri sektorite suurused. Näiteks:
-
Peamine koopia logifail asub kettal, mille sektori suurus on 512 baiti. Teise koopia logifail asub kettal, mille sektori suurus on 4 kilobaiti (KB).
-
Peamine koopia logifail asub kohapealses kohalikus süsteemis, mille sektori suurus on 512 baiti. Kuid teisene koopia asub Windows Azure Storage Disk, millel on sektori suurus on 4 kilobaiti (KB).
-
Selle stsenaariumi korral logitakse järgmine tõrketeade SQL serveri tõrkelogi. Tõrketeade võidakse pärast taaskäivitamist jätkata mõneks ajaks pärast taaskäivitamist, kui seal oli logisid, mida ei rakendatud sekundaarsele enne serveri taaskäivitamist.
On olnud X valesti sisestatud Logi IOs-i, mis on nõutud tagasi sünkroonne IO. Praegune IO on failis....
Lisaks töötab AG või Logshipping sünkroonimine väga aeglaselt sünkroonne I/OS-I tõttu. Kui teisene koopia on Windows Azure ' i salvestusruumis, võtab sünkroonimise lõpuleviimiseks oodatust palju kauem aega. Märkus. See probleem ilmneb siis, kui kasutate uusi draive, millel on 4-KB sektori suurus ja vanad draivid, millel on 512-baidine sektori suurus. Lisateavet uute draivide kohta leiate teemast SQL serveri-uute draivide kasutamine 4k sektori suurus ja SQL Server – Salvestusruumid/VHDx ja 4k sektori suurused.
Lahendus
Probleem parandati esmakordselt SQL serveri järgmises koondvärskenduses.
Kumulatiivne Update 5 SQL Server 2014 /en-us/help/3011055
Kumulatiivne värskendus 3 SQL Server 2012 SP2 jaoks /en-us/help/3002049
Kumulatiivne Update 13 SQL Server 2012 SP1 jaoks /en-us/help/3002044
Pärast kiirparanduse rakendamist ja lubada jälituslipp 1800 kui Startup parameeter kõigi serverite kopeerib töötab kettal, mis on sektori suurus 512 baiti, märkate väike kasv järgmiste failide suurus:
-
Tehingulogi failid
-
Logi varundid
Lisaks võite märgata, et esmase serveri SQL serveri tõrkelogi logitakse järgmised sõnumid.
Andmebaasi Logi andmebaasi "<andmebaasi nimi>" on ümber kirjutatud, et sobitada uue sektori suurus 4096 baiti
See on informatiivse sõnum, mida saab ohutult ignoreerida.
Iga uus koondvärskenduses SQL Server sisaldab kõiki käigultparandused ja kõik turvaparandusi, mis kuulusid eelmise koondvärskenduse. Lugege SQL serveri kumulatiivseid värskendusi.
Lahendus
Selle probleemi lahendamiseks viige tehingulogi faili sihtkohta draivile, millel on Bytes per füüsilise sektori komplekt 512 baiti.
Olek
Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.
Lisateave
Kui soovite teha head tavad, veenduge, et kõik koopiad (vähemalt kõikidel ketastel, mida hosti logifailid) sisaldavad, oleks sama sektori suurus. Mixed Environments, kus sekundaarsel on 512 baiti füüsiline sektor ja primaarne sektor on 4 KB, TF 1800 tuleks kasutada Startup lipu all serverites või koopiates, mis on 512-byte füüsilise sektori suurus ja taaskäivitada . See tagab, et käimasoleva Logi loomise vorming kasutab 4-KB sektori suurust. Lisateavet selle kohta, kuidas SQL Server töötab suuremates sektorites, leiate tugiteenuste ajaveebist järgmist postitust. SQL Server – Salvestusruumid/VHDx ja 4k sektori suurusedFsutil käsuviiba utiliidi abil saate määrata baitide füüsilise sektori väärtuse kohta . Kui seda parameetrit ei kuvata väljundina, peate rakendama KB artiklis 982018määratud käigultparanduse. Draivi tüübi kinnitamiseks tehke järgmist.
-
Käivitage järgmine käsk tõstetud käsuviiba kaudu.
Fsutil fsinfo ntfsinfo x: Märkus. X-i kohatäide tähistab ketast, mida kontrollite.
-
Kasutage baitide väärtusi sektori ja baitide kohta füüsilise sektori jaoks, et kindlaks teha, milline ketas teil on. Selleks kasutage järgmist tabelit.
"Baidid sektori kohta" väärtus
"Bytes per füüsilise sektori" väärtus
Draivi tüüp
4096
4096
4K Native
512
4096
Täpsem vorming (tuntud ka kui 512E)
512
512
512-byte Native