Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

INTRODUCERE

Versiunile de Microsoft SQL Server ulterioare versiunii de SQL Server 2000 Service Pack 3 (SP3) au livrat cele mai multe remedieri rapide la optimizatorul de interogări într-o stare dezactivată în mod implicit, pentru SQL Server împiedica clienții din producție existenți să vadă modificările așteptate ale planului, care ar putea cauza regresii ale performanței. La început, fiecare remediere rapidă a fost livrată sub un semnalizator de urmărire separat. Ulterior, această practică a fost modificată, astfel încât majoritatea semnalizărilor au fost combinate sub o singură semnalizare de urmărire (4199). Această practică nouă a fost inițiată în mai multe versiuni, începând cu următoarele actualizări:

  • SQL Server 2005 Service Pack 3 (SP3) actualizarea cumulativă 6

  • SQL Server 2008 Cu pachetul Service Pack 1 (SP1) cumulativ 7

  • SQL Server 2008 R2 (RTM)

Trace flag 4199 a fost utilizat pentru a colecta remedieri rapide care au fost menite să devină implicit într-o lansare viitoare, în timp ce alte semnalizări de urmărire au fost utilizate pentru situațiile în care o remediere nu a fost intenționată să devină implicit în formularul curent. Începând cu SQL Server 2016 RTM, setarea pentru COMPATIBILITY_LEVEL bazei de date va fi utilizată pentru a activa remedierile rapide legate de semnalizarea 4199 în mod implicit. Acest articol descrie formulele și politica pentru remedierea rapidă care afectează planul pentru SQL Server 2016 și versiunile mai recente.

Mai multe informații

În SQL Server 2016, remedierile rapide de urmărire 4199 efectuate la versiunile anterioare de SQL Server vor deveni activate sub baza de date COMPATIBILITY_LEVEL 130 fără semnalizarea de urmărire 4199 activată. Semnalizarea de urmărire 4199 va fi utilizată pentru a lansa orice remedieri rapide viitoare SQL Server 2016 pentru bazele de date utilizând nivelul de compatibilitate 130. Deoarece semnalizarea de urmărire 4199 este recomandată doar pentru clienții care văd anumite probleme de performanță, se recomandă ca clienții să elimine semnalizarea de urmărire 4199 după ce aceștia migrează bazele de date la cel mai recent nivel de compatibilitate, deoarece semnalizatorul de urmărire 4199 va fi reutilizat pentru remedierile viitoare care pot să nu se aplice la aplicația dvs. și ar putea cauza modificări neașteptate ale performanței planului pentru un sistem de producție. Acest lucru înseamnă că sunt activate diferite remedieri rapide 4199 pentru fiecare nivel de compatibilitate care este acceptat într-o anumită lansare de produs. Cel mai recent nivel de compatibilitate activează deja toate remedierile anterioare de sub semnalizarea de urmărire 4199. Acest lucru înseamnă că upgrade-ul unei baze de date la cel mai recent nivel de compatibilitate și eliminarea semnalizatorului de urmărire 4199 încă activează toate remedierile pe care le-a îmbunătățit un volum de lucru înainte de upgrade-ul bazei de date, dar nu remedieri noi. Dacă la un moment dat clienții experimentează mai târziu problemele de performanță a interogărilor, experimentați cu activarea opțiunii pentru domeniul bazei de date QUERY_OPTIMIZER_HOTFIXES sau a indiciilor de interogare ENABLE_QUERY_OPTIMIZER_HOTFIXES într-un mediu de testare pentru a determina dacă problemele sunt rezolvate. Consultați documentația despre QUERY_OPTIMIZER_HOTFIXES

Notă În mod implicit, bazele de date create în SQL Server 2016 utilizează nivelul de compatibilitate 130 și au activată deja noua logică de optimizare.

Avantajul principal al acestui model este că reduce riscul pentru sistemele de producție în timpul procesului de upgrade. Această abordare separă instalarea unei noi versiuni majore de SQL Server de activarea automată a tuturor modificărilor noul procesor de interogare. Deoarece upgrade-urile majore pentru versiuni modifică formatul de fișier și nu sunt ireversibile, se bună idee să utilizați setarea COMPATIBILITY_LEVEL, deoarece acest lucru îi permite unui client să retrogradeze rapid dacă se află o problemă de performanță neașteptată a planului în timpul unui upgrade. Dacă un client găsește o modificare neașteptată a planului care blochează un upgrade de aplicație, clientul poate ușura situația aplicând un indiciu de plan corespunzător utilizând Magazinul de interogări pentru a impune planul anterior sau poate ușura situația contactând Asistența pentru clienți Microsoft pentru ajutor în această problemă, pentru a furniza o soluție sau o remediere rapidă. Atunci când toate problemele sunt mai puține, upgrade-ul poate continua. Clienții ar trebui să integreze această capacitate în planificarea upgrade-ului pentru SQL Server 2016.

Următorul tabel explică modelul pentru modul în care va funcționa semnalizarea de urmărire 4199 începând cu SQL Server 2016.

Setare

SQL de compatibilitate

Trace flag 4199

Remedieri rapide ale optimizării înainte SQL Server 2016 RTM

Remedieri rapide ale optimizării SQL Server 2016 RTM

1.

120

Dezactivat

Dezactivat

Dezactivat

2.

120

