sys.sp_flush_CT_internal_table_on_demand (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance
Este procedimiento almacenado permite limpiar manualmente la tabla lateral (change_tracking_objectid
) de una tabla de una base de datos para la que está habilitado el seguimiento de cambios. Si no se pasa el parámetro TableToClean , este proceso limpia todas las tablas laterales de todas las tablas de la base de datos donde está habilitado el seguimiento de cambios.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sys.sp_flush_CT_internal_table_on_demand
[ @TableToClean = ] 'TableToClean'
[ , [ @DeletedRowCount = ] DeletedRowCount OUTPUT ]
[ ; ]
Argumentos
[ @TableToClean = ] 'TableToClean'
Tabla habilitada para el seguimiento de cambios que se va a limpiar manualmente. Los trabajos pendientes quedan para la limpieza automática mediante el seguimiento de cambios. Puede ser NULL para limpiar todas las tablas laterales.
[ @DeletedRowCount = ] 'Salida de DeletedRowCount
@DeletedRowCount es un parámetro OUTPUT de tipo bigint. Este parámetro devuelve el número total de filas que se limpiaron durante el proceso.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Ejemplos
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
Este es el conjunto de resultados.
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
Comentarios
Este procedimiento debe ejecutarse en una base de datos que tenga habilitado el seguimiento de cambios.
Al ejecutar el procedimiento almacenado, se produce uno de los siguientes escenarios:
Si la tabla no existe o si el seguimiento de cambios no está habilitado, se inician los mensajes de error adecuados.
Este procedimiento almacenado llama a otro procedimiento almacenado interno que limpia el contenido de la tabla lateral de seguimiento de cambios que se basa en la versión de limpieza no válida mediante la
sys.change_tracking_tables
vista de administración dinámica. Cuando se ejecuta, muestra la información del total de filas eliminadas (por cada 5000 filas).
Este procedimiento almacenado está disponible en los siguientes productos:
- SQL Server 2016 (13.x) Service Pack 1 y versiones posteriores
- Azure SQL Database y Azure SQL Managed Instance
Permisos
Solo un miembro del rol de servidor sysadmin o db_owner rol de base de datos puede ejecutar este procedimiento.
Contenido relacionado
- Acerca del seguimiento de cambios (Transact-SQL)
- Limpieza y solución de problemas de seguimiento de cambios (Transact-SQL)
- Funciones del seguimiento de cambios (Transact-SQL)
- Tablas del sistema de seguimiento de cambios (Transact-SQL)
- Procedimientos almacenados de seguimiento de cambios (Transact-SQL)