UVOD

Verzije Microsoft SQL Server od SQL Server 2000 Service Pack 3 (SP3) isporučili su većinu hitnih popravaka u alat za optimizaciju upita u off-by-default stanju da bi se postojećim proizvodnim korisnicima onemogućilo da vide očekivane promjene plana koje mogu uzrokovati regresije performansi. Isprva je svaki hitni popravak isporučen pod zasebnom zastavicom praćenja. Kasnije je ta praksa promijenjena tako da je većina zastavica kombinirana pod jednom zastavicom praćenja (4199). Ta je nova praksa pokrenuta u više verzija počevši od sljedećih ažuriranja:

  • SQL Server 2005 Service Pack 3 (SP3) Kumulativno ažuriranje 6

  • SQL Server 2008 Service Pack 1 (SP1) Kumulativnim ažuriranjem paketa 7

  • SQL Server 2008 R2 (RTM)

Praćenje zastavice 4199 korišteno je za prikupljanje hitnih popravaka koji su trebali postati po zadanom u budućem izdanju, dok su se druge zastavice praćenja koristile za situacije u kojima popravak nije bio namijenjen da postane po zadanom u trenutnom obrascu. Počevši od SQL Server 2016 RTM, koristit će se postavka COMPATIBILITY_LEVEL baze podataka omogućiti praćenje zastavice 4199 povezane s hitnim popravcima po zadanom. U ovom se članku opisuje mehanika i pravilnik o tome kako će se hitni popravci koji utječu na plan isporučiti za SQL Server 2016 i novije verzije.

Dodatne informacije

U programu SQL Server 2016 praćenje hitnih popravaka 419 SQL Server 9 zastavica koje su 2016. 2016. omogućeno je u odjeljku baza podataka COMPATIBILITY_LEVEL 130 bez omogućenog praćenja zastavice 4199. Praćenje zastavice 4199 koristit će se za izdavanje svih budućih hitnih popravaka SQL Server 2016 za baze podataka pomoću razine kompatibilnosti 130. Budući da se zastavica praćenja 4199 preporučuje samo korisnicima koji vide određene probleme s performansama, korisnicima se preporučuje uklanjanje zastavice praćenja 4199 nakon migracije baza podataka na najnoviju razinu kompatibilnosti jer će se zastavica praćenja 4199 ponovno koristiti za buduće popravke koji se možda ne odnose na vašu aplikaciju i mogu uzrokovati neočekivane promjene performansi plana u proizvodnom sustavu. To znači da su za svaku razinu kompatibilnosti podržane u određenom izdanju proizvoda omogućeni različiti hitni popravci zastavice praćenja 4199. Najnovija razina kompatibilnosti već omogućuje sve prethodne popravke pod zastavicom praćenja 4199. To znači da nadogradnja baze podataka na najnoviju razinu kompatibilnosti i uklanjanje zastavice praćenja 4199 i dalje omogućuje sve popravke koje je radno opterećenje nadograđeno prije nadogradnje baze podataka, ali ne i novih popravaka. Ako kasnije korisnici naiskuju probleme s performansama upita, eksperimentirajte s omogućivanjem mogućnosti opsega baze podataka QUERY_OPTIMIZER_HOTFIXES ili upit ENABLE_QUERY_OPTIMIZER_HOTFIXES u testnom okruženju da biste utvrdili jesu li problemi riješeni. Pogledajte dokumentaciju o QUERY_OPTIMIZER_HOTFIXES

Napomena Prema zadanim postavkama baze podataka stvorene u programu SQL Server 2016 koriste razinu kompatibilnosti 130 i već su omogućene nove logike optimizatora.

Glavna je prednost ovog modela smanjenje rizika za proizvodne sustave tijekom postupka nadogradnje. Tim se pristupom odvaja instalacija nove glavne verzije SQL Server od automatskog omogućivanja svih novih promjena procesora upita. Budući da nadogradnje glavnih verzija mijenjaju oblik datoteke i nisu reverzibilne, dobro je koristiti postavku COMPATIBILITY_LEVEL jer to klijentu omogućuje brzo vraćanje na stariju verziju ako se tijekom nadogradnje pojavi neočekivani problem s performansama plana. Ako korisnik pronađe neočekivanu promjenu plana koja blokira nadogradnju aplikacije, korisnik može olakšati situaciju primjenom odgovarajućeg podsjetnika o planu pomoću spremišta upita da biste prisilno na silu nagradili prethodnu radnju ili se možete lakše riješiti tako da se obratite Microsoftovoj službi za korisnike da biste pomogli s problemom u pružanju zaobilaznog rješenja ili hitnog popravka. Kada se svi problemi smanje, nadogradnja se može nastaviti. Korisnici bi tu mogućnost trebali integrirati u planiranje nadogradnje za SQL Server 2016.

U sljedećoj se tablici objašnjava kako će zastavica praćenja 4199 funkcionirati počevši od SQL Server 2016.

Postavljanje

SQL kompatibilnosti

Praćenje zastavice 4199

Hitni popravci za optimizaciju prije SQL Server 2016 RTM

Hitni popravci za optimizaciju nakon SQL Server 2016 RTM

1.

120

Isključeno

Onemogućeno

Onemogućeno

2.

120

Na stranici

Omogućeno

Onemogućeno

