2017-04-14 39 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 –

相關問題