sys.sp_flush_CT_internal_table_on_demand (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance
Cette procédure stockée vous permet de nettoyer manuellement la table latérale (change_tracking_objectid
) d’une table dans une base de données pour laquelle le suivi des modifications est activé. Si le paramètre TableToClean n’est pas passé, ce processus nettoie toutes les tables latérales de toutes les tables de la base de données où le suivi des modifications est activé.
Conventions de la syntaxe Transact-SQL
Syntaxe
sys.sp_flush_CT_internal_table_on_demand
[ @TableToClean = ] 'TableToClean'
[ , [ @DeletedRowCount = ] DeletedRowCount OUTPUT ]
[ ; ]
Arguments
[ @TableToClean = ] 'TableToClean'
Table avec suivi des modifications à nettoyer manuellement. Les backlogs sont laissés pour le nettoyage automatique par suivi des modifications. Peut être null pour nettoyer toutes les tables latérales.
[ @DeletedRowCount = ] 'Sortie de DeletedRowCount
@DeletedRowCount est un paramètre OUTPUT de type bigint. Ce paramètre retourne le nombre total de lignes qui ont été nettoyées pendant le processus.
Valeurs des codes de retour
0
(réussite) or 1
(échec).
Exemples
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
Voici le jeu de résultats.
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
Notes
Cette procédure doit être exécutée dans une base de données sur laquelle le suivi des modifications est activé.
Lorsque vous exécutez la procédure stockée, l’un des scénarios suivants se produit :
Si la table n’existe pas ou si le suivi des modifications n’est pas activé, les messages d’erreur appropriés sont levées.
Cette procédure stockée appelle une autre procédure stockée interne qui nettoie le contenu de la table latérale de suivi des modifications basée sur la version de nettoyage non valide à l’aide de la
sys.change_tracking_tables
vue de gestion dynamique. Lorsqu’elle est en cours d’exécution, elle affiche les informations du nombre total de lignes supprimées (pour toutes les 5 000 lignes).
Cette procédure stockée est disponible dans les produits suivants :
- SQL Server 2016 (13.x) Service Pack 1 et versions ultérieures
- Azure SQL Database et Azure SQL Managed Instance
autorisations
Seul un membre du rôle serveur sysadmin ou db_owner rôle de base de données peut exécuter cette procédure.
Contenu connexe
- À propos du suivi des modifications (Transact-SQL)
- Nettoyage et résolution des problèmes liés au suivi des modifications (Transact-SQL)
- Fonctions de suivi des modifications (Transact-SQL)
- Tables système de suivi des modifications (Transact-SQL)
- Procédures stockées de suivi des modifications (Transact-SQL)