KB4042232 - FIX: Toegangsfout wanneer u een query in behandeling annuleert als de functie voor ontbrekende indexen is ingeschakeld in SQL Server

Van toepassing op
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) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2016 Service Pack 1 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) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

Symptomen

Neem als voorbeeld het volgende scenario:

  • U hebt een opgeslagen procedure waarmee een tijdelijke tabel wordt gemaakt in Microsoft SQL Server.

  • U voert een query uit die door de opgeslagen procedure wordt uitgegeven en de query voldoet aan de volgende voorwaarden:

    • De query verwijst naar de tijdelijke tabel die door de opgeslagen procedure wordt gemaakt.
    • De query bevat een WHERE-component die niet wordt gedekt door indexen en de functie voor ontbrekende indexen is ingeschakeld.
  • Stel dat de opgeslagen procedure gelijktijdig wordt aangeroepen vanuit meerdere exemplaren. Vervolgens worden de tijdelijke tabellen vaak gemaakt en verwijderd, wat ertoe leidt dat de corresponderende records voor de ontbrekende indexen vaak worden gemaakt en verwijderd.

  • Als in dit geval een query in behandeling van de opgeslagen procedure wordt geannuleerd, kan er een toegangsfout optreden.

Oplossing

Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server:

Cumulatieve update 2 voor SQL Server 2017

Cumulatieve update 9 voor SQL Server 2016 RTM

Cumulatieve update 6 voor SQL Server 2016 SP1

Cumulatieve update 8 voor SQL Server 2014 SP2

Over cumulatieve updates voor SQL Server:

Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:

Meest recente cumulatieve update voor SQL Server 2017

Meest recente cumulatieve update voor SQL Server 2016

Meest recente cumulatieve update voor SQL Server 2014

Tijdelijke oplossing

De tijdelijke oplossing voor dit probleem is het inschakelen van Trace Flag (TF) 2392 waarmee het verzamelen van ontbrekende indexen wordt onderdrukt.

Meer informatie

Zie de volgende koppeling voor meer informatie over de functie Ontbrekende indexen:

Functie Ontbrekende indexen

Status

Microsoft heeft bevestigd dat dit een probleem is bij de Microsoft-producten die worden vermeld in de sectie Van toepassing op.

Meer informatie

Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.