Momentan sunteți offline, așteptați să vă reconectați la internet

Activați plan care afectează SQL Server query comportament optimizer care poate fi controlat de semnalizatoare de urmărire diferite la nivel de interogare specifică

IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată și poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate și articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cunoștințe în mai multe limbi. Articolele traduse automat și post-editate pot conține greșeli de vocabular, sintaxă și/sau gramatică. Microsoft nu este responsabil de inexactitățile, erorile sau daunele cauzate de traducerea greșită a conținutului sau de utilizarea acestuia de către clienți. Găsiți mai multe informații despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 2801413
Introducere
Începând cu Microsoft SQL Server 2000 pachet Service Pack 3 (SP3), SQL Server echipa de procesor interogare adoptat o politică pe care orice remediere rapidă care pot afecta potențial executarea planificarea unei interogări trebuie să fie controlat de un semnalizator de urmărire. Cu excepția remedieri pentru erori care pot provoca rezultate incorecte sau deteriorarea, aceste remedieri rapide sunt dezactivate implicit, și un semnalizator de urmărire este necesară pentru a activa remedierea. Această politică vă ajută să evitați modificări neașteptate în executarea planuri de lucru existente care pot apărea atunci când este instalată o remediere rapidă sau o actualizare de securitate.

De obicei semnalizatoare de urmărire sunt activate la pornire sau într-o sesiune de utilizator. Cu toate acestea, acest lucru poate avea efect neașteptat pe unele interogări într-o aplicaţie de baze acoperire de date existente. De exemplu, să luăm în considerare o aplicație sau un volum de lucru care conține mai multe interogări și unele dintre aceste interogări utilizează un plan de executare ineficient interogare care este îmbunătățită activând un semnalizator de urmărire care controlează o remediere rapidă corespunzătoare. Cu toate acestea, alte întrebări posibil să apară un plan de execuție mai puțin optimă atunci când se aplică același semnalizatorul de urmărire. Aceasta se întâmplă deoarece executarea plan alegerea afectează toate interogările care sunt compilate în instanța sau sesiune când corespunzătoare pentru semnalizarea de urmărire este activat. În funcție de interogare și a datelor, modificarea modele care sunt utilizate de interogare optimizer poate atât îmbunătăți și scădea plan eficiență și de compilare timpul de execuție pentru anumite interogări.

Dacă un semnalizator de urmărire afectează orice plan de executare interogare într-un mod nedorit, dar îmbunătățește unele alte planul de executare interogare, se recomandă să activați un semnalizator de urmărire corespunzătoare pentru numai o anumită interogare. Puteți face acest lucru prin activare semnalizatorul de urmărire într-o batch (utilizând comanda DBCC TRACEON) înainte de interogare țintă și apoi dezactivarea trace flag (utilizând comanda DBCC TRACEOFF) dreapta după interogarea. Cu toate acestea, acest lucru poate să nu fi întotdeauna posibile pentru a controla textul batch Transact-SQL pentru aplicațiile existente. Poate lung de performanţă într-un volum de lucru existente, și aplicați o modificare care afectează plan disponibile de la o interogare fără a modifica textul batch în sine. Puteți face acest lucru utilizând opțiunea de nivel de interogare pentru a activa un semnalizator de urmărire pentru numai o anumită interogare.

Începând cu Microsoft SQL Server 2005 pachet Service Pack 2 (SP2) și Microsoft SQL Server 2008, opțiunea de nivel de interogare "QUERYTRACEON" este disponibilă. Această opțiune vă permite să pentru a activa un semnalizator de urmărire plan care afectează numai în timpul compilării cu o singură interogare. Ca alte opțiuni de nivel de interogare, puteți folosi împreună cu planul ghiduri pentru a se potrivi cu textul de o interogare în execuție la orice sesiune, și aplica automat un plan care afectează semnalizatorul de urmărire când este fiind compilat această interogare.
Informaţii suplimentare
QUERYTRACEON indiciu este disponibil ca o sugestie de interogare care permite o modificare care afectează plan în interogare optimizator controlat de un semnalizator de urmărire. QUERYTRACEON indiciu este specificat ca parte a clauza OPȚIUNEA similare cu alte sugestii de interogare.

Sintaxă

<querytraceon_hint> ::=       { QUERYTRACEON trace_flag_number }

Argumente

QUERYTRACEON trace_flag_number

