Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: SQL Server 2017 (14.x) y versiones posteriores
Azure SQL Database
Azure SQL Managed Instance
Quita todas las filas de la tabla temporal de historial que coinciden con HISTORY_RETENTION_PERIOD
configurado dentro de una sola transacción.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_cleanup_temporal_history
[ @schema_name = ] N'schema_name'
, [ @table_name = ] N'table_name'
[ , [ @row_count = ] @row_count_var [ OUTPUT ] ]
Argumentos
[ @schema_name = ] N'schema_name'
Nombre de la tabla temporal para la que se invoca la limpieza de retención.
[ @table_name = ] N'table_name'
Nombre del esquema al que pertenece la tabla temporal actual.
[ @row_count = ] @row_count_var [ OUTPUT ]
Parámetro de salida que devuelve el número de filas eliminadas. Si la tabla de historial tiene un índice de almacén de columnas agrupado, este parámetro devuelve 0
.
Comentarios
Este procedimiento almacenado solo se puede usar con tablas temporales que tengan un período de retención finito especificado. Use este procedimiento almacenado solo si necesita limpiar inmediatamente todas las filas antiguas de la tabla de historial.
sp_cleanup_temporal_history
puede tener un efecto negativo en el registro de base de datos y el subsistema de E/S, ya que elimina todas las filas aptas dentro de la misma transacción.
Siempre debe confiar en una tarea interna en segundo plano para la limpieza que elimine las filas antiguas, con el mínimo impacto en las cargas de trabajo habituales y en la base de datos en general.
Permisos
Requiere permisos de db_owner.
Ejemplos
DECLARE @rowcnt AS INT;
EXECUTE sys.sp_cleanup_temporal_history 'dbo', 'Department', @rowcnt OUTPUT;
SELECT @rowcnt;