Simptomi
Pretpostavimo da koristite Microsoft SQL Server 2014. Možda ćete naići na sljedeća dva pitanja koja su obuhvaćena bilješkama sustava SQL Server 2014 release:
-
Propušteni Detalji o indeksu neispravno izvješće obuhvaćeno stupcima zaproblem s tablicom optimiziranom za memoriju: ako SQL Server 2014 otkrije indeks koji nema za upit u tablici optimiziranoj za memoriju, ona će prijaviti indeks koji nema u SHOWPLAN_XML, kao i u programu indeksa koji nema, kao što je sys.dm_db_missing_index_details. U nekim slučajevima podaci o indeksu koji nestaju sadržavat će uključene stupce. Budući da su svi stupci implicitno obuhvaćeni svim indekseima u tablicama optimiziranima za memoriju, nije dopušteno eksplicitno specificirati uvršteni stupci s indeksepomoću optimizirane memorije.
-
Propuštene pojedinosti indeksa nedostaje indeksira ako indeks raspršivanja postoji, ali nije pogodan za problem s upitom: ako imate indeks hash u stupcima na kojoj se naziva tablica s optimiziranom memorijom, no indeks se ne može koristiti za upit, SQL Server 2014 neće uvijek prijaviti indeks koji nedostaje u SHOWPLAN_XML i u DMV sys.dm_db_missing_index_details. Ako upit sadrži predike jednakosti koje obuhvaćaju podskup stupaca ključa indeksa ili ako sadrži PREDIVE nejednakosti koje obuhvaćaju stupce s ključem indeksa, indeks raspršivanja ne može se koristiti kao što jest, a drugi indeks mora biti obavezan za učinkovito izvršavanje upita.
Uzrok
Problemi se javljaju jer nelogična logika indeksa u Optimizatoru upita ne razlikuje tradicionalne negrupirane indekse u tablicama s diskovima i novim vrstama indeksa za tablice optimizirane za memoriju.
Rješenje
Problemi su prvi put ispravljeni u sljedećem kumulativnom ažuriranju sustava SQL Server.
Kumulativno ažuriranje 1 za SQL Server 2014 /en-us/help/2931693
Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Zaobilazno rješenje
Da biste zaobišli te probleme, upotrijebite sljedeće zaobilazno rješenje:
-
Zaobilazno rješenje za problem: nepravilno izvješće o indeksu koji nema odgovarajuće podatke koji su obuhvaćeni stupcima za stolno Optimizirano memoriranje ne navedite uvjet Uključi s indeksom u tablicama optimiziranima
-
Zaobilazno rješenje za problem: propušteni Detalji o indeksu propuštati indekse ako postoji indeks raspršivanja, ali nije pogodan za slučaj queryIn pomoću indeksa raspršivanja, provjerite upite i planove upita da biste odredili mogu li upiti imati koristi od operacija traženja indeksa na podskupu ključa indeksa ili traži operacije indeksa nejednakosti. Ako morate tražiti podskup ključa indeksa, upotrijebite NEGRUPIRANI indeks ili koristite indeks raspršivanja na točno stupcima koje trebate potražiti. Ako trebate zatražiti nejednakost, koristite NEGRUPIRANI indeks umjesto HASH.
Napomena Zaobilazno rješenje jesu iz bilježaka sustava SQL Server 2014 release
Status
Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".