3.

130

Isključeno

Omogućeno prema razini kompatibilnosti

Onemogućeno

4.

130

Na stranici

Omogućeno prema razini kompatibilnosti

Omogućeno prema razini kompatibilnosti

Napomena Postavka br. 3 preporučuje se korisnicima koji se tek nadograđuju na SQL Server 2016.

Za glavna izdanja nakon SQL Server 2016. Microsoft planira nastaviti koristiti ovaj model servisiranja za hitne popravke optimizatora. Prema zadanim postavkama, ili svako izdanje, svi hitni popravci zastavice praćenja 4199 iz prethodnog izdanja bit će omogućeni na sljedećoj razini kompatibilnosti. To znači da će preporučeno stanje za korisnike nakon migracije na najnoviju razinu kompatibilnosti biti onemogućena zastavica praćenja 4199. Kasniji hitni popravci koristili bi zastavicu praćenja 4199 da bi se omogućili popravci za korisnike koji moraju omogućiti te specifične hitne popravke u aplikaciji. Korisnicima se preporučuje onemogućivanje praćenja zastavice 4199 nakon nadogradnje aplikacije na najnoviju razinu kompatibilnosti da bi se neočekivano omogućile neočekivane buduće promjene optimizatora u aplikaciji. Nadogradnja na najnoviju razinu kompatibilnosti i uklanjanje zastavice praćenja 4199 i dalje omogućuje sve popravke koje je radno opterećenje nadograđeno prije nadogradnje, ali ne i nove popravke.

Napomena Iako su pod zastavicom praćenja 4199 omogućeni mnogi hitni popravci optimizatora, neki koriste druge zastavice praćenja. Prati zastavicu 4199 povijesno pokrivene zastavice praćenja koje su široko primjenjive i koje će vjerojatno postati omogućene po zadanom u budućem izdanju. Zamjenske zastavice praćenja koriste se u hitnim popravcima u kojima su uvjeti vrlo specifični za samo nekoliko korisnika, pri kojima popravak može uzrokovati regresije performansi u drugim vrstama aplikacija ili u kojima interne funkcije mogu vidjeti promjene prije nego što bude spreman za omogućivanja svima. Microsoft će i dalje koristiti druge zastavice praćenja po potrebi da bi servis e-uređaj servisa.

Napomena Ovaj se članak fokusira na model objavljivanja hitnih popravaka zastavice praćenja 4199 na najnovijoj razini kompatibilnosti najnovijeg proizvoda. (U vrijeme objave to je SQL Server 2016.) Hitni popravci optimizatora mogu se osloboditi u starijim verzijama sustava SQL Server ili na nižim razinama kompatibilnosti (120 ili starijim) SQL Server 2016. Microsoft će procijeniti svaki slučaj i odrediti hoće li koristiti zastavicu praćenja 4199 ili drugu zastavicu praćenja. Budući da su promjene bez hitnog popravka omogućene i kada se pomakne na kasniju razinu kompatibilnosti, ne postoji određeno obećanje da se promjene plana neće odvijati tijekom nadogradnje (sa zastavicom praćenja 4199 ili bez nje). Korisnici bi uvijek trebali pažljivo testirati promjene razine kompatibilnosti za proizvodne aplikacije i koristiti tehnologije ublažavanja, kao što je Spremište upita, ako postoji problem s performansama vezanim uz odabir plana.

Na primjer, sljedeće zastavice praćenja korištene su za hitne popravke procesora upita prije uvođenja zastavice praćenja 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 novije verzije

Zastavica praćenja 4199 obuhvaćena je verzijama izdanja sustava SQL Server 2012 i novijim verzijama.

Omogućivanje zastavice praćenja 4199

Zastavicu praćenja 4199 možete omogućiti prilikom pokretanja ili u sesiji korisnika. Ta zastavica praćenja ima učinak na globalnoj razini ili razini sesije. Da biste omogućili zastavicu praćenja 4199, koristite naredbu DBCC TRACEON ili koristite –T 4199 kao parametar pokretanja.

Ako se koristi DBCC TRACEON\TRACEOFF, time se ne regenerira novi predmemorirani plan za pohranjene postupke. Tarife mogu biti u predmemoriji stvorenoj bez zastavice praćenja.

Detaljne informacije o omogućivanja ili onemogućivanja zastavica praćenja i objašnjenja globalnih zastavica i zastavica praćenja na razini sesije potražite u sljedećim temama u odjeljku SQL Server Books Online:

Reference

Dodatne informacije o shemi imenovanja za SQL Server ažuriranja potražite u članku iz Microsoftove baze znanja pod brojem

822499
Nova shema imenovanja za Microsoft SQL Server pakete softverskih ažuriranja
Dodatne informacije o terminologiji ažuriranja softvera potražite u članku iz Microsoftove baze znanja pod brojem

824684
Opis standardne terminologije koja se koristi za opis microsoftovih softverskih ažuriranja

Potrebna vam je dodatna pomoć?

Proširite svoje vještine
Istražite osposobljavanje
Prvi koristite nove značajke
Pridružite se Microsoft Insidere

Jesu li ove informacije bile korisne?

Koliko ste zadovoljni kvalitetom prijevoda?
Što je utjecalo na vaše iskustvo?

Hvala vam na povratnim informacijama!

×