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 668c350

Browse files
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)

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