Skip to content

Commit 668c350

Browse files
committed
Fix duplication issues
Distinct stuff.
1 parent 3f2e89c commit 668c350

File tree

1 file changed

+22
-6
lines changed

1 file changed

+22
-6
lines changed

sp_BlitzLock.sql

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ SET @VersionDate = '20171201';
208208
ca.dp.value('@hostname', 'NVARCHAR(256)') AS host_name,
209209
ca.dp.value('@loginname', 'NVARCHAR(256)') AS login_name,
210210
ca.dp.value('@isolationlevel', 'NVARCHAR(256)') AS isolation_level,
211-
ca2.ib.query('.') AS input_buffer,
211+
CONVERT(NVARCHAR(MAX), ca2.ib.query('.')) AS input_buffer,
212212
ca.dp.query('.') AS process_xml
213213
INTO #deadlock_process
214214
FROM #deadlock_data AS dd
@@ -534,6 +534,11 @@ SET @VersionDate = '20171201';
534534
VALUES ( 0, N'sp_BlitzLock', N'SQL Server First Responder Kit', N'http://FirstResponderKit.org/', N'To get help or add your own contributions, join us at http://FirstResponderKit.org.', NULL );
535535

536536

537+
538+
WITH deadlock_owner_waiter AS (
539+
SELECT DISTINCT database_id, object_name, lock_mode, waiter_id, waiter_mode, owner_id, owner_mode
540+
FROM #deadlock_owner_waiter
541+
)
537542
SELECT CONVERT(XML,
538543
N'<Clickme> '
539544
+ NCHAR(10)
@@ -615,13 +620,24 @@ SET @VersionDate = '20171201';
615620
+ N'</Clickme> '
616621
)
617622
AS [deadlock_story],
618-
owner.input_buffer AS 'owner_query',
619-
waiter.input_buffer AS 'victim_query'
620-
FROM #deadlock_owner_waiter AS dow
621-
JOIN (SELECT TOP 1 * FROM #deadlock_process AS dp) AS owner
623+
CONVERT(XML, STUFF((SELECT DISTINCT NCHAR(10) + ISNULL(dp2.input_buffer, N'') AS object_name
624+
FROM #deadlock_process AS dp2
625+
WHERE dow.owner_id = dp2.id
626+
FOR XML PATH(N''), TYPE ).value(N'.[1]', N'NVARCHAR(4000)'), 1, 1, N'')) AS 'owner_query',
627+
628+
CONVERT(XML, STUFF((SELECT DISTINCT NCHAR(10) + ISNULL(dp2.input_buffer, N'') AS object_name
629+
FROM #deadlock_process AS dp2
630+
WHERE dow.waiter_id = dp2.id
631+
FOR XML PATH(N''), TYPE ).value(N'.[1]', N'NVARCHAR(4000)'), 1, 1, N'')) AS 'victim_query'
632+
FROM deadlock_owner_waiter AS dow
633+
JOIN (SELECT TOP 1 *
634+
FROM #deadlock_process AS dp) AS owner
622635
ON owner.id = dow.owner_id
623-
JOIN (SELECT TOP 1 * FROM #deadlock_process AS dp) AS waiter
636+
--AND dow.waiter_id = owner.id
637+
JOIN (SELECT TOP 1 *
638+
FROM #deadlock_process AS dp) AS waiter
624639
ON waiter.id = dow.owner_id
640+
--AND dow.owner_id = waiter.id
625641
OPTION ( RECOMPILE );
626642

627643

0 commit comments

Comments
 (0)