Vzťahuje sa na
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 on Windows (all editions)

Príznaky

Predpokladajme, že používate Microsoft SQL Server 2016 alebo 2017. Pri spracovaní údajových transakcií optimalizovaných pre pamäť pomocou premenných tabuľky optimalizovanej pre pamäť s príkazom, v ktorom sa nachádza , sa môže vyskytnúť nesprávny výsledok.

Príklad:

Krok1: Vytvorenie databázy a tabuľky optimalizovanej pre pamäť.

Vytvorenie ukážky DATABÁZY

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 

Použiť ukážku

Ísť

CREATE TYPE dbo. IN_MEMORY_TABLE_TYPE AS TABLE

( source_col INT NULL,

target_col INT nie JE NULL

INDEX ix_InMemoryTable NONCLUSTERED (target_col)

) WITH (MEMORY_OPTIMIZED = ZAPNUTÉ)

ÍSŤ

Krok2: Vloženie údajov a aktualizácia údajov.

DECLARE @t dbo. IN_MEMORY_TABLE_TYPE

INSERT @t ( source_col, target_col ) VALUES (10, 0),(0, 0)

vyberte * z @t

UPDATE r1 SET target_col = -1 FROM @t r1

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

SELECT * FROM @t

ÍSŤ

Krok3: Kontrola výsledkov.

Skutočné výsledky: Nie všetky riadky premennej tabuľky @t aktualizovať.

source_col | target_col

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

10 | -1

0 | 0

Očakávané výsledky: Všetky riadky by sa mali aktualizovať tak, aby target_col = -1.

source_col | target_col

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

10 | -1

0 | -1.

Riešenie

Tento problém je opravený v nasledujúcich kumulatívnych aktualizáciách pre SQL Server:

      Kumulatívna aktualizácia 1 pre SQL Server 2017 

      Kumulatívna aktualizácia 5 pre SQL Server 2016 SP1

Každá nová kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a všetky opravy zabezpečenia, ktoré boli zahrnuté do predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:

Najnovšia kumulatívna aktualizácia pre SQL Server 2017

Najnovšie kumulatívne aktualizácie pre SQL Server 2016

Stav

Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.

Odkazy

Získajte informácie o terminológii, ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru.

Potrebujete ďalšiu pomoc?

Chcete ďalšie možnosti?

Môžete preskúmať výhody predplatného, prehľadávať školiace kurzy, naučiť sa zabezpečiť svoje zariadenie a ešte oveľa viac.