SSIS服务器维护作业失败



需要您的帮助:SSIS服务器维护作业失败

此作业使用默认存储过程清理系统表

正在运行的代码是SQL Server的内置部分,它已开箱即用。根据我所能收集到的信息,它清理了运行过的程序包的日志历史记录。

DECLARE @role int
SET @role = (SELECT [role] FROM [sys].[dm_hadr_availability_replica_states] hars 
INNER JOIN [sys].[availability_databases_cluster] adc ON hars.[group_id] = adc.[group_id] 
WHERE hars.[is_local] = 1 AND adc.[database_name] ='SSISDB')
IF DB_ID('SSISDB') IS NOT NULL AND (@role IS NULL OR @role = 1)
EXEC [SSISDB].[internal].[cleanup_server_retention_window]

哪个失败并出现此错误:

消息:

以用户身份执行:##MS_SSISServerCleanupJobLogin##。DELETE语句与REFERENCE约束冲突"FK_EventMessagecontext_Operations";。数据库中发生冲突"SSISDB";,表";internal.event_message_context";,柱'operation_id'。[SQLSTATE 23000](错误547(。

在线上有一些关于如何处理此错误的建议,但我不确定如何最好地将它们应用于默认过程。修改微软在工具中内置的东西让我很担心。

是的,这是在SQL Server上安装SSIS时运行的默认清理作业。我认为SSISDB出现了问题,您应该检查SSIS包是否仍在正常运行。

SSISDB中充满了触发器,默认清除作业在清除旧数据时尝试使用它们。有时,它在完成自己的工作时会遇到麻烦,尤其是当有很多数据需要删除时。此时,您可以通过手动更高效地删除数据来帮助它:https://www.timmitchell.net/post/2018/12/30/clean-up-the-ssis-catalog/

最新更新