Îmbunătățire
Să presupunem că utilizați SQL Server 2017 pe Linux. În anumite scenarii, SQL Server poate avea pierderi de date pe sisteme care utilizează cache-ul volatil. Pierderea se produce din cauza circumstanțelor neprevăzute, cum ar fi insuficiența puterii înainte ca datele memorate în cache să fie scrise într-un mediu stabil. Pentru a preveni astfel de scenarii, un mecanism de spălare forțat este introdus în actualizarea cumulativă 6 (CU6) pentru SQL Server 2017 pe Linux. Dacă subsistemul de stocare nu poate garanta scrierea durabilă prin pierderi de curent, vă recomandăm să aplicați CU6 pentru SQL Server 2017 pe Linux. Această actualizare activează următoarele:
-
Spălarea forțată comportamentul în timpul activității de scriere a bazei de date, cum scrie Checkpoint și jurnal de tranzacții.
-
Setarea de configurarewritethrough = 1și alternatewritethrough = 1Opțiuni în mod implicit. Aceste setări implicite permit SQL Server pentru a vă asigura că scrierile sunt durabil eliminate pentru a bloca dispozitivele. Writethrough supleant este o opțiune pentru optimizarea solicitărilor de descărcare a rezistenței la sistemul de fișiere. Pentru mai multe informații despre cele două setări, consultați tabelul următor:
nume |
Implicit |
Descriere |
writethrough |
1 |
Valorile valide sunt 0 și 1. 1 = traduce FILE_FLAG_WRITE_THROUGH solicitări în O_DSYNC se deschide. 0 = previne Traducerea FILE_FLAG_WRITE_THROUGH solicitărilor de O_DSYNC se deschide. |
alternatewritethough |
1 |
Valorile valide sunt 0 și 1. 1 = activează spălarea optimizată prin extensie gazdă pentru solicitări de FILE_FLAG_WRITE_THROUGH. Scrieți în fișierele pe care le optimizează apelurile către fdatasync pentru dispozitivul Block. 0 = dezactivează optimizarea alternativă a bufeurilor. Fișierul este deschis utilizând O_DSYNC și sistemul de fișiere subiacent efectuează solicitările necesare de scriere, culoare. Notă Setarea alternatewritethrough se aplică numai atunci când writethrough = 1. |
Mai multe informații
Pentru mai multe informații, consultați cele mai bune practici de performanță și instrucțiuni de configurare pentru SQL Server 2017 pe Linux pentru gestionarea frecvenței de scriere a volumului de lucru și a recomandărilor de poziționare a fișierelor de bază de date
Instalările SQL Servercare se execută pe sistemele de stocare care garantează scriereasunt O_DIRECT sigurepot activa Trace Flag (TF) 3979 pentru a dezactiva comportamentul de spălare forțat și a seta opțiunilealternatewritethrough și writethrough în MSSQL. conf la zero. Acest lucru returnează SQL Server 2017 lacomportamentul pre-CU6.
Notă Un sistem de stocare poate asigurați-vă că toate scrierile în cache sau pe etape sunt considerate sigure și durabile, garantând că scrierile emise pe dispozitiv sunt păstrate pe un mediu care va persista în accidente de sistem, resetează interfața și eșecuri de curent, iar mediul propriu-zis este redundant cu hardware-ul.
Iată mai multe detalii despre comportamentul SQL Server pentru fișiere I/O cu aceste modificări:
-
Fișierele de bază de date (. MDF) și jurnal de tranzacții (. ldf) nu utilizează writethrough și alternatewritethrough în mod implicit în CU6, deoarece utilizează comportamentul de spălare forțat . TF 3979 dezactivează utilizarea comportamentului de spălare forțat pentru fișierele de bază de date și jurnal de tranzacții și va utiliza logica writethrough și alternatewritethrough.
-
Alte fișiere care sunt deschise utilizând FILE_FLAG_WRITE_THROUGH în SQL Server, cum ar fi instantanee de baze de date, instantanee interne pentru controalele de consistență a bazei de date (CHECKDB), fișierele de urmărire Profiler și fișierele extinse de urmărire a evenimentelor, vor utiliza optimizările writethrough și alternatewritethrough.
Rezolvare
Această actualizare este inclusă în următoarea actualizare cumulativă pentru SQL Server:
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Cea mai recentă actualizare cumulativă pentru SQL Server 2017
Referințe
Aflați despre terminologiape care o utilizează Microsoft pentru a descrie actualizările de software.