【发布时间】:2021-10-28 21:51:04
【问题描述】:
SSIS 包运行良好,但今天突然开始出错。 不知道出了什么问题。
这是表结构
根据@Tyron78 的建议更改了脚本,但仍然出现错误
执行 SQL 任务] 错误:执行查询“截断表 AuditEventParameter IF OBJECT_ID('d..." 失败并出现以下错误:“无法截断表 'AuditEvent',因为它被 FOREIGN KEY 约束引用。”。可能的失败原因:查询有问题,“ResultSet”属性未设置正确,参数设置不正确,或连接未正确建立。
Truncate table AuditEventParameter
IF OBJECT_ID('dbo.FK_AuditEvent_AuditEventParameter', 'FK') IS NOT NULL
ALTER TABLE [dbo].[AuditEventParameter] DROP CONSTRAINT FK_AuditEvent_AuditEventParameter
Truncate table AuditEvent
ALTER TABLE [dbo].[AuditEventParameter] WITH NOCHECK ADD CONSTRAINT [FK_AuditEvent_AuditEventParameter] FOREIGN KEY([eventID])
REFERENCES [dbo].[AuditEvent] ([eventID])
【问题讨论】:
-
您下次运行它时是否正常工作?我猜有一个先前的问题,即没有重新创建约束,并且下次运行 SSIS 时。它找不到它来丢弃它。
-
@Nick.McDermaid,不。在那之后它失败了。我在这里有点迷路,为什么我突然开始出错。在此错误之前,SSIS 包运行顺利。当包接下来运行时,为什么没有重新创建它。你觉得脚本有什么错误吗。
-
为什么下一次运行包时没有重新创建它 因为它可能设法在一次运行中重新创建了约束,所以下一次运行它可能会在没有错误的情况下删除它。
标签: sql-server ssis truncate