sys.sp_flush_CT_internal_table_on_demand (Transact-SQL)
Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance
Mit dieser gespeicherten Prozedur können Sie die seitliche Tabelle (change_tracking_objectid
) für eine Tabelle in einer Datenbank, für die die Änderungsnachverfolgung aktiviert ist, manuell sauber. Wenn der Parameter TableToClean nicht übergeben wird, sauber dieser Vorgang alle Seitentabellen für alle Tabellen in der Datenbank an, in denen die Änderungsnachverfolgung aktiviert ist.
Transact-SQL-Syntaxkonventionen
Syntax
sys.sp_flush_CT_internal_table_on_demand
[ @TableToClean = ] 'TableToClean'
[ , [ @DeletedRowCount = ] DeletedRowCount OUTPUT ]
[ ; ]
Argumente
[ @TableToClean = ] 'TableToClean'
Die tabelle mit aktivierter Änderungsnachverfolgung, die manuell sauber werden soll. Die Backlogs bleiben für die automatische sauber up durch Änderungsnachverfolgung erhalten. Kann null sein, um alle seitenseitigen Tabellen sauber.
[ @DeletedRowCount = ] 'Output von DeletedRowCount
@DeletedRowCount ist ein OUTPUT-Parameter vom Typ bigint. Dieser Parameter gibt die Gesamtanzahl der Zeilen zurück, die während des Prozesses sauber nach oben geholt wurden.
Rückgabecodewerte
0
(Erfolg) oder 1
(Fehler).
Beispiele
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
Hier ist das Resultset.
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
Hinweise
Dieses Verfahren muss in einer Datenbank ausgeführt werden, in der die Änderungsnachverfolgung aktiviert ist.
Wenn Sie die gespeicherte Prozedur ausführen, geschieht eines der folgenden Szenarien:
Wenn die Tabelle nicht vorhanden ist oder die Änderungsnachverfolgung nicht aktiviert ist, werden entsprechende Fehlermeldungen ausgelöst.
Diese gespeicherte Prozedur ruft eine weitere interne gespeicherte Prozedur auf, die Inhalte aus der Änderungsnachverfolgungsseite-Tabelle sauber, die auf der ungültigen sauber up-Version basiert, mithilfe der
sys.change_tracking_tables
dynamischen Verwaltungsansicht sauber. Wenn sie ausgeführt wird, werden die Informationen der gelöschten Gesamtzeilen angezeigt (für alle 5000 Zeilen).
Diese gespeicherte Prozedur ist in den folgenden Produkten verfügbar:
- SQL Server 2016 (13.x) Service Pack 1 und höhere Versionen
- Azure SQL-Datenbank und Azure SQL Managed Instance
Berechtigungen
Nur ein Mitglied der Sysadmin-Serverrolle oder db_owner Datenbankrolle kann dieses Verfahren ausführen.
Zugehöriger Inhalt
- Informationen zur Änderungsnachverfolgung (Transact-SQL)
- Änderungsnachverfolgung sauber up und Problembehandlung (Transact-SQL)
- Änderungsverfolgungsfunktionen (Transact-SQL)
- Systemtabellen für die Änderungsnachverfolgung (Transact-SQL)
- Gespeicherte Prozeduren zur Änderungsnachverfolgung (Transact-SQL)
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für