CLR ストアド プロシージャを呼び出してメッセージを処理する SQL Server 2008 Service Broker キューがあります (これにより、メッセージが HTTP 経由でサード パーティの REST API に転送されます)。「どのようにバックアップしたか」を把握する必要があります。または「どれくらい遅れていますか?」このキューは。キュー内のメッセージの総数が進行状況の良い指標であることは理解していますが、私が興味を持っているのは、「最後に処理されたメッセージがキューで処理されるのを待っていた時間は?」ということです。私が知る限り、キューから選択すると、キュー内のすべてのメッセージが表示されますが、メッセージの経過時間は表示されません。例えば:
SELECT TOP 100 *, casted_message_body =
CASE message_type_name WHEN 'X'
THEN CAST(message_body AS NVARCHAR(MAX))
ELSE message_body
END
FROM [SyncReadTargetQueue] WITH(NOLOCK)
ただし、年齢を示す列はありません。
何か案は?