具有该名称的对象已存在于数据库中,但该对象不存在

时间:2014-09-17 07:47:56

标签: sql sql-server-2008 sql-server-2008-r2

我有一个名为dbo.ProductValue的表格,我想我已将其删除了。现在,当我想创建一个名为ProductValue的表时,它会显示错误:

  

数据库中已存在名为dbo.ProductValue的对象

但事实上它并不存在,或者至少我看不到它。我有sa访问权限。

尝试:

  • 我关闭并重新打开窗口
  • 我重新启动了MSSQLSERVER服务

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:3)

它显然不是一个表,但它确实存在于数据库中,所以让我们来寻找它:

SELECT * FROM sys.sysobjects AS S
WHERE name = 'ProductValue'

注意下降parent_obj(例如12345)。现在看看父对象是什么:

SELECT * FROM sys.sysobjects AS S WHERE id = 12345

根据您的评论,它是表格中的约束。第二个查询将为您提供表,现在您可以使用SSMS(或DDL语句)来删除该对象,以便您可以将该名称用于新表。

Docs for the sys.objects table