Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Med den här lagrade proceduren kan du manuellt rensa sidotabellen (change_tracking_objectid) för en tabell i en databas som ändringsspårning är aktiverad för. Om parametern TableToClean inte skickas rensar den här processen alla sidotabeller för alla tabeller i databasen där ändringsspårning är aktiverat.
              
              
              Transact-SQL syntaxkonventioner
Syntax
sys.sp_flush_CT_internal_table_on_demand
    [ @TableToClean = ] 'TableToClean'
    [ , [ @DeletedRowCount = ] DeletedRowCount OUTPUT ]
[ ; ]
Argumentpunkter
[ @TableToClean = ] 'TableToClean'
Den ändringsspårningsaktiverade tabellen som ska rensas manuellt. Kvarvarande uppgifter lämnas för automatisk rensning genom ändringsspårning. Kan vara null för att rensa alla sidotabeller.
[ @DeletedRowCount = ] 'DeletedRowCount' OUTPUT
@DeletedRowCount är en OUTPUT-parameter av typen bigint. Den här parametern returnerar det totala antalet rader som rensades under processen.
Returnera kodvärden
              0 (lyckades) eller 1 (fel).
Exempel
DECLARE @DeletedRowCount AS BIGINT;
EXECUTE sys.sp_flush_CT_internal_table_on_demand '[Sales].[Orders]',
    @DeletedRowCount = @DeletedRowCount OUTPUT;
PRINT CONCAT('Number of rows deleted: ', @DeletedRowCount);
GO
Här är resultatet.
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
Anmärkningar
Den här proceduren måste köras i en databas som har aktiverat ändringsspårning.
När du kör den lagrade proceduren inträffar något av följande scenarier:
- Om tabellen inte finns eller om ändringsspårning inte är aktiverat genereras lämpliga felmeddelanden. 
- Den här lagrade proceduren anropar en annan intern lagrad procedur som rensar innehållet från tabellen på sidan ändringsspårning som baseras på den ogiltiga rensningsversionen med hjälp av den - sys.change_tracking_tablesdynamiska hanteringsvyn. När den körs visas information om totalt antal rader som tagits bort (för varje 5 000 rader).
Den här lagrade proceduren är tillgänglig i följande produkter:
- SQL Server 2016 (13.x) Service Pack 1 och senare versioner
- Azure SQL Database och Azure SQL Managed Instance
Behörigheter
Endast en medlem av sysadmin-serverrollen eller db_owner databasroll kan utföra den här proceduren.