Bejelentkezés Microsoft-fiókkal
Jelentkezzen be, vagy hozzon létre egy fiókot.
Üdvözöljük!
Válasszon másik fiókot.
Több fiókja van
Válassza ki a bejelentkezéshez használni kívánt fiókot.

BEVEZETÉS

A SQL Server Microsoft SQL Server 2000 Service Pack 3 (SP3) szervizcsomagnál újabb verziói a legtöbb gyorsjavítást a lekérdezés-optimalizálóhoz alapértelmezés szerint nem alapértelmezett állapotban kézbesítették annak érdekében, hogy a meglévő éles ügyfelek ne látják a várt változtatásokat, amelyek teljesítményregressziókat okozhatnak. Eleinte minden gyorsjavítás egy külön nyomkövetési jelölővel lett kézbesítve. Ez a gyakorlat később úgy módosult, hogy a legtöbb jelzőt egyetlen nyomkövetési jelölő (4199) alá egyesítették. Ezt az új eljárást az alábbi frissítésekkel kezdve több verzióban indítottuk el:

  • SQL Server 2005 Service Pack 3 (SP3) 6. összegző frissítés

  • SQL Server 2008 Service Pack 1 (SP1) 7. összegző frissítéscsomag

  • SQL Server 2008 R2 (RTM)

A 4199-es nyomkövetési jelölővel olyan gyorsjavításokat gyűjtöttünk össze, amelyek egy későbbi kiadásban alapértelmezés szerint be voltak kapcsolva, míg más nyomkövetési jelölők voltak használatosak olyan helyzetekre, amikor a javításnak nem az volt a célja, hogy alapértelmezés szerint a jelenlegi formát használja. Az SQL Server 2016 RTM-től kezdődően az adatbázis-kezelő COMPATIBILITY_LEVEL alapértelmezés szerint engedélyezi a nyomkövetésjelölővel kapcsolatos 4199-es gyorsjavításokat. Ez a cikk annak részletesen ismerteti, hogy a 2016-os és újabb verziókban hogyan fognak lesz kézbesíteni a tervet érintő gyorsjavításokat SQL Server 2016-os és újabb verziókhoz.

További információ

Az SQL Server 2016-ban az SQL Server korábbi verzióiban készült 4199-es gyorsjavítások megjelölése az COMPATIBILITY_LEVEL 130-as adatbázis alatt engedélyezetté válik a 4199-es hibajelölő engedélyezése nélkül. A Trace flag 4199 a 2016-os SQL Server 2016-os gyorsjavítások 130-as kompatibilitási szinttel való kiadásához használható. Mivel a 4199-es nyomkövetési jelölő csak azoknak az ügyfeleknek ajánlott, akik konkrét teljesítménybeli problémákat látnak, a 4199-es jelölő eltávolítását javasoljuk az adatbázisok legújabb kompatibilitási szintre való áttelepítése után, mivel a 4199-es hibajelölőt újra felhasználjuk az alkalmazásra esetleg nem alkalmazható későbbi javításokhoz, és váratlan teljesítményváltozásokat okozhatnak az éles rendszereken. Ez azt jelenti, hogy a 4199-es hibajelölő különböző gyorsjavításokat engedélyez minden olyan kompatibilitási szinthez, amelyet egy adott termék kiadása támogat. A legújabb kompatibilitási szint már engedélyezi az összes korábbi javítást a 4199-es hibajelölő alatt. Ez azt jelenti, hogy az adatbázisok legújabb kompatibilitási szintre való frissítése és a 4199-es nyomkövetési jelző eltávolítása lehetővé teszi az összes olyan javítást, amelyekre az adatbázis frissítése előtt szükség volt, az új javításokra nem. Ha az ügyfelek később lekérdezési teljesítménybeli problémákat tapasztalnak, kísérletezzen az adatbázis-hatókörű beállítás QUERY_OPTIMIZER_HOTFIXES vagy a lekérdezési tipp ENABLE_QUERY_OPTIMIZER_HOTFIXES tesztkörnyezetben annak megállapítására, hogy megoldódtak-e a problémák. A részletekről a dokumentációban QUERY_OPTIMIZER_HOTFIXES. 

