我有一种感觉,这是一个“仅在我的机器上”的问题。我的盒子上有两个 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 版本的限制?