Kada primijenite taj hitni popravak, morate omogućiti zastavicu praćenja 1800 kao parametar pokretanja na svim poslužiteljima ili replikama koji imaju veličinu fizičkog sektora od 512 bajtova i ponovno ih pokrenuti da bi taj hitni popravak ispravno funkcionirao.
Simptomi
Razmislite o sljedećem scenariju:
-
Omogućite značajku AlwaysOn Availability Groups ili Logshipping u aplikaciji Microsoft SQL Server.
-
Diskovi koji pohranjuju datoteke zapisnika primarne i sekundarne replike u grupi AlwaysOn Availability Group (AG) imaju različite veličine sektora. Ili u okruženjima Logshipping diskovi u kojima se pohranjuju datoteke zapisnika za primarne poslužitelje logshippinga i sekundarni poslužitelji logature imaju različite veličine sektora. Na primjer:
-
Datoteka zapisnika primarne replike nalazi se na disku veličine sektora od 512 bajtova. No datoteka zapisnika sekundarne replike nalazi se na disku koji ima veličinu sektora od 4 kilobajta (KB).
-
Datoteka zapisnika primarne replike nalazi se u lokalnom sustavu koji ima veličinu sektora od 512 bajtova. No sekundarna replika nalazi se na disku za pohranu platforme Windows Azure koji ima veličinu sektora od 4 kilobajta (KB).
-
U ovom scenariju sljedeća poruka o pogrešci zapisuje se u zapisnik SQL Server pogreške. Poruka o pogrešci može se nastaviti još nekoliko puta nakon ponovnog pokretanja ako su se prije ponovnog pokretanja poslužitelja primijenili zapisnici koji nisu primijenjeni na sekundarno.
Došlo je do X pogrešno poravnate log IOs koji je zahtijevao povratak na sinkroni IO. Trenutni IO je u datoteci ....
Osim toga, sinkronizacija AG ili Logshippinga pokreće se vrlo sporo zbog sinkronog I/Os-a. Ako se sekundarna replika nalazi u spremištu platforme Windows Azure, dovršetak postupka sinkronizacije traje mnogo dulje od očekivanog.
Napomena Taj se problem pojavljuje kada koristite i nove pogone koji imaju veličinu sektora od 4 kB i stare pogone koji imaju veličinu sektora od 512 bajtova. Dodatne informacije o novim pogonima potražite u članku SQL Server – novi pogoni Korištenje veličine 4K sektora i SQL Server–Prostori za pohranu/VHDx i veličina sektora 4K.
Rješenje
Problem je prvi put riješen u sljedećem kumulativnom ažuriranju SQL Server.
Kumulativno ažuriranje 5 za SQL Server 2014 /en-us/help/3011055
Kumulativno ažuriranje 3 za SQL Server 2012 SP2 /en-us/help/3002049
Kumulativno ažuriranje 13 za SQL Server 2012 SP1 /en-us/help/3002044
Kada primijenite hitni popravak i omogućite zastavicu praćenja 1800 kao parametar pokretanja na svim replikama poslužitelja na disku koji ima veličinu sektora od 512 bajtova, primijetit ćete malo povećanje veličine sljedećih datoteka:
-
Datoteka zapisnika transakcija
-
Sigurnosno kopiranje zapisnika
Osim toga, primijetit ćete da su sljedeće poruke zabilježene u zapisniku SQL Server pogreške primarnog poslužitelja:
Rep zapisnika za bazu podataka "naziv <baze podataka> " prepisuje se tako da odgovara veličini novog sektora od 4096 bajtova
Ovo je informativna poruka koju je moguće zanemariti.
Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne popravke koji su obuhvaćeni prethodnim kumulativnim ažuriranjem. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Zaobilazno rješenje
Da biste zaobišli taj problem, premjestite datoteku zapisnika transakcija na odredištu na pogon na kojem su bajti po fizičkom sektoru postavljeni kao 512 bajtova.
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku "Odnosi se na".
Dodatne informacije
U najboljem se praksi pobrinite da svi diskovi na svim replikama (barem svi diskovi s datotekama zapisnika glavnog računala) imaju istu veličinu sektora. U mješovitim okruženjima, u kojima sekundarni ima fizički sektor od 512 bajtova, a primarni ima sektor veličine 4 KB, TF 1800 treba koristiti kao zastavicu pokretanja na svim poslužiteljima ili replikama koje imaju veličinu fizičkog sektora od 512 bajtova i ponovno ih pokrenuti. Time se jamči da oblik stvaranja zapisnika u tijeku koristi veličinu sektora od 4 kB.
Dodatne informacije o SQL Server s većim veličinama sektora potražite u sljedećoj objavi na blogu o podršci:
SQL Server–Prostori za pohranu/VHDx i veličina sektora 4K
Pomoću uslužnog programa naredbenog retka Fsutil možete odrediti vrijednost bajtova po fizičkom sektoru. Ako taj parametar nije vidljiv u izlazu, morate primijeniti hitni popravak naveden u članku baze znanja 982018 .
Da biste provjerili koju vrstu pogona imate, slijedite ove korake:
-
Pokrenite sljedeću naredbu u povišenom naredbenom retku:
Fsutil fsinfo ntfsinfo x: Napomena Rezervirano mjesto x predstavlja pogon koji provjeravate.
-
Pomoću vrijednosti za bajtove po sektoru i bajtovima po fizičkom sektoru odredite vrstu pogona koji imate. Da biste to učinili, koristite sljedeću tablicu:
Vrijednost "Bajtova po sektoru"
Vrijednost "Bajtova po fizičkom sektoru"
Vrsta pogona
4096
4096
4K izvorni
512
4096
Napredni oblik (poznat i pod nazivom 512E)
512
512
512-bajtni izvorni