Отнася се за
SQL Server 2012 Enterprise SQL Server 2012 Web SQL Server 2012 Developer SQL Server 2012 Standard 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 Express - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use)

Симптоми

Някои планове за изпълнение на заявки в Microsoft SQL Server включват модел на оценка на филтър върху таблица или операция на индексиране/диапазон. Някои части от предиката на филтъра могат да съвпаднат с индексен ключ и следователно могат да бъдат използвани за изпълнение на търсене в индекса или сканиране на диапазона. Оставащите части на предиката са известни като "остатъчна" и трябва да бъдат оценени за всеки изходен ред чрез операцията за сканиране или диапазон. Това ще съответства на филтър оператор. За да подобрите производителността обаче, SQL Server може да избута този филтър надолу до самия оператор на достъп до таблицата. Въпреки че този подход подобрява производителността като цяло, при някои условия (например в случай на неточно изчисление на кардиналност, което е свързано с чувствителност на параметър), филтърът под сканиране по-долу може да обработва по-голям брой редове от очакваните. Това може да бъде скрито по време на отстраняване на неизправности при изпълнение на заявка, когато използвате действително план за изпълнение, тъй като действителният брой редове, които се връща, ще съответстват на броя на редовете след прилагане на остатъчната първоначална оценка, а не действителния брой редове, които са сканирани от таблица или индекс.

Решение

За да подобрите диагностиката за сценарий, описан в секцията "симптоми", SQL Server 2012 Service Pack 3 (SP3) и SQL Server 2014 SP2 представя нов showplan XML атрибут, " действителни редове за четене". Този атрибут предоставя информация за това колко реда са прочетени от оператора преди прилагане на остатъчната първоначална заявка. Тази функционалност е въведена с юмрук в следните сервизни пакети за SQL Server.

За повече информация относно SQL Server 2012 Service Pack 3 (SP3) вижте грешки, които са коригирани в SQL Server 2012 Service Pack 3.

Service Pack 2 за SQL Server за SQL server 2014 SQL Server 2016 Service Pack 1 (SP1) За сервизните пакети за SQL ServerСервизните пакети са кумулативни. Всеки нов сервизен пакет съдържа всички корекции, които са в предишните сервизни пакети, както и всички нови корекции. Нашата препоръка е да приложите последния сервизен пакет и най-новата сборна актуализация за този сервизен пакет. Не е необходимо да инсталирате предишен сервизен пакет, преди да инсталирате най-новия сервизен пакет. Използвайте таблица 1 в следващата статия, за да намерите повече информация за последния сервизен пакет и най-новата сборна актуализация.Как се определя нивото на версиите, изданието и актуализирането на SQL Server и неговите компоненти

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.