sp_syspolicy_delete_policy_execution_history (Transact-SQL)
Se aplica a: SQL Server
Elimina el historial de ejecución de directivas para la administración basada en directivas. Puede utilizar este procedimiento almacenado para eliminar el historial de ejecución de una directiva concreta o de todas las directivas, y el historial de ejecución anterior a una fecha concreta.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_syspolicy_delete_policy_execution_history
[ @policy_id = ] policy_id
, [ @oldest_date = ] 'oldest_date'
[ ; ]
Argumentos
[ @policy_id = ] policy_id
Identificador de la directiva para la que desea eliminar el historial de ejecución. @policy_id es int y es necesario. Puede ser NULL
.
[ @oldest_date = ] 'oldest_date'
Fecha más antigua para la que desea mantener el historial de ejecución de directivas. Se eliminan todos los historiales de ejecución anteriores a esta fecha. @oldest_date es datetime y es necesario. Puede ser NULL
.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Comentarios
Debe ejecutarse sp_syspolicy_delete_policy_execution_history
en el contexto de la base de datos del msdb
sistema.
Para obtener valores de @policy_id y ver las fechas del historial de ejecución, puede usar la consulta siguiente:
SELECT a.name AS N'policy_name',
b.policy_id,
b.start_date,
b.end_date
FROM msdb.dbo.syspolicy_policies AS a
INNER JOIN msdb.dbo.syspolicy_policy_execution_history AS b
ON a.policy_id = b.policy_id;
El comportamiento siguiente se aplica si especifica NULL
para uno o ambos valores:
Para eliminar todo el historial de ejecución de directivas, especifique
NULL
tanto para @policy_id como para @oldest_date.Para eliminar todo el historial de ejecución de directivas de una directiva específica, especifique un identificador de directiva para @policy_id y especifique
NULL
como @oldest_date.Para eliminar el historial de ejecución de directivas de todas las directivas antes de una fecha específica, especifique
NULL
para @policy_id y especifique una fecha para @oldest_date.
Para archivar el historial de ejecución de directivas, puede abrir el registro historial de directivas, en Explorador de objetos y exportar el historial de ejecución a un archivo. Para acceder al registro de historial de directivas, expanda Administración, haga clic con el botón derecho en Administración de directivas y, a continuación, seleccione Ver historial.
Permisos
Requiere la pertenencia al rol fijo de base de datos PolicyAdministratorRole .
Importante
Posible elevación de credenciales: los usuarios del rol PolicyAdministratorRole pueden crear desencadenadores de servidor y programar ejecuciones de directivas que pueden afectar al funcionamiento de la instancia del Motor de base de datos. Por ejemplo, los usuarios del rol PolicyAdministratorRole pueden crear una directiva que pueda impedir que la mayoría de los objetos se creen en el Motor de base de datos. Debido a esta posible elevación de credenciales, solo se debe conceder el rol PolicyAdministratorRole a los usuarios que confían en controlar la configuración del Motor de base de datos.
Ejemplos
En el ejemplo siguiente se elimina el historial de ejecución de directivas antes de una fecha específica de una directiva con un identificador de 7
.
EXEC msdb.dbo.sp_syspolicy_delete_policy_execution_history
@policy_id = 7,
@oldest_date = '2019-02-16 16:00:00.000';
GO