fix(inputs.sqlserver): Suppress error on secondary replicas (#12528)

This commit is contained in:
deweter 2023-01-26 14:52:15 +01:00 committed by GitHub
parent 00347033ab
commit 7e87a25123
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 100 additions and 82 deletions

View File

@ -453,7 +453,8 @@ END
SELECT BEGIN TRY
SELECT
[measurement],[sql_instance],[database_name],[session_id] [measurement],[sql_instance],[database_name],[session_id]
,ISNULL([request_id],0) AS [request_id] ,ISNULL([request_id],0) AS [request_id]
,[blocking_session_id],[status],[cpu_time_ms] ,[blocking_session_id],[status],[cpu_time_ms]
@ -466,7 +467,7 @@ SELECT
,[stmt_db_name],[query_hash],[query_plan_hash] ,[stmt_db_name],[query_hash],[query_plan_hash]
,replica_updateability ,replica_updateability
,[session_db_name],[open_transaction] ,[session_db_name],[open_transaction]
FROM ( FROM (
SELECT SELECT
'sqlserver_requests' AS [measurement] 'sqlserver_requests' AS [measurement]
,REPLACE(@@SERVERNAME,'\',':') AS [sql_instance] ,REPLACE(@@SERVERNAME,'\',':') AS [sql_instance]
@ -520,8 +521,8 @@ FROM (
LEFT OUTER JOIN sys.dm_exec_requests AS r LEFT OUTER JOIN sys.dm_exec_requests AS r
ON s.[session_id] = r.[session_id] ON s.[session_id] = r.[session_id]
OUTER APPLY sys.dm_exec_sql_text(r.[sql_handle]) AS qt OUTER APPLY sys.dm_exec_sql_text(r.[sql_handle]) AS qt
) AS data ) AS data
WHERE WHERE
[blocking_or_blocked] > 1 --Always include blocking or blocked sessions/requests [blocking_or_blocked] > 1 --Always include blocking or blocked sessions/requests
OR [open_transaction] >= 1 --Always include sessions with open transactions OR [open_transaction] >= 1 --Always include sessions with open transactions
OR ( OR (
@ -532,7 +533,12 @@ WHERE
) )
AND [session_id] <> @@SPID AND [session_id] <> @@SPID
) )
OPTION(MAXDOP 1); OPTION(MAXDOP 1);
END TRY
BEGIN CATCH
IF (ERROR_NUMBER() <> 976) --Avoid possible errors from secondary replica
THROW;
END CATCH
` `
const sqlAzureMISchedulers string = ` const sqlAzureMISchedulers string = `

View File

@ -1328,7 +1328,13 @@ WHERE 1 = 1
OR (s.session_id IN (SELECT blocking_session_id FROM #blockingSessions)) OR (s.session_id IN (SELECT blocking_session_id FROM #blockingSessions))
OPTION(MAXDOP 1)' OPTION(MAXDOP 1)'
EXEC sp_executesql @SqlStatement BEGIN TRY
EXEC sp_executesql @SqlStatement
END TRY
BEGIN CATCH
IF (ERROR_NUMBER() <> 976) --Avoid possible errors from secondary replica
THROW;
END CATCH
` `
const sqlServerVolumeSpaceV2 string = ` const sqlServerVolumeSpaceV2 string = `

View File

@ -1139,7 +1139,13 @@ WHERE
) )
OPTION(MAXDOP 1)' OPTION(MAXDOP 1)'
EXEC sp_executesql @SqlStatement BEGIN TRY
EXEC sp_executesql @SqlStatement
END TRY
BEGIN CATCH
IF (ERROR_NUMBER() <> 976) --Avoid possible errors from secondary replica
THROW;
END CATCH
` `
const sqlServerVolumeSpace string = ` const sqlServerVolumeSpace string = `