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。