Applies ToSQL 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)

Simptomi

Pretpostavimo da koristite Microsoft SQL Server 2016 ili 2017. Kada obrađujete transakcije podataka optimizirane za memoriju pomoću varijabli tablica optimiziranih za memoriju s izjavom gdje postoji, možda ćete dobiti pogrešan rezultat.

Na primjer:

Prvi korak: stvaranje baze podataka i tablice optimizirane za memoriju.

Stvaranje pokazne verzije BAZE PODATAKA

ALTER DATABASE demo ADD FILEGROUP demo_mod CONTAINS MEMORY_OPTIMIZED_DATA 

DEMO ALTER DATABASE ADD FILE (name='demo_mod1', filename='C:\DATA\demo_mod1') u filegroup demo_mod 

Korištenje pokazne verzije

Ići

Stvori vrstu dbo. IN_MEMORY_TABLE_TYPE KAO TABLICA

( source_col INT NULL,

target_col INT not NULL

INDEKS ix_InMemoryTable NIJECLUSTERED (target_col)

) WITH (MEMORY_OPTIMIZED = UKLJUČENO)

IĆI

Drugi korak: umetanje podataka i ažuriranje podataka.

DECLARE @t dbo. IN_MEMORY_TABLE_TYPE

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

select * from @t

AŽURIRANJE r1 SET target_col = -1 FROM @t r1

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

SELECT * FROM @t

IĆI

Treći korak: provjera rezultata.

Stvarni rezultati: ne ažuriraju se svi reci varijable @t tablice.

source_col | target_col

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

Broj 10 | -1

Broj 0 | 0

Očekivani rezultati: svi reci trebali bi se ažurirati tako da imaju target_col = -1.

source_col | target_col

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

Broj 10 | -1

Broj 0 | -1.

Rješenje

Taj je problem riješen u sljedećim kumulativnim ažuriranjima za SQL Server:

      Kumulativno ažuriranje 1 za SQL Server 2017. 

      Kumulativno ažuriranje 5 za SQL Server 2016 SP1

Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne popravke koji su obuhvaćeni prethodnim kumulativnim ažuriranjem. Pogledajte najnovija kumulativna ažuriranja za SQL Server:

Najnovije kumulativno ažuriranje za SQL Server 2017.

Najnovija kumulativna ažuriranja za SQL Server 2016.

Status

Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku "Odnosi se na".

Reference

Informirajte se o terminologijikoju Microsoft koristi za opisivanje softverskih ažuriranja.

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.