KB4131496 - Poboljšanje: Omogućite mehanizam "prisilnog ispiranja" u SQL Server 2017 na Linux

Primenjuje se na
SQL Server 2017 Developer Linux SQL Server 2017 Enterprise Core on Linux SQL Server 2017 Enterprise on Linux SQL Server 2017 Standard on Linux

Napredak

Pretpostavimo da koristite SQL Server 2017 u operativnom sistemu Linux. U određenim slučajevima, SQL Server može dovesti do gubitka podataka na sistemima koji koriste nepostojane keševe. Do gubitka dolazi zbog nepredviđenih okolnosti, kao što je nestanak struje pre nego što se keširani podaci upišu na stabilni medijum. Da bi se sprečili takvi scenariji, mehanizam prisilnog ispiranja uveden je u kumulativnoj ispravci KSNUMKS (CUKSNUMKS) za SQL Server KSNUMKS na Linux-u. Ako vaš podsistem za skladištenje ne može da garantuje trajne performanse upisivanja preko gubitka energije, preporučujemo da primenite CU6 za SQL Server 2017 u operativnom sistemu Linux.

Ova ispravka omogućava sledeće:

  • Ponašanje prinudnog pražnjenja tokom aktivnosti pisanja baze podataka kao što su zapisi u kontrolne tačke i evidencije transakcija.
  • Postavka konfiguracije writethrough=1 and alternatewritethrough=1 opcije su podrazumevane. Ove podrazumevane postavke omogućavaju SQL Server da se uverite da su zapisi trajno ispražnjeni da blokiraju uređaje. Alternativno upisivanje je opcija za optimizaciju trajnosti zahteva za ispiranjem u sistemu datoteka. Više informacija o ove dve postavke potražite u sledećoj tabeli:
Ime Default Opis
Upisivanje 1 Važeće vrednosti su 0 i 1.
1 = Prevodi FILE_FLAG_WRITE_THROUGH zahteve u O_DSYNC otvara.
0 = Sprečava prevođenje FILE_FLAG_WRITE_THROUGH zahteva u O_DSYNC otvara.
AlternateVrite iako 1 Važeće vrednosti su 0 i 1.
1 = Omogućava optimizovano ispiranje od strane proširenja hosta za FILE_FLAG_WRITE_THROUGH zahteve. Pisanje o datotekama Optimizujte pozive fdatasinhronizaciji za blokirani uređaj.
0 = Onemogućava optimizaciju alternativnog ispiranja. Datoteka se otvara pomoću O_DSYNC i osnovni sistem datoteka izvršava neophodne zahteve za pisanje i pražnjenje.
Napomena Postavka "alternativno pisanje" primenjuje se samo kada je writethrough=1.

Više informacija

Više informacija potražite u članku Najbolje prakse za performanse i uputstva za konfiguraciju sistema SQL Server 2017 u operativnom sistemu Linux za rukovanje radnim opterećenjima visokofrekventnog pisanja i preporuke za postavljanje datoteka baze podataka.

SQL Server instalacije koje rade na sistemima za skladištenje koji garantuju da su zapisi O_DIRECT bezbedni može da omogući Trace Flag (TF) 3979 da biste onemogućili ponašanje prinudnog pražnjenja i postavili opcije AlternateVritethrough i Writethrough u mssql.conf na NULA. Ovo vraća SQL Server 2017 u ponašanje pre CU6.

Napomena Sistem za skladištenje može da se uveri da se sva keširana ili postepena pisanja smatraju bezbednim i trajnim tako što garantuje da se zapisi izdati na uređaj čuvaju na medijumu koji će trajati tokom padova sistema, resetovanja interfejsa i nestanka struje, a sam medijum je hardverski suvišan.

Evo više detalja o ponašanju sistema SQL Server za U/I datoteke sa ovim promenama:

  • Datoteke baze podataka (.mdf) i evidencije transakcije (.ldf) podrazumevano ne koriste writethrough i alternatewritethrough u CU6 jer koriste ponašanje prisilnog pražnjenja . TF 3979 onemogućava korišćenje ponašanja prisilnog pražnjenja za datoteke evidencije baza podataka i transakcija i koristiće logiku pisanja i alternativnog pisanja.
  • Druge datoteke koje se otvaraju pomoću FILE_FLAG_WRITE_THROUGH u SQL Server, kao što su snimci baze podataka, unutrašnji snimci za provere usaglašenosti baze podataka (CHECKDB), datoteke praćenja profilera i proširene datoteke praćenja događaja, koristiće optimizacije upisivanja i alternativnog pisanja.

Rešenje

Ova ispravka je uključena u sledeću kumulativnu ispravku za SQL Server:

Kumulativna ispravka 6 za SQL Server 2017

Osnovni podaci o kumulativnim ispravkama za SQL Server:

Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:

Najnovija kumulativna ispravka za SQL Server 2017

Reference

Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.