Megjegyzés: Alapértelmezés szerint az SQL Server 2016-ban létrehozott adatbázisok a 130-as kompatibilitási szintet használják, és az új optimalizáló logikát már engedélyezték.

A modell fő előnye, hogy csökkenti az éles rendszerek kockázatát a frissítési folyamat során. Ez a megközelítés elkülöníti az új főverziók telepítését SQL Server a lekérdezésszerkesztő összes új módosításának automatikus engedélyezésével. Mivel a fő verziófrissítések módosítják a fájlformátumot, és nem változott meg, a COMPATIBILITY_LEVEL beállítás használata jó, mert így az ügyfelek gyorsan visszaminősülnek, ha egy frissítés során váratlan teljesítménybeli probléma történik. Ha egy ügyfél olyan váratlan csomagváltozást talál, amely blokkolja az alkalmazásfrissítést, megkönnyítheti a helyzetet azzal, hogy a Query Store használatával kényszeríti a korábbi tervet, vagy egy kerülő megoldás vagy gyorsjavítás érdekében kapcsolatba lép a Microsoft ügyfélszolgálatával. Ha az összes problémát csökkenti, a frissítés folytatható. Az ügyfeleknek ezt a lehetőséget integrálni kell a 2016-os verzióra SQL Server frissítési tervezésbe.

Az alábbi táblázatban az látható, hogy a 4199-es nyomkövetési jelölő hogyan fog működni a 2016-os SQL Server kezdve.

Beállítás

SQL szintje

Trace flag 4199

Optimizer hotfixes before SQL Server 2016 RTM

Optimizer hotfixes after SQL Server 2016 RTM

1.

120

Kikapcsolva

Letiltva

Letiltva

2.

120

Be

Engedélyezve

Letiltva

3.

130

Kikapcsolva

Kompatibilitási szint szerint engedélyezve

Letiltva

4.

130

Be

Kompatibilitási szint szerint engedélyezve

Kompatibilitási szint szerint engedélyezve

Megjegyzés: A 3. beállítás az újonnan a 2016-os verzióra SQL Server ajánlott.

A 2016-SQL Server utáni főbb kiadások esetében a Microsoft továbbra is ezt a karbantartási modellt fogja használni az optimalizáló gyorsjavítások esetében. Alapértelmezés szerint (vagy minden kiadásban) az előző kiadás nyomkövetési jelölőinek 4199-es gyorsjavításait a következő kompatibilitási szinten engedélyezi a rendszer. Ez azt jelenti, hogy a legújabb kompatibilitási szintre való áttelepítés után az ügyfelek számára a 4199-es nyomkövetési jelző letiltva lesz. A későbbi gyorsjavítások a 4199-es hibajelölőt használva engedélyeznék a javításokat azoknak az ügyfeleknek, akiknek engedélyezniük kell ezeket a gyorsjavításokat egy alkalmazásban. Azt javasoljuk az ügyfeleknek, hogy tiltsák le a 4199-es nyomkövetési jelzőt, miután egy alkalmazás a legújabb kompatibilitási szintre lett frissítve, nehogy váratlan, a jövőben az optimalizáló váratlan módosításai engedélyezve kerüljenek az alkalmazásokban. A legújabb kompatibilitási szintre való frissítés és a 4199-es nyomkövetési jelző eltávolítása továbbra is lehetővé teszi az összes javítást, amelyekre egy terhelés a frissítés előtt volt szükség, az új javításokra nem.

