Skip to content

Commit 24aede7

Browse files
authored
Merge pull request BrentOzarULTD#1299 from BrentOzarULTD/Issue_1298
Fixes BrentOzarULTD#1298
2 parents 5cc7648 + af7fd68 commit 24aede7

File tree

1 file changed

+43
-7
lines changed

1 file changed

+43
-7
lines changed

sp_BlitzLock.sql

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -663,7 +663,42 @@ SET @VersionDate = '20171201';
663663
N'To get help or add your own contributions, join us at http://FirstResponderKit.org.');
664664

665665

666-
WITH deadlocks
666+
667+
668+
669+
WITH chop AS (
670+
SELECT SUBSTRING(dp.wait_resource,
671+
CHARINDEX(':', dp.wait_resource, CHARINDEX(':', dp.wait_resource)) + 2,
672+
LEN(dp.wait_resource)
673+
) AS chopped,
674+
dp.id,
675+
dp.database_id,
676+
dp.event_date
677+
FROM #deadlock_process AS dp
678+
GROUP BY dp.id, dp.database_id, dp.wait_resource, dp.event_date
679+
),
680+
suey AS (
681+
SELECT SUBSTRING(c.chopped,
682+
CHARINDEX(':', c.chopped) + 1,
683+
CHARINDEX(':', c.chopped, CHARINDEX(':', c.chopped) + 1)
684+
- 1 - CHARINDEX(':', c.chopped)
685+
) AS obj_id,
686+
c.id,
687+
c.database_id,
688+
c.event_date
689+
FROM chop AS c
690+
),
691+
chopsuey AS (
692+
SELECT *,
693+
DB_NAME(s.database_id) AS database_name,
694+
OBJECT_SCHEMA_NAME(s.obj_id, s.database_id) AS sch_name,
695+
OBJECT_NAME(s.obj_id, s.database_id) AS tbl_name,
696+
OBJECT_SCHEMA_NAME(s.obj_id, s.database_id)
697+
+ N'.'
698+
+ OBJECT_NAME(s.obj_id, s.database_id) AS object_name
699+
FROM suey AS s
700+
),
701+
deadlocks
667702
AS ( SELECT dp.event_date,
668703
dp.id,
669704
dp.database_id,
@@ -672,12 +707,13 @@ SET @VersionDate = '20171201';
672707
CONVERT(
673708
XML,
674709
STUFF(( SELECT DISTINCT NCHAR(10)
675-
+ N' <objects>'
676-
+ ISNULL(dow.object_name, N'')
677-
+ N'</objects> ' AS object_name
678-
FROM #deadlock_owner_waiter AS dow
679-
WHERE dp.id = dow.owner_id
680-
OR dp.id = dow.waiter_id
710+
+ N' <object>'
711+
+ ISNULL(c.object_name, N'')
712+
+ N'</object> ' AS object_name
713+
FROM chopsuey AS c
714+
WHERE (dp.id = c.id
715+
OR dp.victim_id = c.id)
716+
AND dp.event_date = c.event_date
681717
FOR XML PATH(N''), TYPE ).value(N'.[1]', N'NVARCHAR(4000)'),
682718
1, 1, N'')) AS object_names,
683719
dp.wait_time,

0 commit comments

Comments
 (0)