在MS SQL Server中怎么查看正在执行的SQL
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在MS SQL Server中怎么查看正在执行的SQL相关的知识,希望对你有一定的参考价值。
有二种方式来查看正在执行的SQL语句
使用SQL自带的SQL Server Profiler,以可视化界面的方式来查看。
从开始=》所有程序=》Microsoft SQL Server 2008=》性能工具打开Profiler工具,也可以打开SQL Server Management Studio=》工具=》SQL Server Profiler。
然后选择文件=》新建=》跟踪打开一个连接窗口,选择将要跟踪的服务器实例然后连接,并打开“跟踪属性”对话框,点运行即可看到正在执行的SQL语句。
使用SQL语句来查看正在运行的语句,如下
SELECT [Spid] = session_id ,
ecid ,
[Database] = DB_NAME(sp.dbid) ,
[User] = nt_username ,
[Status] = er.status ,
[Wait] = wait_type ,
[Individual Query] = SUBSTRING(qt.text,
er.statement_start_offset / 2,
( CASE WHEN er.statement_end_offset = -1
THEN LEN(CONVERT(NVARCHAR(MAX), qt.text))
* 2
ELSE er.statement_end_offset
END - er.statement_start_offset )
/ 2) ,
[Parent Query] = qt.text ,
Program = program_name ,
hostname ,
nt_domain ,
start_time
FROM sys.dm_exec_requests er
INNER JOIN sys.sysprocesses sp ON er.session_id = sp.spid
CROSS APPLY sys.dm_exec_sql_text(er.sql_handle) AS qt
WHERE session_id > 50 -- Ignore system spids.
AND session_id NOT IN ( @@SPID ) -- Ignore this current statement.
ORDER BY 1 ,
2
SQL Profiler是一个图形界面和一组系统存储过程,其作用如下:
图形化监视SQL Server查询;
在后台收集查询信息;
分析性能;
诊断像死锁之类的问题;
调试T-SQL语句;
模拟重放SQL Server活动; 参考技术B 首先你参照的软件用到的数据库SQL SERVER环境你有没有,如果有你可以监测SQL执行的情况,那样可以获取SQL执行的语句。不过现在很多程序都对SQL进行了封装,如果存储过程加密了,那还得费一翻功夫。本回答被提问者和网友采纳
有人知道怎么查看oracle,正在执行的语句吗?
查看数据库中某用户,正在运行什么SQL 语句?根据MACHINE、USERNAME 或SID、SERIAL#,连接表V$SESSION 和V$SQLTEXT,可
查出。
SQL*PLUS 语句:
“SELECT SQL_TEXT FROM V$SQL_TEXT T, V$SESSION S WHERE
T.ADDRESS=S.SQL_ADDRESS
AND T.HASH_VALUE=S.SQL_HASH_VALUE
AND S.MACHINE='XXXXX' OR USERNAME='XXXXX' -- 查看某主机名,或用户名
/” 参考技术A 打个ed回车,就可以看到上次执行的语句追问
可能是我说的不清楚,我是想看下现在运行的程序在ORACLE中执行的什么语句。
以上是关于在MS SQL Server中怎么查看正在执行的SQL的主要内容,如果未能解决你的问题,请参考以下文章