Megjegyzés: Habár számos optimalizáló gyorsjavítás engedélyezett a 4199-es nyomkövetési jelölő alatt, mások más nyomkövetési jelölőket használnak. Trace flag 4199 covered historically covered trace flags that are widely applicable and likely to become enabled by default in a future release. A gyorsjavításokban alternatív nyomkövetési jelzők használatosak, ha a feltételek csak néhány ügyfélre jellemzőek, ahol a javítás teljesítményregressziókat okozhat más típusú alkalmazásokban, vagy ahol a belső funkciók változásokat láthatnak, mielőtt készen áll arra, hogy mindenki számára elérhetővé váljon. A Microsoft továbbra is szükség szerint más nyomkövetési jelzőket fog használni a termék szervizbe való kiszolgálására.

Megjegyzés Ez a cikk a 4199-es hibajelölő gyorsjavítások legújabb kompatibilitási szintjén való kiadására összpontosít. (A kiadványok 2016-ban SQL Server be.) Előfordulhat, hogy az Optimizer gyorsjavításai a SQL Server régebbi verzióiban vagy a 2016-os verzió alacsonyabb kompatibilitási szintjein (120 vagy korábbi) SQL Server adva. A Microsoft minden esetet kiértékel, és meghatározza, hogy a 4199-es vagy egy másik nyomkövetési jelölőt használja-e. Mivel a nem gyorsjavítás módosításai akkor is engedélyezettek, ha egy későbbi kompatibilitási szintre történik áthelyezés, nincs konkrét ígéret arra, hogy a frissítés során (a 4199-es hibajelölővel vagy anélkül) nem történik változás a tervben. Az ügyfeleknek mindig gondosan kell tesztelni a kompatibilitási szint módosításait az éles környezetben használt alkalmazások esetében, és megoldási technológiákat, például a Query Store-t kell használniuk, ha a terv választásával kapcsolatos teljesítménybeli probléma áll ki.

A 4199-es hibajelölő bevezetése előtt az alábbi jelölőjelölőket használták a lekérdezésfeldolgozó gyorsjavításaihoz:

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-es és újabb verziók

A Trace flag 4199 a 2012-es és újabb verziók SQL Server tartalmazza.

A 4199-es jelölő nyomon követésének engedélyezése

A 4199-es nyomkövetési jelzőt indításkor vagy egy felhasználói munkamenetben engedélyezheti. Ez a jelölő globális vagy munkamenetszintű effektust is rendelkezik. A 4199-es nyomkövetési jelölő engedélyezéséhez használja a DBCC TRACEON parancsot, vagy használja a -T 4199 jelölőt indítási paraméterként.

DbCC TRACEON\TRACEOFF használata esetén a program nem hoz létre új gyorsítótárazott tervet a tárolt eljárásokhoz. A tervek a jelölő nélkül létrehozott gyorsítótárban is lehet.

A nyomkövetési jelölők engedélyezéséről és letiltásról, valamint a globális és munkamenet szintű nyomkövetési jelölőinek magyarázatát a SQL Server következő témaköreiben olvassa el:

Hivatkozások

Az új frissítések elnevezési sémáját a SQL Server a következő cikkszámra kattintva megtekintheti a Microsoft Tudásbázisban:

822499
Új elnevezési séma Microsoft SQL Server szoftverfrissítési csomagokhoz
A szoftverfrissítésekkel kapcsolatos terminológiáról a következő cikk számával tájékozódhat a Microsoft Tudásbázisban:

824684
A Microsoft szoftverfrissítéseit leíró általános terminológia leírása

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.

A közösségek segítségével kérdéseket tehet fel és válaszolhat meg, visszajelzést adhat, és részletes ismeretekkel rendelkező szakértőktől hallhat.

Hasznos volt ez az információ?

Mennyire elégedett a fordítás minőségével?
Mi volt hatással a felhasználói élményére?
Ha elküldi a visszajelzést, a Microsoft felhasználja azt a termékei és szolgáltatásai továbbfejlesztéséhez. Az informatikai rendszergazda képes lesz ezeket az adatokat összegyűjteni. Adatvédelmi nyilatkozat.

Köszönjük a visszajelzését!

×