我有一个MicrosoftSQLServer2019企业版数据库,其中我在两个表之间建立了关系:Properties
和Photos
,其中Properties
是主键,Photos
是外键表。
但是,名为FK_Photos_Properties
的外键约束不知何故消失了:它没有出现在SSMS表设计器和
SELECT * FROM sysobjects WHERE name = 'FK_Photos_Properties';
不返回结果。
当我试图使用SSMS设计器重新创建关系时,会收到一条错误消息:
无法创建关系“FK_Photos_Properties”。 ALTER语句与外键约束"FK_Photos_Properties“冲突。冲突发生在数据库"MyDB“、表"dbo.Properties”、列'ID‘中。
看来外键还存在,但在哪里?这里发生什么事情?
DBCC CHECKDB
不返回错误。我还尝试用脚本编写整个数据库结构以查找FK_Photos_Properties
,但它根本不在生成的脚本中。外键没有出现在我能看到的任何地方:在表设计人员的关系中也没有.窗口,也不在从数据库架构生成的脚本中。
如何才能使外键约束返回?
发布于 2023-04-12 20:59:11
外键不是对象,而是“约束”。您将在sysconstraints
表中找到它。
https://dba.stackexchange.com/questions/325936
复制相似问题