SQL Server数据比较不持久“ON DELETE SET NULL”外键关系

时间:2011-04-18 19:09:20

标签: sql-server foreign-keys data-comparison

我感觉这是“只在我的机器上”的问题。我的盒子上有两个SQL 2008 R2 Express数据库。每个模式都使用相同的脚本创建。数据不同。

当我使用EITHER Visual Studio 2010的内置数据比较工具或Red Gate的SQL Data Compare v7工具时,我看到以下行为。

  • 删除ON DELETE SET NULL的外键
  • 插入数据
  • 在没有ON DELETE SET NULL选项的情况下重新创建外键。

查看由任一工具生成的SQL脚本清楚地显示了问题。据我所知,其余的FK都很好,其中很多都使用ON DELETE CASCADE

当我要求SSMS为FK生成脚本时,它包含ON DELETE SET NULL说明符,所以这不是我的想象。

两个不同的工具如何无法为此密钥重新生成正确的SQL?是否存在SQL Server配置错误或快速版限制?

2 个答案:

答案 0 :(得分:1)

我最近发现了一个比其他工具更好的新工具Optillect Data Compare SQL。也许你应该试试..

答案 1 :(得分:0)

如果您放弃FK以便在加载过程中不必担心数据完整性,那么如何禁用它们呢?这样,定义就会保留在数据库中。