2017-04-14 37 views
0

有关此问题出现的详细信息,请参阅:Monitor biztalk server(biztalkmgmtdb) sql agent job failed on step 2 - Part1监视biztalk服务器(biztalkmgmtdb)SQL Server代理作业在步骤2上失败 - 第2部分

如何避免引用计数小于0的邮件,而不引用来自BizTalkMsgBoxDb和BizTalkDTADb的孤立DTA服务实例的计数?

通常我需要在自己的环境中频繁运行BHM来清理不一致性,因此在SQL Server代理作业失败时有定期执行的经验。

回答

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)) 

FYI:我发现这个查询这里:https://www.biztalkadmin.com/orphaned-messages-in-the-tracking-database/

它会列出孤立的服务实例的数量。从SELECT声明中删除COUNT子句以获取列表。这可能会让你知道它们来自哪里以及如何改变你的实现来限制发生。

请注意,一些孤立实例对于您的BizTalk环境并不是什么大不了的事。低于2000的任何东西都可以或多或少地被解雇。

重要:不停止BizTalk主机实例运行任何清理查询或它可能违反您的支持协议。

1

首先,我从不运行Monitor BizTalk Server。倾向于定期运行BHM。

如果您遇到孤立消息的建立,那么这些作业不是您应该查看的内容。这是允许这种情况发生的应用程序。

+0

我不是biztalk开发人员,所以我需要保持环境清洁我也可以向开发人员团队报告该问题以找出解决方案,因此如果在BiztalkDTADb上设置了孤立消息,我们可以如何摆脱它们从数据库?感谢回复@johns –

相关问题