小编tha*_*guy的帖子

用户数据库中以#开头的SQL Server表名,不是tempdb,不是临时表

不知何故,几十年前,在我们的数据库中创建了一个以#. 它显示在应用程序数据库下的对象资源管理器中,而不是tempdb. 出于某种原因,Azure 不会像这样导入数据库。

我们不能删除它、重命名它或与之交互。我已经尝试过从对象资源管理器中删除脚本删除、从 GUI 中重命名,但都没有奏效。

我们使用的是 SQL 2008 R2。

drop table [*app*].[dbo]."#OBSOLETE";

Database name '*app*' ignored, referencing object in tempdb.
Msg 3701, Level 11, State 5, Line 1
Cannot drop the table '#OBSOLETE', because it does not exist or you do not 
have permission.

exec sp_rename "dbo.#OBSOLETE", "dbo.obsolete"

Msg 15225, Level 11, State 1, Procedure sp_rename, Line 338
No item by the name of 'dbo.#OBSOLETE' could …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2008-r2 temporary-tables

13
推荐指数
1
解决办法
924
查看次数