Primenjuje se na
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Simptomi

Razmotrite sledeći scenario:

  • Na njemu se nalazi tabela koja ima grupisane indekse kolona, a tabela ima mnogo kolona (u stotinama).

  • Podaci (tip podataka) ovih kolona su veoma komprimovani podaci kao što je varchar.

  • U ovoj tabeli ćete pokrenuti select da biste izabrali veliki podskup ili sve kolone iz ove tabele.

  • Vaša izjava o izboru ima odredbu WHERE koja ograničava izlaz na veoma malo redova (upit je veoma selektivan).

U ovom scenariju, možete naići na neki od ili svih sledećih simptoma:

  • Uporedni obim posla (drugi upiti koji se izvršavaju istovremeno na serveru kao i ovaj upit), može naići na smanjenje performansi i gubitak protoka.

  • Možda ćete videti povremenu visoku upotrebu CPU-a.

  • Ako izvršite upit sys.dm_os_ring_buffers i prikažete stavke tipa planeraMonitor, pronalazite povremene poruke "planer bez prinosa" koje su evidentirane u vreme izvršavanja ovog upita.

  • Možete dobiti grešku planera koji nije dao u evidenciji grešaka i možda će biti generisana datoteka slike stanja memorije simptoma.

Rešenje

Problem je prvi put otklonjen u sledećoj kumulativnoj ispravki sql servera:

Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su bile uključene u prethodnu kumulativnu ispravku. Preporučujemo da preuzmete i instalirate najnovije kumulativne ispravke za SQL Server:

Više informacija

Popravi detaljeRadnici koji obrađuju segmente kolona (nekompjujući ih i skenirajući ih u potrazi za kvalifikovanim redovima) koristili su se za "prinos" upotrebe CPU-a drugim radnicima/uporednim izvršavanjem upita kada je određeni broj redova bio izlazni. Kada je odredba WHERE bila vrlo selektivna da proizvede mali broj redova, radnici koji obrađuju ovaj upit obradili su nekomprimovan i veliki broj segmenata (jer se vrlo mali broj redova kvalifikuje) pre nego što su odustali od CPU-a na kooperativan način da bi drugi radnici obradili svoj obim posla. To je dovelo do nepravilnog korišćenja CPU-a i degradacije protoka za uporedno opterećenje na poslu. Ispravka optimizuje i poboljšava algoritam deljenja CPU-a za takve upite u kolonama.

Reference

Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.

Da li vam je potrebna dodatna pomoć?

Želite još opcija?

Istražite pogodnosti pretplate, pregledajte kurseve za obuku, saznajte kako da obezbedite uređaj i još mnogo toga.