Pastaba
Pritaikius šias karštąsias pataisas, turite įgalinti sekimo vėliavėlę 1800 kaip paleisties parametrą visuose serveriuose arba replikuose, kuriuose yra 512 baitų fizinio sektoriaus dydis ir iš naujo paleiskite juos, kad Ši karštoji pataisa veiktų tinkamai.
Simptomai
Apsvarstykite šį scenarijų:
-
Įgalinkite "AlwaysOn" pasiekiamumo grupes arba Logshipping funkciją "Microsoft SQL Server".
-
Diskai, kuriuose saugomi pirminio ir antrinio replikų, esančių AlwaysOn prieinamumo grupėje (AG), žurnalų failai turi skirtingus sektorių dydžius. Arba Logshipping aplinkoje diskai, kuriuose saugomi žurnalo failai, skirti "Logshipping Primary" serveriams ir Logshipping antriniams serveriams, turi skirtingus sektorių dydžius. Pavyzdžiui:
-
Pirminis replikų žurnalų failas yra diske, kuriame yra 512 baitų sektorių dydis. Tačiau antrinio replikų žurnalų failas yra diske, kuriame yra 4 kilobaitų (KB) sektoriaus dydis.
-
Pirminis replikų žurnalų failas yra vietinėje vietinėje sistemoje, kurios 512 baitų sektorių dydis. Tačiau antrinė replika yra "Windows Azure" saugyklos diske, kuriame yra 4 kilobaitų (KB) sektoriaus dydis.
-
Tokiu atveju SQL serverio klaidų žurnale užregistruojamas šis klaidos pranešimas. Klaidos pranešimas gali tęstis, kol bus paleistas iš naujo, jei buvo žurnalų, kurie nebuvo pritaikyti antriniam serveriui iš naujo.
Yra X netinkamai sulygiuota "IOs", kurios reikia nukrenta į sinchroninį IO. Dabartinis IO yra faile....
Be to, "AG" arba "Logshipping" sinchronizavimas veikia labai lėtai, nes yra "Sinchroninis" I/OS. Jei antrinė replika yra "Windows Azure" saugykloje, ji trunka daug ilgiau nei tikėtasi, kad baigtų sinchronizavimo procesą. Pastaba Ši problema kyla naudojant ir naujus diskus, kuriuose yra 4 KB sektoriaus dydžio ir seni diskai, turintys 512 baitų sektorių dydį. Daugiau informacijos apie naujus diskus ieškokite SQL serverio – nauji diskai naudoja 4k sektoriaus dydį ir SQL serverį – saugyklos vietos/VHDX ir 4k sektoriaus dydis.
Sprendimas
Problema pirmą kartą buvo išspręsta šį kaupiamąjį naujinimą SQL serverio.
Kaupiamasis naujinimas 5 SQL serverio 2014 /en-us/help/3011055
Kaupiamasis naujinimas 3 SQL serverio 2012 SP2 /en-us/help/3002049
Kaupiamasis naujinimas 13 SQL serverio 2012 SP1 /en-us/help/3002044
Pritaikę karštąsias pataisas ir įgalindami sekimo vėliavėlę 1800 kaip paleisties parametrą visose serverių replikose, kurios veikia diske, kuriame yra 512 baitų sektorių dydis, pastebite mažą šių failų dydžio padidėjimą:
-
Operacijų žurnalų failas
-
Žurnalų atsarginės kopijos
Be to, pastebite, kad "SQL Server" pagrindinio serverio klaidos žurnale užregistruojamas toliau nurodyti laiškai:
Duomenų bazės "<duomenų bazės pavadinimas>" žurnalų uodega yra perrašoma, kad atitiktų naująjį 4096 baitų sektorių dydį
Tai informacinis pranešimas, kuris gali būti saugiai ignoruojamas.
Kiekvienas naujas Kaupiamasis naujinimas, skirtas "SQL Server", yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio kaupiamojo naujinimo. Peržiūrėkite naujausius kaupiamuosius SQL serverio naujinimus:
Sprendimas
Norėdami išspręsti šią problemą, perkelkite operacijų žurnalų failą į paskirties vietą į diską, kuriame yra baitų kiekviename fiziniame sektoriuje nustatyta kaip 512 baitų.
Statusą
"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.
Daugiau informacijos
Kaip geriausią praktiką, įsitikinkite, kad visi diskai visuose replikuose (bent visuose diskuose, kuriuose yra pagrindinio kompiuterio žurnalų failai) turi tą patį sektorių dydį. Mišrioje aplinkoje, kurioje antrinis sektorius yra 512 baitų, o pirminė yra 4 KB sektorių dydis, "TF 1800" turėtų būti naudojamas kaip paleisties vėliavėlė visuose serveriuose ar replikuose, kuriuose yra 512 baitų fizinio sektoriaus dydžio ir paleistas iš naujo . Tai užtikrina, kad tebevykstančiame žurnalų kūrimo formate naudojamas 4 KB sektoriaus dydis. Daugiau informacijos apie tai, kaip SQL serveris veikia su didesniais sektoriais, ieškokite toliau pateiktame įraše palaikymo interneto dienoraštyje: " SQL Server" – saugyklos vietos/VHDx ir 4k sektoriaus dydis Galite naudoti " fsutil" komandų eilutės priemonę , Norėdami nustatyti baitus vienam fiziniam sektoriui . Jei šis parametras nerodomas išvestyje, turite taikyti karštąją pataisą, nurodytą KB straipsnyje 982018. Norėdami patikrinti, kokio tipo loginį diską turite, atlikite šiuos veiksmus:
-
Didesnių teisių komandų eilutėje vykdykite šią komandą:
Fsutil fsinfo ntfsinfo x: Pastaba X vietos rezervavimo ženklas nurodo jūsų tikrinamo disko vietą.
-
Naudokite reikšmę baitų vienam sektoriui ir baitų kiekviename fiziniame sektoriuje , kad nustatytumėte, kokio tipo loginį diską turite. Norėdami tai padaryti, naudokite toliau pateiktą lentelę:
"Baitų pagal sektorių" reikšmė
"Baitų kiekviename fiziniame sektoriuje" reikšmė
Disko tipas
4096
4096
Vietinis 4K
512
4096
Išplėstinis formatas (dar vadinamas 512E)
512
512
512 – baitų gimtoji