Accedi a Microsoft
Accedi o crea un account.
Salve,
Select a different account.
Hai più account
Scegli l'account con cui vuoi accedere.

Sintomi

Si supponga di usare Microsoft SQL Server 2016 o 2017. Quando si elaborano transazioni dati ottimizzate per la memoria usando le variabili di tabella ottimizzate per la memoria con l'istruzione WHERE EXISTS , è possibile che venga restituito un risultato errato.

Ad esempio:

Step1: creare un database e una tabella ottimizzati per la memoria.

Creare una demo di DATABASE

ALTER DATABASE demo ADD FILEgroup demo_mod contiene MEMORY_OPTIMIZED_DATA 

ALTER DATABASE demo ADD FILE (Name =' demo_mod1', filename =' C:\DATA\ demo_mod1') in filegroup demo_mod 

Usare la versione demo

Andare

Crea tipo dbo. IN_MEMORY_TABLE_TYPE COME TABELLA

(source_col INT NULL,

target_col INT NOT NULL

INDEX ix_InMemoryTable NONCLUSTERED (target_col)

) WITH (MEMORY_OPTIMIZED = ATTIVATA)

ANDARE

Fase 2: inserire dati e aggiornare i dati.

DICHIARA @t dbo. IN_MEMORY_TABLE_TYPE

INSERIRE i valori @t (source_col, target_col) (10; 0), (0, 0)

Selezionare * da @t

UPDATE R1 SET target_col =-1 da @t R1

DOVE esiste (selezionare * da @t R2 in cui r2.source_col > 0)

Selezionare * da @t

ANDARE

Step3: verificare i risultati.

Risultati effettivi: non tutte le righe della variabile di tabella @t vengono aggiornate.

source_col | target_col

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

10 | -1

0 | 0

Risultati previsti: tutte le righe devono essere aggiornate per avere target_col =-1.

source_col | target_col

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

10 | -1

0 | -1.

Risoluzione

Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:

      Aggiornamento cumulativo 1 per SQL Server 2017 

      Aggiornamento cumulativo 5 per SQL Server 2016 SP1

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:

Ultimo aggiornamento cumulativo per SQL Server 2017

Ultimi aggiornamenti cumulativi per SQL Server 2016

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".

Riferimenti

Informazioni sulla terminologiautilizzata da Microsoft per descrivere gli aggiornamenti software.

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Come valuti la qualità della lingua?
Cosa ha influito sulla tua esperienza?

Grazie per il feedback!

×