这实际上毁了我的一天。我有更多的表,其间有许多FK关系。其中一个表(我们称之为表A)有一个计算列,它是通过带有模式绑定的UDF计算的,也是全文索引的。
如果我编辑任何表(让我们称之为表B),它以任何方式与全文索引计算列(表A)相关(例如通过FK),并保存它发生以下情况:
到底是怎么回事?有人可以向我解释这是怎么发生的吗?
答案 0 :(得分:2)
我遇到了同样的问题。正如Will A所说,管理工作室将执行以下步骤来更新表及其外键:
我可能有错误顺序的前三个但你明白了。 在我的情况下,我丢失了整个表,而不仅仅是外键。我个人不喜欢它的方式,因为必须在包含大量数据的表上重新创建索引非常耗时。如果它只是一个很小的改变,我通常在T-SQL中自己做。
在执行更改脚本之前检查它,确保它看起来合理。
@OMGPonies,如果表中有数据,为什么不能删除外键?当然可以。在具有数据的表上创建外键只有限制,但仅限于它违反约束。但是,即使这样也可以通过在创建密钥时使用WITH NOCHECK选项来避免。是的,我知道当你尝试更新损坏的结果集时它会中断。