Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit af7fd68

Browse files
Sigh
1 parent 8b1cca3 commit af7fd68

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)

AltStyle によって変換されたページ (->オリジナル) /