【问题标题】:Check Constraints issue检查约束问题
【发布时间】:2015-06-18 09:18:53
【问题描述】:

需要一些建议。我有一个序列容器在我尝试执行它时失败了。我发现源表和目标表的某些列之间的约束存在差异。 然后,我尝试取消选中目的地中的“检查约束”选项,并成功。

我试图通过再次检查“检查约束”选项来复制错误,并尝试运行容器,现在它仍在成功运行。我以前无法再复制失败的工作。请告知可能导致此问题的原因。

我了解此“检查约束”设置指定数据流管道引擎将根据目标表的约束验证传入数据。

【问题讨论】:

  • 听起来您不再需要导入违反检查约束的数据。

标签: sql sql-server-2008 ssis


【解决方案1】:

在不知道表的约束、要插入的数据以及以什么顺序插入的情况下,这是一个很难回答的问题。我的猜测是,发生了这样的事情:

表 A 有表 B 的外键引用。起初,两个表都有 0 条记录。

启用“检查约束”选项后,您尝试将记录加载到表 A。由于对表 B 的引用,此操作失败,并且此时表 B 尚不包含任何记录。

然后您取消选中“检查约束”,现在可以将记录加载到两个表中而不会出错。

然后你重新检查“检查约束”。现在,表A和表B都包含数据,这意味着您可以再次向表A插入数据,而不会违反约束。

【讨论】:

  • 你好,丹。感谢您的回复。要添加详细信息,源是来自不同数据库实例的表,目标是不同数据库实例的表的相同副本。当我尝试运行它时,只有 1 个表受到影响,它是目标表。当我运行任务时,没有表 B 也受到影响。
猜你喜欢
  • 2011-07-09
  • 1970-01-01
  • 2021-03-12
  • 2011-01-28
  • 2011-07-06
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多