0

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

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

  • 一个外键ON DELETE SET NULL被丢弃
  • 数据已插入
  • ON DELETE SET NULL不带选项重新创建外键。

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

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

两个不同的工具怎么会无法为这个键重新生成正确的 SQL?是否存在 SQL Server 配置错误或 Express 版本的限制?

4

2 回答 2

1

我最近发现了一个新工具Optillect Data Compare SQL,它比其他工具效果更好。也许你应该试试看。。

于 2011-04-19T23:45:55.157 回答
0

如果您要删除 FK 以便在加载期间不必担心数据完整性,那么禁用它们怎么样?这样,定义就保留在数据库中。

于 2011-04-18T20:13:08.627 回答