Skip to content

Commit a58f8c1

Browse files
authored
Fix #2962
Replace usage of `sys.dm_exec_sessions` with `sys.sysprocesses` to add support for older SQL versions
1 parent 81cc9bb commit a58f8c1

1 file changed

Lines changed: 13 additions & 13 deletions

File tree

sp_BlitzFirst.sql

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1755,30 +1755,30 @@ BEGIN
17551755
'Query Problems' AS FindingGroup,
17561756
'Sleeping Query with Open Transactions' AS Finding,
17571757
'https://www.brentozar.com/askbrent/sleeping-query-with-open-transactions/' AS URL,
1758-
'Database: ' + DB_NAME(db.resource_database_id) + @LineFeed + 'Host: ' + s.[host_name] + @LineFeed + 'Program: ' + s.[program_name] + @LineFeed + 'Asleep with open transactions and locks since ' + CAST(s.last_request_end_time AS NVARCHAR(100)) + '. ' AS Details,
1759-
'KILL ' + CAST(s.session_id AS NVARCHAR(100)) + ';' AS HowToStopIt,
1760-
s.last_request_start_time AS StartTime,
1761-
s.login_name AS LoginName,
1762-
s.nt_user_name AS NTUserName,
1758+
'Database: ' + DB_NAME(db.resource_database_id) + @LineFeed + 'Host: ' + s.hostname + @LineFeed + 'Program: ' + s.[program_name] + @LineFeed + 'Asleep with open transactions and locks since ' + CAST(s.last_batch AS NVARCHAR(100)) + '. ' AS Details,
1759+
'KILL ' + CAST(s.spid AS NVARCHAR(100)) + ';' AS HowToStopIt,
1760+
s.last_batch AS StartTime,
1761+
s.loginame AS LoginName,
1762+
s.nt_username AS NTUserName,
17631763
s.[program_name] AS ProgramName,
1764-
s.[host_name] AS HostName,
1764+
s.hostname AS HostName,
17651765
db.[resource_database_id] AS DatabaseID,
17661766
DB_NAME(db.resource_database_id) AS DatabaseName,
17671767
(SELECT TOP 1 [text] FROM sys.dm_exec_sql_text(c.most_recent_sql_handle)) AS QueryText,
1768-
s.open_transaction_count AS OpenTransactionCount
1769-
FROM sys.dm_exec_sessions s
1770-
INNER JOIN sys.dm_exec_connections c ON s.session_id = c.session_id
1768+
s.open_tran AS OpenTransactionCount
1769+
FROM sys.sysprocesses s
1770+
INNER JOIN sys.dm_exec_connections c ON s.spid = c.session_id
17711771
INNER JOIN (
17721772
SELECT DISTINCT request_session_id, resource_database_id
17731773
FROM sys.dm_tran_locks
17741774
WHERE resource_type = N'DATABASE'
17751775
AND request_mode = N'S'
17761776
AND request_status = N'GRANT'
1777-
AND request_owner_type = N'SHARED_TRANSACTION_WORKSPACE') AS db ON s.session_id = db.request_session_id
1777+
AND request_owner_type = N'SHARED_TRANSACTION_WORKSPACE') AS db ON s.spid = db.request_session_id
17781778
WHERE s.status = 'sleeping'
1779-
AND s.open_transaction_count > 0
1780-
AND s.last_request_end_time < DATEADD(ss, -10, SYSDATETIME())
1781-
AND EXISTS(SELECT * FROM sys.dm_tran_locks WHERE request_session_id = s.session_id
1779+
AND s.open_tran > 0
1780+
AND s.last_batch < DATEADD(ss, -10, SYSDATETIME())
1781+
AND EXISTS(SELECT * FROM sys.dm_tran_locks WHERE request_session_id = s.spid
17821782
AND NOT (resource_type = N'DATABASE' AND request_mode = N'S' AND request_status = N'GRANT' AND request_owner_type = N'SHARED_TRANSACTION_WORKSPACE'));
17831783
END
17841784

0 commit comments

Comments
 (0)