Aceasta specifică un plan care afectează urmărire semnalizatorul numărul care este activat în timpul compilarea de interogări. Semnalizatorul de urmărire numerele sunt acceptate:
Semnalizatorul de urmărire Articol din baza de cunoștințe MicrosoftDisponibile în
4199974006Actualizare cumulativă 6 pentru SQL Server 2005 pachet Service Pack 3;
Actualizare cumulativă 7 pentru SQL Server 2008;
Actualizare cumulativă 7 pentru SQL Server 2008 pachet Service Pack 1;
SQL Server 2008 R2 și versiunile ulterioare.
Toate semnalizările de urmărire acoperite de 4199974006Actualizare cumulativă 6 pentru SQL Server 2005 pachet Service Pack 3;
Actualizare cumulativă 7 pentru SQL Server 2008;
Actualizare cumulativă 7 pentru SQL Server 2008 pachet Service Pack 1;
SQL Server 2008 R2 și versiunile ulterioare.
23352413549SQL Server 2005 și versiunile ulterioare.
23402009160SQL Server 2005 și versiunile ulterioare.
2389, 2390NoneSQL Server 2005 și versiunile ulterioare. Pentru o problemă cunoscută în SQL Server 2005 medii consultați 929278.
4136980653Actualizare cumulativă 9 pentru SQL Server 2005 pachet Service Pack 3;
Actualizare cumulativă 7 pentru SQL Server 2008 pachet Service Pack 1;
Actualizarea cumulativă 2 pentru SQL Server 2008 R2 și versiunile ulterioare.
41372658214Actualizare cumulativă 8 pentru SQL Server 2008 pachet Service Pack 2;
Actualizare cumulativă 7 pentru SQL Server 2008 pachet Service Pack 3;
Actualizare cumulativă 5 pentru SQL Server 2008 R2 pachet Service Pack 1;
Cumulativă de actualizări 1 pentru SQL Server 2012 şi versiunile ulterioare.
41382667211Actualizare cumulativă 13 pentru SQL Server 2008 R2;
Actualizare cumulativă 7 pentru SQL Server 2008 R2 pachet Service Pack 1;
Actualizare cumulativă 1 pentru SQL Server 2008 R2 pachet Service Pack 2;
2 de actualizare cumulativă pentru SQL Server 2012 şi versiunile ulterioare.


Următorul plan care afectează Semnalizatoarele de urmărire sunt disponibile în Microsoft SQL Server 2014:
Semnalizatorul de urmărireDescrierea
9481Utilizarea când se execută SQL Server 2014 cu nivelul implicit acoperire de date de compatibilitate 120. Semnalizatorul de urmărire 9481 impune Optimizatorul de interogare se utilizează versiunea 70 (versiunea SQL Server 2012) estimatorului cardinality la crearea planul de interogare.
2312Utilizarea când se execută SQL Server 2014 cu baze acoperire de date de compatibilitate nivel 110, care este nivelul de compatibilitate pentru SQL Server 2012. Semnalizatorul de urmărire 2312 impune Optimizatorul de interogare se utilizează versiunea 120 (versiunea SQL Server 2014) estimatorului cardinality la crearea planul de interogare.

Observaţii

QUERYTRACEON nu este acceptată pentru semnalizările de urmărire decât Semnalizatoarele de urmărire care sunt listate în tabel. Cu toate acestea, această opțiune nu va reveni orice eroare sau un avertisment dacă se utilizează un număr de semnalizatorul de urmărire neacceptate. Dacă semnalizatorul de urmărire specificat nu este cel care afectează un plan de executare interogare, opțiunea vor fi ignorate fără înștiințare.

Mai multe semnalizatorul de urmărire pot fi specificate în clauza opţiune dacă QUERYTRACEON trace_flag_number este duplicat cu numere de semnalizatorul de urmărire diferite.


Executarea unei interogări cu opțiunea QUERYTRACEON necesită apartenență la administrator de sistemfix rol de server.


QUERYTRACEON poate fi utilizată în Plan de ghiduri.
Exemple
  • Aveți posibilitatea să activați toate remedierile care afectează plan controlat de semnalizatorul de urmărire 4199 pentru o anumită interogare. De exemplu, utilizați următoarea interogare:
    SELECT x FROM correlated WHERE f1 = 0 and f2 = 1 OPTION (QUERYTRACEON 4199)
  • Aveți posibilitatea să activați toate remedierile care afectează plan controlat de semnalizatoare de urmărire 4199 și 4137 pentru o anumită interogare. De exemplu, utilizați următoarea interogare:
    SELECT x FROM correlated WHERE f1 = 0 AND f2 = 1 OPTION (QUERYTRACEON 4199, QUERYTRACEON 4137)

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 2801413 - Ultima examinare: 01/20/2016 10:53:00 - Revizie: 5.0

Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard

  • kbinfo kbsurveynew kbexpertiseinter kbhowto kbmt KB2801413 KbMtro
Feedback