C# 如何在sql server中查看由代码创建的临时表?

C# 如何在sql server中查看由代码创建的临时表?,c#,.net,sql-server,temp-tables,global-temp-tables,C#,.net,Sql Server,Temp Tables,Global Temp Tables,我使用C代码创建一个全局临时表(即##TheTable)。我希望在代码完全运行后,能够在SQLServerManagementStudio中查看该临时表 有可能这样做吗?如果是,那么如何将所有临时表记录在SQL server>数据库>系统数据库>临时数据库>临时表下?代码完成并关闭会话后,临时表将不再存在。如果您希望在SQLServerManagementStudio(SSMS)中看到它,则需要保持代码会话处于打开状态,直到在SSMS中查看数据为止 Per: 全局临时表对任何用户和任何连接都可见

我使用C代码创建一个全局临时表(即
##TheTable
)。我希望在代码完全运行后,能够在SQLServerManagementStudio中查看该临时表


有可能这样做吗?如果是,那么如何将所有临时表记录在SQL server>数据库>系统数据库>临时数据库>临时表下?

代码完成并关闭会话后,临时表将不再存在。如果您希望在SQLServerManagementStudio(SSMS)中看到它,则需要保持代码会话处于打开状态,直到在SSMS中查看数据为止

Per:

全局临时表对任何用户和任何连接都可见 创建后,当所有用户 引用表时,请断开与SQL Server实例的连接

作为替代方案,这里有一个C#代码选项,用于将临时表中的数据选择到代码变量中,以便在代码中进行查看。。。(如果代码是存在的,您可以将其写入一个文件或通过其他方式查看)——请参阅:

创建一个测试表

SELECT * INTO ##temp1
FROM dbo.SomeTable_Name
现在检查一下桌子是否在那里

SELECT  * FROM tempdb.dbo.sysobjects O
WHERE O.xtype in ('U') 
AND O.ID = OBJECT_ID(N'tempdb..##temp1')

SQL server>数据库>系统数据库>临时数据库->临时表我在临时表下看不到任何临时表。请尝试在临时表创建后放置断点,然后签入SSMS。不要忘记刷新临时表文件夹,因为它不会自动更新##即使在连接/会话已断开后,也应保留表#表只存在于创建它们的会话中。我尝试了不关闭连接的方法,但没有成功。我现在试试断点,好的。断点可以工作。但是,为什么在代码(没有断点)完全执行之后,我不能看到temp表呢?如何在没有断点的情况下仍然可以看到临时表?但是在代码完全运行后,临时表就消失了。这就是为什么他们叫它临时工。