KB3191487 - Poboljšana stabilnost SQL Servera i uporedno izvršavanje upita za neke upite u oblasti kolona u sql Server 2014 i 2016

Radite bilo gde na bilo kom uređaju sa uslugom Microsoft 365

Nadogradite na Microsoft 365 da biste radili bilo gde sa najnovijim funkcijama i ispravkama.

Nadogradi odmah

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.

Potrebna vam je dodatna pomoć?

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Microsoft insajdere

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Izgleda da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×