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 394a256

Browse files
Add owner/victim info
This looks good.
1 parent 8292e6d commit 394a256

File tree

1 file changed

+28
-8
lines changed

1 file changed

+28
-8
lines changed

‎sp_BlitzLock.sql‎

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -354,12 +354,25 @@ SET @VersionDate = '20171201';
354354

355355
/*Add some nonsense*/
356356
ALTER TABLE #deadlock_process
357-
ADD owner_objects NVARCHAR(4000),
358-
waiter_objects NVARCHAR(4000),
359-
waiter_mode NVARCHAR(256),
357+
ADD waiter_mode NVARCHAR(256),
360358
owner_mode NVARCHAR(256),
361359
is_victim AS CONVERT(BIT, CASE WHEN id = victim_id THEN 1 ELSE 0 END);
362360

361+
/*Update some nonsense*/
362+
UPDATE dp
363+
SET dp.owner_mode = dow.owner_mode
364+
FROM #deadlock_process AS dp
365+
JOIN #deadlock_owner_waiter AS dow
366+
ON dp.id = dow.owner_id
367+
WHERE dp.is_victim = 0
368+
369+
UPDATE dp
370+
SET dp.waiter_mode = dow.waiter_mode
371+
FROM #deadlock_process AS dp
372+
JOIN #deadlock_owner_waiter AS dow
373+
ON dp.victim_id = dow.waiter_id
374+
WHERE dp.is_victim = 1
375+
363376

364377
/*Begin checks based on parsed values*/
365378

@@ -436,11 +449,11 @@ SET @VersionDate = '20171201';
436449
'This database has had ' +
437450
CONVERT(NVARCHAR(20), COUNT_BIG(DISTINCT dp.id)) +
438451
' instances of deadlocks involving the login ' +
439-
dp.login_name +
452+
ISNULL(dp.login_name, 'UNKNOWN') +
440453
' from the application ' +
441-
dp.client_app +
454+
ISNULL(dp.client_app, 'UNKNOWN') +
442455
' on host ' +
443-
dp.host_name
456+
ISNULL(dp.host_name, 'UNKNOWN')
444457
AS finding,
445458
NULL AS query_text
446459
FROM #deadlock_process AS dp
@@ -561,9 +574,10 @@ SET @VersionDate = '20171201';
561574
'This object has had '
562575
+ CONVERT(VARCHAR(10), cs.wait_days)
563576
+ ':' + CONVERT(VARCHAR(20), cs.wait_time_hms, 108)
564-
+ ' [d/h/m/s] of deadlock wait time.',
577+
+ ' [d/h/m/s] of deadlock wait time.'AS finding,
565578
NULL AS query_text
566579
FROM chopsuey AS cs
580+
WHERE cs.object_name IS NOT NULL
567581
OPTION ( RECOMPILE );
568582

569583
/*Check 10 gets total deadlock wait time per database*/
@@ -627,13 +641,19 @@ SET @VersionDate = '20171201';
627641
dp.login_name,
628642
dp.isolation_level,
629643
dp.process_xml.value('(//process/inputbuf/text())[1]', 'NVARCHAR(MAX)') AS inputbuf,
630-
ROW_NUMBER() OVER ( PARTITION BY dp.event_date, dp.id ORDER BY dp.event_date ) AS dn
644+
ROW_NUMBER() OVER ( PARTITION BY dp.event_date, dp.id ORDER BY dp.event_date ) AS dn,
645+
dp.is_victim,
646+
ISNULL(dp.owner_mode, 'N/A') AS owner_mode,
647+
ISNULL(dp.waiter_mode, 'N/A') AS waiter_mode
631648
FROM #deadlock_process AS dp )
632649
SELECT d.event_date,
633650
DB_NAME(d.database_id) AS database_name,
634651
CONVERT(XML, N'<inputbuf>' + d.inputbuf + N'</inputbuf>') AS query,
635652
d.object_names,
636653
d.isolation_level,
654+
d.is_victim,
655+
d.owner_mode,
656+
d.waiter_mode,
637657
d.transaction_count,
638658
d.login_name,
639659
d.host_name,

0 commit comments

Comments
(0)

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