在调试MS SQL函数时查看临时表的数据

时间:2010-03-16 14:28:25

标签: sql-server debugging sql-server-2008

我正在调试Ms SQL函数(SQL 2008)。

在这个函数中,我有一个以这种方式声明的变量:

DECLARE @TempTable TABLE ( Id INT UNIQUE );

然后,我使用insert插入一些记录到... select语句。

调试时,我想查看此表中的记录。

有办法做到这一点吗?

由于

2 个答案:

答案 0 :(得分:1)

我构建了a procedure,它将显示来自另一个数据库连接的临时表的内容。 (普通查询无法实现)。 请注意,它使用DBCC PAGE&用于访问数据的默认跟踪,因此仅用于调试目的。

您可以通过在代码中放置断点,打开第二个连接并调用:

来使用它

exec sp_select 'tempdb..#mytable'

答案 1 :(得分:0)

一种可能不是最好的解决方案是:

  • 创建一个与临时表相同的永久表
  • 修改函数,使其将临时表中的数据转储到临时表包含您感兴趣的数据的点的永久表中

当函数结束时,打开新的永久表,你将获得临时表状态的副本。

这要求您有权创建新表并修改该功能。