SQL Server约束不删除

时间:2011-08-16 16:43:22

标签: sql-server

所以,首先,我们使用的是历史系统,其中包含所有表格的历史版本。我正在向表中添加一个新列,因此我将它添加到dbo和hist版本中。我添加了一个约束,默认值应为0.但是,我拼错了hist表的列。所以,我添加正确的一个,然后去掉不正确的一个。但是,它说The object 'DF__FCRelease__NumRe_125D4E50' is dependent on column 'NumRelease'.这是我上面提到的约束。我试过删除它虽然SQL声称它成功完成,但约束仍然存在。我试过通过GUI删除它,但它声称该对象不存在。这是我试图用来删除约束的SQL:

IF  EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DF__FCRelease__NumRe__125D4E50]') AND type = 'D')
BEGIN
ALTER TABLE [hist].[FCRelease] DROP CONSTRAINT [DF__FCRelease__NumRe__125D4E50]
END

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为,这与a similar question有关。所以,我会给你一个类似的答案。

您可能需要rebuild your master database。我怀疑那里有一些腐败导致了这个问题。

作为一种变通方法,您可以尝试删除该列,重新添加该列,然后重新添加约束(la here)。这也可能解决问题。