-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdb_connection_session and close.sql
75 lines (61 loc) · 2.28 KB
/
db_connection_session and close.sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
--------------------Check Db Connection
SELECT s.*
FROM sys.dm_exec_sessions AS s
WHERE EXISTS(SELECT * FROM sys.dm_tran_session_transactions AS t WHERE t.session_id = s.session_id )
AND NOT EXISTS ( SELECT * FROM sys.dm_exec_requests AS r WHERE r.session_id = s.session_id);
---------------------Db Session
SELECT db_name(database_id), * FROM sys.dm_exec_sessions where database_id=7
--db_name(database_id)='ODYSSEYEMP'
order by db_name(database_id) , login_time
SELECT DB_ID(N'DB_Name') AS [Database ID];
-- For MS SQL Server 2012 and above
USE [master];
DECLARE @kill varchar(8000) = '';
SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), session_id) + ';'
FROM sys.dm_exec_sessions WHERE database_id = db_id('MyDB')
EXEC(@kill);
-- For MS SQL Server 2000, 2005, 2008
USE master;
DECLARE @kill varchar(8000); SET @kill = '';
SELECT @kill = @kill + 'kill ' + CONVERT(varchar(5), spid) + ';'
FROM master..sysprocesses WHERE dbid = db_id('MyDB')
EXEC(@kill);
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SELECT
sdes.session_id
,sdes.login_time
,sdes.last_request_start_time
,sdes.last_request_end_time
,sdes.is_user_process
,sdes.host_name
,sdes.program_name
,sdes.login_name
,sdes.status
,sdec.num_reads
,sdec.num_writes
,sdec.last_read
,sdec.last_write
,sdes.reads
,sdes.logical_reads
,sdes.writes
,sdest.DatabaseName
,sdest.ObjName
,sdes.client_interface_name
,sdes.nt_domain
,sdes.nt_user_name
,sdec.client_net_address
,sdec.local_net_address
,sdest.Query
,KillCommand = 'Kill '+ CAST(sdes.session_id AS VARCHAR)
FROM sys.dm_exec_sessions AS sdes
INNER JOIN sys.dm_exec_connections AS sdec ON sdec.session_id = sdes.session_id
CROSS APPLY (
SELECT DB_NAME(dbid) AS DatabaseName
,OBJECT_NAME(objectid) AS ObjName
,COALESCE((SELECT TEXT AS [processing-instruction(definition)]
FROM sys.dm_exec_sql_text(sdec.most_recent_sql_handle)
FOR XML PATH(''), TYPE), '') AS Query
FROM sys.dm_exec_sql_text(sdec.most_recent_sql_handle)
) sdest
WHERE sdes.session_id <> @@SPID AND sdest.DatabaseName ='Lollipop'
ORDER BY sdes.last_request_start_time DESC