Average 28000 requests/month












 

This is a 2005 sort of sp_who3, which'll return connection info as well as the running command. Also included is the SQL Server 2000 equivalent and also a means of seeing zero cost plans.

 

/********* live requests (running ones) *************/
SELECT st.text as [Command text],
login_time
,
[host_name]
,
program_name
,
sys.dm_exec_requests.session_id,
client_net_address
,
sys.dm_exec_requests.status,
command
,
db_name(database_id) as DatabaseName
FROM
sys.dm_exec_requests
inner
join sys.dm_exec_connections on sys.dm_exec_requests.session_id = sys.dm_exec_connections.session_id
inner
join sys.dm_exec_sessions on sys.dm_exec_sessions.session_id = sys.dm_exec_requests.session_id
cross
apply sys.dm_exec_sql_text(sql_handle) AS st
WHERE
sys.dm_exec_requests.session_id >= 51
GO

/********* use against a spid to check TSQL - limited to 255 chars *************/
/********* use sp_who3 to run this on all processes *************/

dbcc
inputbuffer(myspid)

/********* returns upto 800 characters *************/
/********* use DBCC TRACEON (2861) to cache and see zero cost plans also *************/

DECLARE
@handle binary(20)
SELECT
@handle = sql_handle
FROM master..sysprocesses
WHERE spid = myspid
SELECT
* FROM ::fn_get_sql(@handle)

 
 

July 2005