Rakenduskoht
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

Sümptomid

Oletagem, et kasutate Microsoft SQL Server 2016 või 2017. Kui töötlete mälu optimeeritud andmeid, kasutades mälu optimeeritud tabeli muutujaid, kus on olemas lause, võite saada vale tulemuse.

Näiteks:

Step1: saate luua mälu optimeeritud andmebaasi ja tabeli.

ANDMEBAASI demo loomine

Muuda andmebaasi demo lisa FAILIRÜHMA demo_mod sisaldab MEMORY_OPTIMIZED_DATA 

Muuda andmebaasi demo faili lisamine (nimi = ' demo_mod1 ', filename = ' C:\DATA\ demo_mod1 '), et FAILIRÜHMA demo_mod 

Demo kasutamine

Minna

Loo tüüp dbo. IN_MEMORY_TABLE_TYPE TABELINA

(source_col INT NULL;

target_col INT NOT NULL

INDEKS ix_InMemoryTable RÜHMITAmata (target_col)

) KOOS (MEMORY_OPTIMIZED = SEES)

MINNA

STEP2: andmete lisamine ja andmete värskendamine.

DEKLAREERIge @t dbo. IN_MEMORY_TABLE_TYPE

@T (source_col; target_col) väärtuste lisamine (10; 0) (0; 0)

Valige * from @t

UPDATE R1 SET target_col =-1 alates @t R1

KUI on olemas (valige * @t R2-st, kus r2.source_col > 0)

Valige * FROM @t

MINNA

Step3: kontrolli tulemusi.

Tegelikud tulemid: kõiki tabeli muutuja ridu @t ei saa värskendada.

source_col | target_col

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

10 | -1

0 | 0

Oodatud tulemid: kõigil ridadel peaks olema värskendatud target_col =-1.

source_col | target_col

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

10 | -1

0 | -1.

Lahendus

See probleem on lahendatud SQL serveri järgmisi kumulatiivseid värskendusi.

      Kumulatiivne Update 1 SQL Server 2017 

      Kumulatiivne Update 5 SQL Server 2016 SP1 jaoks

Iga uus koondvärskenduses SQL Server sisaldab kõiki käigultparandused ja kõik turvaparandusi, mis kuulusid eelmise koondvärskenduse. Vaadake SQL serveri kumulatiivseid värskendusi.

Uusim SQL Server 2017 koondvärskenduses

Uusimad kumulatiivsed värskendused SQL Server 2016

Olek

Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.

Viited

Siit leiate teavet selle kohta, mida Microsoftkasutab tarkvaravärskenduste kirjeldamiseks.

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.