表隐藏在SQL Server数据库中?

时间:2013-09-06 13:48:47

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

我突然把数据转移到一张桌子里,这是我在职业生涯中从未见过的一个疯狂的问题。

  

Msg 208,Level 16,State 1,Line 1
  无效的对象名称'dbo.Table_Report'。

然后我尝试创建一个具有相同名称的表,然后再次出现错误

  

Msg 2714,Level 16,State 6,Line 2
  数据库中已经有一个名为“Table_Report”的对象。

出了什么问题我需要尽快将数据发送到表中,但我无法做到这一点,至少我无法删除表

  

不能删除表'Table_Report',因为它不存在或您没有权限。

注意:我拥有数据库的管理员权限。

你们看看出了什么问题吗?

2 个答案:

答案 0 :(得分:0)

我们最近遇到了这个问题,可能发生的事情是有人在用户名下创建了一个名为Table_report的表(而不是DBO - 数据库所有者)。你应该试试:

Drop Table Table_report

然后重新运行您的查询。

编辑:您应该能够运行以下查询来查找数据库中的所有现有表,并找出附加到表的用户名

select ss.name ,st.* from sys.tables st
inner join sys.schemas ss
 on ss.schema_id = st.schema_id

答案 1 :(得分:0)

select Schema_name(schema_id) from sys.tables where name ='Table_report';

哪个架构是结果? 如果你想移动它,那就这样做:

ALTER SCHEMA dbo
TRANSFER SchemaSource.Table_report;

http://msdn.microsoft.com/en-us/library/ms173423%28v=sql.105%29.aspx