Log på med Microsoft
Log på, eller opret en konto.
Hej
Markér en anden konto.
Du har flere konti
Vælg den konto, du vil logge på med.

Symptomer

Antag, at du bruger Microsoft SQL Server 2016 eller 2017. Når du behandler hukommelsesoptimerede datatransaktioner ved hjælp af hukommelsesoptimerede tabelvariabler med sætningen where exists , kan du få et forkert resultat.

For eksempel:

Trin1: Opret en hukommelsesoptimeret database og tabel.

Demo af Opret DATABASE

ALTER DATABASE demo ADD FILEGROUP demo_mod CONTAINS MEMORY_OPTIMIZED_DATA 

ALTER DATABASE demo ADD FILE (name='demo_mod1', filename='C:\DATA\demo_mod1') TO FILEGROUP demo_mod 

Brug demo

OPRET TYPE dbo. IN_MEMORY_TABLE_TYPE SOM TABEL

( source_col INT NULL,

target_col INT not NULL

INDEX ix_InMemoryTable NONCLUSTERED (target_col)

) MED (MEMORY_OPTIMIZED = TIL)

GO 

Trin2: Indsæt data, og opdater data.

ERKLÆRER @t dbo. IN_MEMORY_TABLE_TYPE

INDSÆT @t ( source_col, target_col ) VÆRDIER (10, 0),(0, 0)

vælg * fra @t

UPDATE r1 SET target_col = -1 FROM @t r1

WHERE EXISTS ( SELECT * FROM @t r2 WHERE r2.source_col > 0 )

SELECT * FROM @t

GO 

Trin3: Kontrollér resultaterne.

Faktiske resultater: Ikke alle rækker med tabelvariable @t blive opdateret.

source_col | target_col

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

10 | -1

0 | 0

De forventede resultater: Alle rækker skal opdateres, så de har target_col = -1.

source_col | target_col

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

10 | -1

0 | -1.

Løsning

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

      Samlet opdatering 1 til SQL Server 2017 

      Samlet opdatering 5 til SQL Server 2016 SP1

Hver ny samlet opdatering til SQL Server indeholder alle de hotfixes og alle de sikkerhedsrettelser, der var inkluderet i den tidligere akkumulerede opdatering. Se de seneste kumulative opdateringer til SQL Server:

Seneste akkumulerede opdatering til SQL Server 2017

Seneste kumulative opdateringer til SQL Server 2016

Status

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

Referencer

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

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.

Var disse oplysninger nyttige?

Hvor tilfreds er du med kvaliteten af sproget?
Hvad påvirkede din oplevelse?
Når du trykker på Send, bliver din feedback brugt til at forbedre Microsoft-produkter og -tjenester. Din it-administrator kan indsamle disse data. Erklæring om beskyttelse af personlige oplysninger.

Tak for din feedback!

×