【问题标题】:Monitor biztalk server(biztalkmgmtdb) SQL Server Agent job failed on step 2 - Part2监控 biztalk 服务器(biztalkmgmtdb)SQL Server 代理作业在第 2 步失败 - 第 2 部分
【发布时间】:2017-04-14 15:12:22
【问题描述】:

请通过:Monitor biztalk server(biztalkmgmtdb) sql agent job failed on step 2 - Part1 了解这个问题是如何产生的详细信息。

如果没有来自 BizTalkMsgBoxDb 的引用计数和来自 BizTalkDTADb 的孤立 DTA 服务实例,我们如何防止引用计数小于 0 的消息?

通常我需要在我的环境中非常频繁地运行 BHM 以清理不一致,所以当 SQL Server 代理作业失败时,有没有好的做法可以定期执行。

【问题讨论】:

    标签: sql-server biztalk biztalk-2013


    【解决方案1】:

    您可以在 SQL 中使用查询来查找 BizTalk 中是否存在任何孤立消息。 这些查询之一是这个:

    select count(*) from [BizTalkDTAdb].[dbo].[dta_ServiceInstances] 
    where dtEndTime is NULL and [uidServiceInstanceId] NOT IN 
      (SELECT [uidInstanceID] FROM [BizTalkMsgBoxDb].[dbo].[Instances] WITH (NOLOCK)
        UNION
        SELECT [StreamID]
        FROM [BizTalkMsgBoxDb].[dbo].[TrackingData] with (NOLOCK))
    

    仅供参考:我在这里找到了这个查询:https://www.biztalkadmin.com/orphaned-messages-in-the-tracking-database/

    它将列出孤立服务实例的计数。从SELECT 语句中删除COUNT 子句以获取列表。这可能会让您了解它们的来源以及如何更改您的实现以限制发生。

    请注意,一些孤立的实例对您的 BizTalk 环境来说没什么大不了的。任何低于 2000 的东西都可以或多或少地被忽略。

    重要提示:不要在未停止 BizTalk 主机实例的情况下运行任何清理查询,否则可能违反您的支持协议。

    【讨论】:

      【解决方案2】:

      首先,我从不运行 Monitor BizTalk Server。更喜欢定期运行 BHM。

      如果您遇到孤立消息的堆积,那么这些作业不是您应该关注的。这是一个允许这种情况发生的应用程序。

      【讨论】:

      • 我不是 biztalk 开发人员,所以我需要保持环境干净,我也可以将此问题报告给开发人员团队以找出解决方案,所以如果在 BiztalkDTADb 上设置了孤立消息,我们该如何摆脱其中来自数据库?感谢@johns 的回复
      猜你喜欢
      • 2017-09-05
      • 1970-01-01
      • 2019-12-27
      • 1970-01-01
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      相关资源
      最近更新 更多