sql正在执行查询
㈠ 如何查询当前正在运行的sql语句
先执行以下查询语句
select a.program, b.spid, c.sql_text,c.SQL_ID
from v$session a, v$process b, v$sqlarea c
where a.paddr = b.addr
and a.sql_hash_value = c.hash_value
and a.username is not null;
PROGRAM SPID SQL_TEXT SQL_ID
---------------------------------------------------------------- -------------
racgimon@cdcj1 (TNS V1-V3) 12 DECLARE reason_id 65vuzhm491wk9
oracleRLZY@rx6600-2 (TNS V1-V3) 25867 SELECT "AKB020" FROM "KB 09rp36jmgpj5a
oracleRLZY@rx6600-2 (TNS V1-V3) 25869 SELECT "AAC001","BTC102" 00931052n13uq
oracleRLZY@rx6600-2 (TNS V1-V3) 3018 SELECT "AAC001","BTC102" 00931052n13uq
plsqldev.exe 26531 select a.program, b.spid 5qq47bz3tzfws
JDBC Thin Client 21074 select * from ( select r 686nqabc8sgs2
如上图中的program列中的jdbc thin client代表的是通过jdbc连接执行的sql语句,由于sql_text列没有显示完整
的sql语句.所以找到sql_id:686nqabc8sgs2再查询v$sql
select a.* from v$sql a where a.SQL_ID='686nqabc8sgs2'
可以查看完整的sql文本内容
㈡ 如何查询当前正在执行的sql语句
oracle中
v$session
里的sql_address,
sql_hash_value
可以连到v$sqlarea
的address,
hash_value.
这样就可以看到所有当前的session和它们在执行什么,
已经所执行sql的状况。
㈢ 在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 ,
[Indivial 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
㈣ 在MS SQL Server中怎么查看正在执行的SQL
用MSSQL自带的工具 SQL Server Profiler 可以看到。
SQL Profiler是一个图形界面和一组系统存储过程,其作用如下:
图形化监视SQL Server查询;
在后台收集查询信息;
分析性能;
诊断像死锁之类的问题;
调试T-SQL语句;
模拟重放SQL Server活动;
㈤ sql一直显示正在执行查询
你好,很高兴回答你的问题。
是你的这个查询执行太耗时吧,可以考虑看看有没有优化的空间。
如果有帮助到你,请点击采纳。
㈥ 请教SQL server2008执行查询语句一直报正在执行查询,不出结果
很简单啊,sql语句查询的结果集中的数据太多,还没有查询完毕。如果数据量并不多,时间很久还是显示正在执行查询的话,那么你的sql语句肯定不是很好,需要优化
㈦ SQL一直正在执行查询出不了结果
--方法一
declare@yint,@totalint,@zint
declare@startTimedatetime=getdate()
set@y=1
set@total=0
while@y<=10000
begin
if(@y%10=0)
begin
set@y=@y+1
continue
end
else
set@total=@total+@y
set@y=@y+1--没有这句的话,你的@y永远等1啊
if(@total>10000000)
begin
break;
end
end
selectdatediff(ms,@startTime,getdate())
select@total
--方法二
declare@startTimedatetime=getdate();
withT
As
(
select1AsA,1AsRst
unionall
SelectA+1,Rst+casewhen(A+1)%10=0then0elseA+1EndFromTwhereRst<10000000
)
selectMAX(Rst)fromT
option(MAXRECURSION10000)
selectdatediff(ms,@startTime,getdate())
㈧ 如何查询当前正在执行的sql语句
首先,你要以dba身份登陆数据库。
第二,为某个用户开启sql跟踪。那个用户就是你要跟踪的、正在执行sql语句的那个用户。命令如下:
execute dbms_system.set_sql_trace_in_session(sid,serial#,true)
其中参数的意义是,sid-会话id,serial#-序列号,这两个参数可以从v$session中得到。
第三,上面的命令执行成功之后数据库就自动对该用户所发出的所有sql语句进行跟踪,并把结果写在用户跟踪文件里。用户跟踪文件存放在数据库服务器上,路径请参考init.ora文件中的ump参数值。文件名为ora_sid_xxxx.trc(for unix)或者oraxxxxx.trc(for NT),其中xxxx文件系统进程编号,这个编号可以从v$process和v$session两个表通过关联的方式查询得到。
㈨ 如何查询当前正在执行的sql语句
oracle中
v$session 里的sql_address, sql_hash_value 可以连到v$sqlarea 的address, hash_value.
这样就可以看到所有当前的session和它们在执行什么, 已经所执行sql的状况。
㈩ 如何查看PostgreSQL正在执行的SQL
1、首先登录sql server managment。