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.