在SSMS中,我看到7个临时表,所有表的名称都是dbo。#0876219E。当我结束我的联系并回来时,他们仍然在那里。
我无法查询它们或获取它们的属性。我收到错误。
如何找到它们的来源,目的以及它们包含的内容?
是否有特定的系统sp提供临时表的信息 - 无法立即找到。
答案 0 :(得分:2)
具有此类名称的临时表(#,然后是8个十六进制数字)是支持表变量的临时表 - declare @boris table (...)
只要引入它们的批次继续运行,它们就会存在。在我负载很轻的开发服务器上,我可以看到~30个,所以我猜测有一些是由SQL Server本身使用/创建的 - 或者可能是SSMS。
答案 1 :(得分:0)
SQL Server中的临时表完全正常。它们通常在重新启动数据库服务时被删除(与存储它们的TempDB一起)。
如果您向我们提供了更多关于您看到这些临时表的上下文的信息,那将会有所帮助。
修改强>
此引用来自以下forum post,它很好地总结了tempdb
的作用:
tempdb用于排序, 聚合,区分,联盟,临时 表和表变量,行 版本。它也可以用于 指数建设。
哦和游标