Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Met deze opgeslagen procedure kunt u de zijtabel (change_tracking_objectid) handmatig opschonen voor een tabel in een database waarvoor wijzigingen bijhouden is ingeschakeld. Als de parameter TableToClean niet wordt doorgegeven, worden met dit proces alle tabellen voor alle tabellen in de database opgeschoond waarvoor wijzigingen bijhouden is ingeschakeld.
Transact-SQL syntaxis-conventies
Syntaxis
sys.sp_flush_CT_internal_table_on_demand
[ @TableToClean = ] 'TableToClean'
[ , [ @DeletedRowCount = ] DeletedRowCount OUTPUT ]
[ ; ]
Argumenten
[ @TableToClean = ] 'TableToClean'
De tabel met wijzigingen bijhouden die handmatig moet worden opgeschoond. De achterstanden blijven over voor het automatisch opschonen door wijzigingen bij te houden. Kan null zijn om alle zijtabellen op te schonen.
[ @DeletedRowCount = ] OUTPUT 'DeletedRowCount'
@DeletedRowCount is een UITVOERparameter van het type bigint. Deze parameter retourneert het totale aantal rijen dat tijdens het proces is opgeschoond.
Codewaarden retourneren
0 (geslaagd) of 1 (mislukt).
Voorbeelden
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
Hier is het resultatenoverzicht.
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
Opmerkingen
Deze procedure moet worden uitgevoerd in een database waarvoor wijzigingen bijhouden is ingeschakeld.
Wanneer u de opgeslagen procedure uitvoert, vindt een van de volgende scenario's plaats:
Als de tabel niet bestaat of als wijzigingen bijhouden niet is ingeschakeld, worden de juiste foutberichten gegenereerd.
Deze opgeslagen procedure roept een andere interne opgeslagen procedure aan waarmee inhoud wordt opgeschoond uit de tabel met wijzigingen bijhouden die is gebaseerd op de ongeldige opschoningsversie met behulp van de
sys.change_tracking_tablesdynamische beheerweergave. Wanneer deze wordt uitgevoerd, worden de gegevens weergegeven van de totale rijen die zijn verwijderd (voor elke 5000 rijen).
Deze opgeslagen procedure is beschikbaar in de volgende producten:
- SQL Server 2016 (13.x) Service Pack 1 en latere versies
- Azure SQL Database en Azure SQL Managed Instance
Machtigingen
Alleen een lid van de sysadmin-serverfunctie of db_owner databaserol kan deze procedure uitvoeren.