|
126 | 126 | AND xml.deadlock_xml.value('(/event/@timestamp)[1]', 'datetime') >= @StartDate
|
127 | 127 | AND xml.deadlock_xml.value('(/event/@timestamp)[1]', 'datetime') < @EndDate;
|
128 | 128 |
|
| 129 | + IF @@ROWCOUNT < 1 |
| 130 | + BEGIN |
| 131 | + SELECT N'WOO-HOO! We couldn''t find any deadlocks!' AS [Noice], |
| 132 | + N'sp_BlitzLock'AS [Proc Name], |
| 133 | + N'SQL Server First Responder Kit' AS [FRK], |
| 134 | + N'http://FirstResponderKit.org/' AS [URL], |
| 135 | + N'To get help or add your own contributions, join us at http://FirstResponderKit.org.' AS [Info] |
| 136 | + RETURN; |
| 137 | + END; |
| 138 | + |
| 139 | + |
129 | 140 |
|
130 | 141 |
|
131 | 142 | /*Parse process and input buffer XML*/
|
|
420 | 431 | + N' Owner Lock Type: '
|
421 | 432 | + QUOTENAME(dow.owner_mode)
|
422 | 433 | + NCHAR(10)
|
423 | | - + N' Owner Object: ' |
424 | | - + QUOTENAME(dow.object_name) |
| 434 | + + N' Owner Object(s): ' |
| 435 | + + STUFF((SELECT DISTINCT N', ' + QUOTENAME(ISNULL(dow2.object_name, N'')) AS object_name |
| 436 | + FROM #deadlock_owner_waiter AS dow2 |
| 437 | + WHERE dow.owner_id = dow2.owner_id |
| 438 | + FOR XML PATH(N''), TYPE ).value(N'.[1]', N'NVARCHAR(4000)'), 1, 2, N'') |
425 | 439 | + NCHAR(10)
|
426 | 440 | + N' Owner Isolation level: '
|
427 | 441 | + QUOTENAME(owner.isolation_level)
|
|
454 | 468 | + N' Victim Lock Type: '
|
455 | 469 | + QUOTENAME(dow.waiter_mode)
|
456 | 470 | + NCHAR(10)
|
457 | | - + N' Victim Object: ' |
458 | | - + QUOTENAME(dow.object_name) |
| 471 | + + N' Victim Object(s): ' |
| 472 | + + STUFF((SELECT DISTINCT N', ' + QUOTENAME(ISNULL(dow2.object_name, N'')) AS object_name |
| 473 | + FROM #deadlock_owner_waiter AS dow2 |
| 474 | + WHERE dow.waiter_id = dow2.waiter_id |
| 475 | + FOR XML PATH(N''), TYPE ).value(N'.[1]', N'NVARCHAR(4000)'), 1, 1, N'') |
459 | 476 | + NCHAR(10)
|
460 | 477 | + N' Victim Isolation level: '
|
461 | 478 | + QUOTENAME(waiter.isolation_level)
|
|
0 commit comments