|
@@ -485,7 +485,10 @@ BEGIN
|
|
|
SELECT waiting_task_address, session_id, exec_context_id, wait_duration_ms,
|
|
|
wait_type, resource_address, blocking_task_address, blocking_session_id,
|
|
|
blocking_exec_context_id, resource_description,
|
|
|
- CASE WHEN [wait_type] LIKE 'PAGE%' AND [resource_description] LIKE '%:%' THEN CAST(RIGHT([resource_description], LEN([resource_description]) - CHARINDEX(':', [resource_description], LEN([resource_description])-CHARINDEX(':', REVERSE([resource_description])))) AS int)
|
|
|
+ CASE WHEN [wait_type] LIKE 'PAGE%' AND [resource_description] LIKE '%:%' THEN (CASE WHEN [resource_description] NOT LIKE '%[ ](%'
|
|
|
+ THEN CAST (RIGHT([resource_description], LEN([resource_description]) - CHARINDEX(':', [resource_description], LEN([resource_description])-CHARINDEX(':', REVERSE([resource_description])))) AS INT)
|
|
|
+ ELSE CAST(RIGHT(replace([resource_description], SUBSTRING([resource_description], PATINDEX('%[ ](%', [resource_description]), LEN([resource_description])), ''), LEN(REPLACE([resource_description], SUBSTRING([resource_description], PATINDEX('%[ ](%', [resource_description]), LEN([resource_description])), '')) - CHARINDEX(':', REPLACE([resource_description], SUBSTRING([resource_description], PATINDEX('%[ ](%', [resource_description]), len([resource_description])), ''), LEN(REPLACE([resource_description], SUBSTRING([resource_description], PATINDEX('%[ ](%', [resource_description]), LEN([resource_description])), ''))-CHARINDEX(':', REVERSE(REPLACE([resource_description], SUBSTRING([resource_description], PATINDEX('%[ ](%', [resource_description]), LEN([resource_description])), ''))))) AS INT)
|
|
|
+ END)
|
|
|
WHEN [wait_type] LIKE 'LCK%' AND [resource_description] LIKE '%pageid%' AND ISNUMERIC(RIGHT(LEFT([resource_description],CHARINDEX('dbid=', [resource_description], CHARINDEX('pageid=', [resource_description])+6)-1),CHARINDEX('=',REVERSE(RTRIM(LEFT([resource_description],CHARINDEX('dbid=', [resource_description], CHARINDEX('pageid=', [resource_description])+6)-1)))))) = 1 THEN CAST(RIGHT(LEFT([resource_description],CHARINDEX('dbid=', [resource_description], CHARINDEX('pageid=', [resource_description])+6)-1),CHARINDEX('=',REVERSE(RTRIM(LEFT([resource_description],CHARINDEX('dbid=', [resource_description], CHARINDEX('pageid=', [resource_description])+6)-1))))) AS bigint)
|
|
|
ELSE NULL END AS pageid,
|
|
|
CASE WHEN [wait_type] LIKE 'LCK%' AND [resource_description] LIKE '%associatedObjectId%' AND ISNUMERIC(RIGHT([resource_description],CHARINDEX('=', REVERSE([resource_description]))-1)) = 1 THEN CAST(RIGHT([resource_description],CHARINDEX('=', REVERSE([resource_description]))-1) AS bigint)
|