Ian*_*emp 2 sql-server debugging stored-procedures
几年前,我在Sybase/Delphi环境中工作,使用BDE连接到数据库服务器.我们有一个小的Delphi应用程序,给定当前正在执行的存储过程的名称,可以告诉您当前正在执行的该sproc的哪一行.这对于调试似乎悬挂的sprocs非常有用.
我想在SQL Server中使用此功能,但我不记得它是Sybase还是BDE功能.SQL Server中是否提供此功能,如果可以,我需要使用哪些命令来查看此信息?
你可以使用类似的东西
SELECT
CASE
WHEN statement_end_offset = -1
THEN text
ELSE SUBSTRING(text,statement_start_offset/2,(statement_end_offset- statement_start_offset)/2)
END,
statement_end_offset, statement_start_offset
FROM sys.dm_exec_requests
CROSS APPLY sys.dm_exec_sql_text(sql_handle)
WHERE session_id = 53 --Or whatever!
Run Code Online (Sandbox Code Playgroud)
该statement_start_offset和statement_end_offset是字符偏移映射到当前正在执行的,而不是行号的声明.
单行可以包含多个可执行语句,单个语句可以跨多行.
| 归档时间: |
|
| 查看次数: |
4599 次 |
| 最近记录: |