如何查找临时表的来源

时间:2010-11-22 22:43:08

标签: sql-server

在SSMS中,我看到7个临时表,所有表的名称都是dbo。#0876219E。当我结束我的联系并回来时,他们仍然在那里。

我无法查询它们或获取它们的属性。我收到错误。

如何找到它们的来源,目的以及它们包含的内容?

是否有特定的系统sp提供临时表的信息 - 无法立即找到。

2 个答案:

答案 0 :(得分:2)

具有此类名称的临时表(#,然后是8个十六进制数字)是支持表变量的临时表 - declare @boris table (...)

只要引入它们的批次继续运行,它们就会存在。在我负载很轻的开发服务器上,我可以看到~30个,所以我猜测有一些是由SQL Server本身使用/创建的 - 或者可能是SSMS。

答案 1 :(得分:0)

SQL Server中的临时表完全正常。它们通常在重新启动数据库服务时被删除(与存储它们的TempDB一起)。

如果您向我们提供了更多关于您看到这些临时表的上下文的信息,那将会有所帮助。

修改

此引用来自以下forum post,它很好地总结了tempdb的作用:

  

tempdb用于排序,   聚合,区分,联盟,临时   表和表变量,行   版本。它也可以用于   指数建设。

     

哦和游标