Gjelder for
SQL Server 2016 Service Pack 1 SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Developer - 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

Symptomer

Anta at du bruker Microsoft SQL Server-2016 eller 2017. Når du behandle transaksjoner for minne-optimerte data ved hjelp av minne-optimalisert tabellvariabler med den der finnes -setning, kan du få et feil resultat.

For eksempel:

Trinn 1: Opprette en minne-optimalisert database og tabell.

Opprette DATABASE-demo

Endre DATABASE demo filgruppe for Legg til demo_mod inneholder MEMORY_OPTIMIZED_DATA

Endre DATABASE demo Legg til fil (navn = demo_mod1, filename = 'C:\DATA\demo_mod1') til filgruppe for demo_mod

Bruk Demo

OPPRETTE TYPE dbo. IN_MEMORY_TABLE_TYPE AS-TABELL

(source_col INT NULL

target_col INT ikke NULL

INDEKSEN ix_InMemoryTable NONCLUSTERED (target_col)

) MED (MEMORY_OPTIMIZED = ON)

Trinn 2: Sette inn data og oppdatere data.

DEKLARER @t dbo. IN_MEMORY_TABLE_TYPE

Sett inn @t (source_col, target_col) verdier (10, 0), (0, 0)

Velg * fra @t

OPPDATERINGEN r1 SET target_col = -1 fra @t r1

DER finnes (Velg * fra r2 @t der r2.source_col > 0)

Velg * fra @t

Step3: Kontrollere resultatene.

Faktiske resultater: Ikke alle radene i tabellen variabel @t oppdateres.

source_col | target_col

----------------------

10 | -1

0 | 0

Forventet resultat: alle radene skal få oppdatert for å ha target_col = -1.

source_col | target_col

----------------------

10 | -1

0 | -1.

Løsning

Dette problemet er løst i følgende kumulative oppdateringer for SQL Server:

Samleoppdatering 1 for SQLServer 2017

Kumulativ oppdatering 5 for SQL Server 2016 SP1

Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:

Nyeste kumulative oppdateringen for SQL Server-2017

Nyeste kumulative oppdateringer for SQL Server-2016

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Referanser

Lær mer om terminologiensom Microsoft bruker til å beskrive oppdateringer av programvare.

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.