Skip to content

Commit ec96168

Browse files
authored
Merge pull request #2623 from BrentOzarULTD/2603_sp_BlitzWho_case_sensitive_sorting
#2603 sp_BlitzWho add more sort options
2 parents cad38a6 + 983ee25 commit ec96168

File tree

1 file changed

+31
-4
lines changed

1 file changed

+31
-4
lines changed

sp_BlitzWho.sql

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ ALTER PROCEDURE dbo.sp_BlitzWho
2323
@Version VARCHAR(30) = NULL OUTPUT,
2424
@VersionDate DATETIME = NULL OUTPUT,
2525
@VersionCheckMode BIT = 0,
26-
@SortOrder NVARCHAR(256) = 'elapsed_time'
26+
@SortOrder NVARCHAR(256) = N'elapsed time'
2727
AS
2828
BEGIN
2929
SET NOCOUNT ON;
@@ -114,6 +114,8 @@ DECLARE @ProductVersion NVARCHAR(128)
114114
,@OutputTableNameQueryStats_View NVARCHAR(256)
115115
,@LineFeed NVARCHAR(MAX) /* Had to set as MAX up from 10 as it was truncating the view creation*/;
116116

117+
/* Let's get @SortOrder set to lower case here for comparisons later */
118+
SET @SortOrder = REPLACE(LOWER(@SortOrder), N' ', N'_');
117119

118120
SET @ProductVersion = CAST(SERVERPROPERTY('ProductVersion') AS NVARCHAR(128));
119121
SELECT @ProductVersionMajor = SUBSTRING(@ProductVersion, 1,CHARINDEX('.', @ProductVersion) + 1 ),
@@ -1032,9 +1034,34 @@ IF (@MinElapsedSeconds + @MinCPUTime + @MinLogicalReads + @MinPhysicalReads + @M
10321034
END
10331035

10341036
SET @StringToExecute +=
1035-
N' ORDER BY ' + CASE WHEN @SortOrder = 'elapsed_time' THEN '[elapsed_time] ASC'
1036-
WHEN @SortOrder = 'session_id' THEN '[session_id] DESC'
1037-
ELSE '[elapsed_time] ASC'
1037+
N' ORDER BY ' + CASE WHEN @SortOrder = 'session_id' THEN '[session_id] DESC'
1038+
WHEN @SortOrder = 'query_cost' THEN '[query_cost] DESC'
1039+
WHEN @SortOrder = 'database_name' THEN '[database_name] ASC'
1040+
WHEN @SortOrder = 'open_transaction_count' THEN '[open_transaction_count] DESC'
1041+
WHEN @SortOrder = 'is_implicit_transaction' THEN '[is_implicit_transaction] DESC'
1042+
WHEN @SortOrder = 'login_name' THEN '[login_name] ASC'
1043+
WHEN @SortOrder = 'program_name' THEN '[program_name] ASC'
1044+
WHEN @SortOrder = 'client_interface_name' THEN '[client_interface_name] ASC'
1045+
WHEN @SortOrder = 'request_cpu_time' THEN 'COALESCE(r.cpu_time, s.cpu_time) DESC'
1046+
WHEN @SortOrder = 'request_logical_reads' THEN 'COALESCE(r.logical_reads, s.logical_reads) DESC'
1047+
WHEN @SortOrder = 'request_writes' THEN 'COALESCE(r.writes, s.writes) DESC'
1048+
WHEN @SortOrder = 'request_physical_reads' THEN 'COALESCE(r.reads, s.reads) DESC '
1049+
WHEN @SortOrder = 'session_cpu' THEN 's.cpu_time DESC'
1050+
WHEN @SortOrder = 'session_logical_reads' THEN 's.logical_reads DESC'
1051+
WHEN @SortOrder = 'session_physical_reads' THEN 's.writes DESC'
1052+
WHEN @SortOrder = 'session_writes' THEN 's.writes DESC'
1053+
WHEN @SortOrder = 'tempdb_allocations_mb' THEN '[tempdb_allocations_mb] DESC'
1054+
WHEN @SortOrder = 'memory_usage' THEN '[memory_usage] DESC'
1055+
WHEN @SortOrder = 'deadlock_priority' THEN 'r.deadlock_priority DESC'
1056+
WHEN @SortOrder = 'transaction_isolation_level' THEN 'r.[transaction_isolation_level] DESC'
1057+
WHEN @SortOrder = 'requested_memory_kb' THEN '[requested_memory_kb] DESC'
1058+
WHEN @SortOrder = 'grant_memory_kb' THEN 'qmg.granted_memory_kb DESC'
1059+
WHEN @SortOrder = 'grant' THEN 'qmg.granted_memory_kb DESC'
1060+
WHEN @SortOrder = 'query_memory_grant_used_memory_kb' THEN 'qmg.used_memory_kb DESC'
1061+
WHEN @SortOrder = 'ideal_memory_kb' THEN '[ideal_memory_kb] DESC'
1062+
WHEN @SortOrder = 'workload_group_name' THEN 'wg.name ASC'
1063+
WHEN @SortOrder = 'resource_pool_name' THEN 'rp.name ASC'
1064+
ELSE '[elapsed_time] DESC'
10381065
END + '
10391066
';
10401067

0 commit comments

Comments
 (0)