Hotfix and Security Content Publishing: 113140
Sintomi
Si supponga di abilitare il rilevamento delle modifiche per una o più tabelle in SQL Server 2017 e di impostare AUTO_CLEANUP = attivata. Si nota che nessuna riga viene eliminata o pulita da tabelle laterali o dalla tabella di sistema sys. syscommittab anche dopo la periodo di conservazione. Si notano inoltre i seguenti sintomi:
-
Se ci si connette usando la connessione di amministrazione dedicata e si esegue una query sulla versione di pulizia non valida e la pulizia indurita, le si troverà in negativo:
Selezionare * da sys. sysobjvalues dove valclass = 7 e ObjID = 1003--non valido
Selezionare * da sys. sysobjvalues dove valclass = 7 e ObjID = 1004--indurito
-
Se si esegue la SP seguente per pulire sys. syscommittab manualmente, non verrà eseguita la pulitura e verrà restituita la versione di pulitura indurita come negativa:
sp_flush_commit_table_on_demand Exec
Output
Il valore restituito da change_tracking_hardened_cleanup_version () è-nnnnnn.
-
Se si raccolgono sessioni di eventi estese con change_tracking_cleanup di eventi durante la pulizia automatica del rilevamento delle modifiche, si noterà che CleanupStatusChange è impostato su 32 (errore) e che il lavoro di pulizia esiste:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Risoluzione
Questo problema è stato risolto con l'aggiornamento cumulativo seguente per SQL Server:
Informazioni sugli aggiornamenti cumulativi per SQL Server:
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:
Nota Per risolvere il problema, è necessario abilitare il contrassegno di traccia 8290 e consentire l'esecuzione del processo di pulizia automatica. Dopo l'abilitazione del contrassegno di traccia, il processo di pulizia automatica del rilevamento delle modifiche Reimposta la versione di pulitura non valida sulla versione di pulizia in base al periodo di conservazione. Questo flag di traccia può essere abilitato a livello di sessione o a livello di avvio. Per capire la causa principale del motivo per cui la versione di pulizia è diventata negativa, è consigliabile chiamare il supporto tecnico e specificare altri dettagli.
Riferimenti
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.
Bug Information:
-
Bug #: 13312017 (sqlbuvsts01)
-
Bug #: 113039 (Content Idea)
KE: v-sidong
Author:
Writer: v-sidong
Tech reviewer: tzakir; akbarf; lzhang
Editor: v-jizho