2016-11-25 5 views
2

BizTalk管理コンソールの "Completed instances"に相当するSQLクエリは何ですか?BizTalk管理コンソールの "Completed Instances"に相当するSQLクエリは何ですか?

完成したインスタンスのさまざまな要約を取得したいとします。サービス名でグループ化されていますが、[完了したインスタンス]タブには[グループ化]オプションがありません

SQLテーブルを直接クエリできますか?

もしそうなら、私はどのテーブルを調べるべきですか?

答えて

2

はいできます。必要なBizTalk DDBBは[BizTalkDTADb]であり、すべての実行を含むテーブルは[dta_ServiceInstances]です。サービスの名前を取得し、有用なレポートを作成するには、テーブル[dta_Services]も必要です。 、あなたは「HRESULT = 0」「どこ」句で追加する必要がありますあなたが唯一の成功したものにしたい場合

SELECT [nServiceId] OrchID, [strServiceName] OrchName, 
    CASE WHEN HRESULT = 0 THEN 'OK' ELSE 'ERROR' END AS [Status], 
    COUNT([nServiceInstanceId]) NumberOfInstances 
FROM [BizTalkDTADb].[dbo].[dta_ServiceInstances] SI WITH (NOLOCK) 
INNER JOIN [BizTalkDTADb].[dbo].[dta_Services] S 
    ON SI.[uidServiceId] = S.[uidServiceId] 
WHERE S.[strServiceType] = 'Orchestration' AND SI.[dtStartTime] > '20161101' 
GROUP BY [strServiceName],[nServiceId], 
    CASE WHEN HRESULT = 0 THEN 'OK' ELSE 'ERROR' END 
ORDER BY 2, 3 DESC 

:私はあなたが尋ねるが、すべての両方OKと間違ったインスタンスを取得している同じ目的のために、このクエリを使用します'select'と 'group by'でCASE文を削除します。そしてwhere句にも日付がありますが、通常は最後の日だけを見る必要があります。

EDIT:クエリはBizTalk 2013で動作していますが、2010年はインストールされていませんが、同じものだと思います。

関連する問題