SQLServer:如何删除损坏的外键约束

时间:2011-03-18 12:32:24

标签: sql-server database foreign-keys

我的某个数据库中存在损坏的外键约束。

我不能放弃它 - 因为它不存在。它在sys.sysobjects和sys.objects中不存在。 SQLServer管理控制台也不会列出它,

然而,我无法重新创建外键约束,因为它已经存在于模式中(错误:已经存在具有相同标识符的对象)。

我该如何解决?哪个元数据表对此负责?

1 个答案:

答案 0 :(得分:2)

我唯一能想到的是,如果它以某种方式进行区分大小写的匹配,并且您传递的名称与服务器存储的大小不同。试试这个:

select fk.[name]
from sys.foreign_keys fk
inner join sys.objects o
   on fk.[referenced_object_id] = o.[object_id]
where lower(o.[name]) = lower('your table here')