我感觉这是“只在我的机器上”的问题。我的盒子上有两个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配置错误或快速版限制?
答案 0 :(得分:1)
我最近发现了一个比其他工具更好的新工具Optillect Data Compare SQL。也许你应该试试..
答案 1 :(得分:0)
如果您放弃FK以便在加载过程中不必担心数据完整性,那么如何禁用它们呢?这样,定义就会保留在数据库中。