无法创建/删除表格

时间:2011-06-22 01:59:27

标签: tsql sql-server-2008

我错误地通过对象资源管理器删除了一个表。我试图创建一个具有相同名称的表,我得到一个错误,即具有该名称的对象已经存在。我有服务器角色系统管理员

我尝试过以下命令。

DROP TABLE 'Test'

结果:

  

无法删除表,因为它不存在或您没有权限。

select * from INFORMATION_SCHEMA.TABLES order by 3

结果:

  

表名测试没有结果

select * from sys.objects where name = 'Test'

结果:

空白表

当我键入DROP TABLE时,intellisense显示一个名为Test的表。这似乎是一个权限问题,但由于我将服务器角色作为系统管理员,我不确定它是怎么回事。

我不确定这是否重要但我从登台服务器导入了这个数据库。

2 个答案:

答案 0 :(得分:2)

确保您处于所有操作的正确且相同的数据库上下文

要查找表中存在的数据库:

EXEC sys.sp_MSforeachdb 'USE ? SELECT DB_NAME() FROM sys.objects WHERE name = ''Test'' '

答案 1 :(得分:0)

使用SysObjects时,请使用xType列:

select * from sys.objects where name = 'Test' and xType = 'U'

也许有一个同名的对象,使用xtype ='U'我们可以知道是否有用户表。