KB4316948 – OPRAVA: Narušení přístupu při kompilaci dotazu a změna histogramu je povolena s výchozím odhadem mohutnosti v SQL Server 2016 a 2017

Platí pro
SQL Server 2017 Developer SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core 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) SQL Server 2016 Standard - duplicate (do not use)

Příznaky

Vezměte v úvahu následující scénář:

  • Pokusíte se spustit dotaz pomocí výchozího odhadu mohutnosti , když je povolena změna histogramu.
  • Dotaz zahrnuje výrazy ve sloupci, který se používá v jednom z predikátů.

V tomto scénáři dojde k narušení přístupu. Navíc se zobrazí následující chybová zpráva:

Poznámka

Zpráva 596, úroveň 21, stav 1, číslo řádku
V provádění nemůže pokračovat, protože relace je ve stavu ukončení.
Zpráva 0, úroveň 20, stav 0, číslo řádku
U aktuálního příkazu došlo k závažné chybě.  Případné výsledky by měly být zahozeny.

         Poznámka Změnu histogramu můžete povolit pomocí možnosti dotazu USE HINT('ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS') nebo příznaku sledování 4139.

Řešení

Tento problém je opravený v následujících aktualizacích pro SQL Server:

Kumulativní aktualizace 8 pro SQL Server 2017

Kumulativní aktualizace 5 pro SQL Server 2016 Service Pack 2

O buildech systému SQL Server

Každý nový build pro SQL Server obsahuje všechny opravy hotfix a opravy zabezpečení, které byly v předchozím buildu. Doporučujeme nainstalovat nejnovější build pro vaši verzi SQL Server:

Nejnovější build pro SQL Server 2017

Nejnovější kumulativní aktualizace pro SQL Server 2016

Stav

Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.

Reference

DBCC TRACEON - Trace Flags (Transact-SQL)

Přečtěte si informace o standardní terminologii , kterou společnost Microsoft používá k popisu aktualizací softwaru.