0
我遇到某人丢弃表的情况,但外键仍留在sys.foreign_keys中。有没有办法删除不再有表的外键,或者我应该尝试从sys.foreign_keys中删除行吗?从表格丢弃的外键丢失
我遇到某人丢弃表的情况,但外键仍留在sys.foreign_keys中。有没有办法删除不再有表的外键,或者我应该尝试从sys.foreign_keys中删除行吗?从表格丢弃的外键丢失
修改系统表是坏主意。 不要那样做。事实上,SQL Server不会允许你轻松完成。
你应该首先尝试用以下命令:
DBCC CHECKDB
DBCC CHECKCATALOG
DBCC CHECKCONSTRAINTS (constraint_name)
(如果省略数据库名称,则使用当前数据库)。 如果确实没有表的外键,dbcc应该检测到它。从dbcc输出中读取结果并注意错误消息。
此外,尝试:
SELECT
name,
is_disabled,
is_not_trusted
FROM sys.foreign_keys
WHERE is_disabled = 1
OR is_not_trusted = 1
,看看您是否可以从SQL Server的更多信息。