sys.sp_flush_CT_internal_table_on_demand (Transact-SQL)
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure
Questa stored procedure consente di pulire manualmente la tabella laterale (change_tracking_objectid
) per una tabella in un database per cui è abilitato il rilevamento delle modifiche. Se il parametro TableToClean non viene passato, questo processo pulisce tutte le tabelle laterali per tutte le tabelle nel database in cui è abilitato il rilevamento delle modifiche.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
sys.sp_flush_CT_internal_table_on_demand
[ @TableToClean = ] 'TableToClean'
[ , [ @DeletedRowCount = ] DeletedRowCount OUTPUT ]
[ ; ]
Argomenti
[ @TableToClean = ] 'TableToClean'
Tabella abilitata per il rilevamento delle modifiche da pulire manualmente. I backlog vengono lasciati per la pulizia automatica tramite il rilevamento delle modifiche. Può essere Null per pulire tutte le tabelle laterali.
[ @DeletedRowCount = ] 'DELETEdRowCount' OUTPUT
@DeletedRowCount è un parametro OUTPUT di tipo bigint. Questo parametro restituisce il numero totale di righe che sono stati puliti durante il processo.
Valori del codice restituito
0
(esito positivo) o 1
(errore).
Esempi
DECLARE @DeletedRowCount BIGINT;
EXEC sys.sp_flush_CT_internal_table_on_demand '[Sales].[Orders]',
@DeletedRowCount = @DeletedRowCount OUTPUT;
PRINT CONCAT('Number of rows deleted: ', @DeletedRowCount);
GO
Il set di risultati è il seguente.
Started executing query at Line 1
Cleanup Watermark = 17
Internal Change Tracking table name : change_tracking_1541580530
Total rows deleted: 0.
Number of rows deleted: 0
Total execution time: 00:00:02.949
Osservazioni:
Questa procedura deve essere eseguita in un database in cui è abilitato il rilevamento delle modifiche.
Quando si esegue la stored procedure, si verifica uno degli scenari seguenti:
Se la tabella non esiste o se il rilevamento delle modifiche non è abilitato, vengono generati messaggi di errore appropriati.
Questa stored procedure chiama un'altra stored procedure interna che pulisce il contenuto dalla tabella lato rilevamento modifiche basata sulla versione di pulizia non valida usando la
sys.change_tracking_tables
visualizzazione a gestione dinamica. Quando è in esecuzione, mostra le informazioni delle righe totali eliminate (per ogni 5000 righe).
Questa stored procedure è disponibile nei prodotti seguenti:
- SQL Server 2016 (13.x) Service Pack 1 e versioni successive
- Database SQL di Azure e Istanza gestita di SQL di Azure
Autorizzazioni
Questa procedura può essere eseguita solo da un membro del ruolo del server sysadmin o db_owner ruolo del database.
Contenuto correlato
- Informazioni sul rilevamento delle modifiche (Transact-SQL)
- Pulizia e risoluzione dei problemi di rilevamento delle modifiche (Transact-SQL)
- Funzioni di rilevamento delle modifiche (Transact-SQL)
- Tabelle di sistema di rilevamento delle modifiche (Transact-SQL)
- Stored procedure di rilevamento delle modifiche (Transact-SQL)