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]
,ISNULL([request_id],0) AS [request_id]
,[blocking_session_id],[status],[cpu_time_ms]
@ -466,7 +467,7 @@ SELECT
,[stmt_db_name],[query_hash],[query_plan_hash]
,replica_updateability
,[session_db_name],[open_transaction]
FROM (
FROM (
SELECT
'sqlserver_requests' AS [measurement]
,REPLACE(@@SERVERNAME,'\',':') AS [sql_instance]
@ -520,8 +521,8 @@ FROM (
LEFT OUTER JOIN sys.dm_exec_requests AS r
ON s.[session_id] = r.[session_id]
OUTER APPLY sys.dm_exec_sql_text(r.[sql_handle]) AS qt
) AS data
WHERE
) AS data
WHERE
[blocking_or_blocked] > 1 --Always include blocking or blocked sessions/requests
OR [open_transaction] >= 1 --Always include sessions with open transactions
OR (
@ -532,7 +533,12 @@ WHERE
)
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 = `

View File

@ -1328,7 +1328,13 @@ WHERE 1 = 1
OR (s.session_id IN (SELECT blocking_session_id FROM #blockingSessions))
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 = `

View File

@ -1139,7 +1139,13 @@ WHERE
)
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 = `