扩展SQL Service Broker错误字段

时间:2019-01-06 14:52:47

标签: sql-server tsql service-broker

我正在队列'SQL/ServiceBroker/Error'中为MessageType Activation Stored Procedure创建一些错误处理。一会儿,我获得了有关如何访问以下异常字段的信息:

  • 代码(例如错误编号)
  • 说明(例如错误消息)

我无法从“ SQL / ServiceBroker / Error”架构中找到有关如何访问(其他)“标准”错误字段的信息,例如:

DECLARE @ErrorSeverity INT;
DECLARE @ErrorState INT;
DECLARE @ErrorProcedure VARCHAR(400);
DECLARE @ErrorLine INT;

...我在查找有关信息时遇到问题。

有人知道...

  • 我可以从哪里获得有关这些字段的访问信息 “ SQL / ServiceBroker /错误”模式?

例如:
对于那些需要查看代码的人...

---------------
-- HANDLE ERRORS: for Error MessageTypes
---------------
ELSE IF @MessageTypeName = N'http://schemas.microsoft.com/SQL/ServiceBroker/Error'
BEGIN

   -- GET ERROR: Alias Namespace
   WITH XMLNAMESPACES ('http://schemas.microsoft.com/SQL/ServiceBroker/Error' AS ssb)
   SELECT 
          @ErrorNumber = @MessageBody.value('(//ssb:Error/ssb:Code)[1]', 'INT'),
          @ErrorMessage = @MessageBody.value('(//ssb:Error/ssb:Description)[1]', 'NVARCHAR(MAX)');
          --@ErrorSeverity = ????,
          --@ErrorState = ????,
          --@ErrorProcedure = ????,
          --@ErrorLine = ????;

    -- CLOSE CONVERSATION
    END CONVERSATION @ConversationHandle;
END

0 个答案:

没有答案