KB4512151 – RETTELSE: Adgangsovertrædelse sker, når du bruger funktionen LOG med en ekstern forespørgsel i SQL Server 2016 og 2017

Gælder for
SQL Server 2016 Service Pack 2 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 SQL Server 2017 Enterprise SQL Server 2017 Enterprise Core SQL Server 2017 Standard Windows SQL Server 2017 Standard Linux

Symptomer

Overvej følgende scenarie:

  • Du opretter en sammenkædet server i Microsoft SQL Server 2016 eller 2017, der peger på en fjernforekomst af SQL Server 2012 eller nyere versioner.
  • Du vil bruge funktionen LOG() uden eksplicit at angive logaritmegrundlaget (for at beregne en naturlig algoritme).

Når du kører en forespørgsel, der kalder LOG() med et argument, der refererer til en fjerntabel, kan der opstå en adgangsfejl under visse omstændigheder (f.eks.: Hvis forespørgslen bruger UNION og en aggregeringsfunktion som f.eks SUM()).

Desuden genereres en dumpfil på den lokale forekomst.

Msg 596, Level 21, State 1, Line LineNumber

Kan ikke fortsætte udførelsen, fordi sessionen er i kill-tilstand.

Msg 0, niveau 20, Stat 0, linjenummer

Der opstod en alvorlig fejl på den aktuelle kommando.  Eventuelle resultater skal kasseres.

Status

Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".

Løsning

Dette problem er rettet i følgende kumulative opdateringer til SQL Server:

Om kumulative opdateringer til SQL Server:

Hver ny kumulativ opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige kumulative opdatering. Se de seneste kumulative opdateringer til SQL Server:

Referencer

Få mere at vide om den terminologi, som Microsoft bruger til at beskrive softwareopdateringer.