Dați clic pe

Activat

Dezactivat

3.

130

Dezactivat

Activat de nivelul de compatibilitate

Dezactivat

4.

130

Dați clic pe

Activat de nivelul de compatibilitate

Activat de nivelul de compatibilitate

Notă Setarea nu. 3 este recomandat clienților care fac recent upgrade la SQL Server 2016.

Pentru lansări majore după SQL Server 2016, Microsoft plănuiește să continue să folosească acest model de servicii pentru remedieri rapide de tip optimizer. În mod implicit sau fiecare lansare, orice remediere rapidă a semnalizărilor de urmărire 4199 din versiunea anterioară va fi activată în următorul nivel de compatibilitate. Aceasta înseamnă că starea recomandată pentru clienți după migrarea la cel mai recent nivel de compatibilitate va fi să aibă semnalizatorul de urmărire 4199 dezactivat. Remedierile rapide ulterioare vor utiliza semnalizarea de urmărire 4199 pentru a activa remedierile pentru clienții care trebuie să activează acele remedieri rapide specifice într-o aplicație. Se recomandă ca clienții să dezactiveze semnalizarea de urmărire 4199 după ce o aplicație face upgrade la cel mai recent nivel de compatibilitate, pentru a evita ca modificările neașteptate ale optimizatorului viitor să fie activate în mod neașteptat într-o aplicație. Acest upgrade la cel mai recent nivel de compatibilitate și eliminarea semnalizărilor de urmărire 4199 activează în continuare toate remedierile pe care un volum de lucru le-a îmbunătățit înainte de upgrade, dar nu remedierile noi.

Notă Deși multe remedieri rapide de optimizare sunt activate sub semnalizarea de urmărire 4199, unele utilizează alte semnalizări de urmărire. Trace flag 4199 historically covered trace flags that are widely applicable and likely to enabled by default in a future release. Semnalizările de urmărire alternative sunt utilizate în remedieri rapide unde condițiile sunt foarte specifice doar pentru câțiva clienți, unde remedierea poate cauza regresii ale performanței în alte tipuri de aplicații sau în care funcționalitatea internă poate vedea modificări înainte să fie gata să fie activată pentru toată lumea. Microsoft va continua să utilizeze alte semnalizări de urmărire, după cum este necesar, pentru a service produsul.

Notă Acest articol se concentrează pe model pentru lansări de remedieri rapide 4199 pentru cel mai recent nivel de compatibilitate al cel mai recent produs. (La momentul publicației, aceasta este SQL Server 2016.) Remedierile rapide optimizate pot fi lansate în versiunile mai vechi de SQL Server de pe piață sau la nivelurile de compatibilitate inferioare (120 sau anterioare) SQL Server 2016. Microsoft va evalua fiecare caz și va determina dacă să utilizeze semnalizarea de urmărire 4199 sau o altă semnalizare de urmărire. Deoarece modificările non-remediere rapidă sunt activate și atunci când se face o mutare la un nivel de compatibilitate mai recent, nu există nicio promisiuni specifice că nu vor apărea modificări de plan în timpul unui upgrade (cu sau fără semnalizarea de urmărire 4199). Clienții trebuie să testeze întotdeauna modificările la nivel de compatibilitate cu atenție pentru aplicațiile de producție și ar trebui să utilizeze tehnologiile de atenuare, cum ar fi Magazinul de interogări, dacă există o problemă de performanță legată de planul de performanță.

Pentru referință, au fost utilizate următoarele semnalizări de urmărire pentru remedierile rapide ale procesorului de interogare înainte de introducerea semnalizărilor de urmărire 4199:

4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 4115, 4116, 4117, 4119, 4120, 4121, 4122, 4124, 4125, 4126, 4127, 4128, 4129, 4131, 4133, 4135.

SQL Server 2012 și versiuni mai recente

Semnalizarea de urmărire 4199 este inclusă în versiunile de lansare SQL Server 2012 și versiunile mai recente.

Cum se activează semnalizarea de urmărire 4199

Puteți activa semnalizarea de urmărire 4199 la pornire sau într-o sesiune de utilizator. Această semnalizare de urmărire are efect fie la nivel global, fie la nivel de sesiune. Pentru a activa semnalizarea de urmărire 4199, utilizați comanda DBCC TRACEON sau utilizați –T 4199 ca parametru de pornire.

Dacă este utilizat DBCC TRACEON\TRACEOFF, aceasta nu regenerează un nou plan memorat în cache pentru procedurile stocate. Planurile pot fi în cache care au fost create fără semnalizarea de urmărire.

Pentru informații detaliate despre cum să activați sau să dezactivați semnalizările de urmărire și pentru explicații ale semnalizărilor globale și la nivel de sesiune, consultați următoarele subiecte din SQL Server Cărți online:

Referințe

Pentru mai multe informații despre schema de denumire pentru SQL Server, faceți clic pe următorul număr de articol pentru a vedea articolul din Baza de cunoștințe Microsoft:

822499
Schemă nouă de denumire pentru Microsoft SQL Server de actualizare de
software Pentru mai multe informații despre terminologia privind actualizările de software, faceți clic pe următorul număr de articol pentru a vedea articolul din Baza de cunoștințe Microsoft:

824684
Descrierea terminologiei standard utilizată pentru a descrie actualizările de software Microsoft

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×