【发布时间】:2026-02-14 19:00:01
【问题描述】:
什么是等效于 BizTalk 管理控制台“已完成实例”的 SQL 查询?
我想获取已完成实例的各种摘要,例如按服务名称分组,但“已完成实例”选项卡没有“分组依据”选项
我可以直接查询SQL表吗?
如果是这样,我应该查看哪些表格?
【问题讨论】:
标签: sql sql-server biztalk biztalk-2010
什么是等效于 BizTalk 管理控制台“已完成实例”的 SQL 查询?
我想获取已完成实例的各种摘要,例如按服务名称分组,但“已完成实例”选项卡没有“分组依据”选项
我可以直接查询SQL表吗?
如果是这样,我应该查看哪些表格?
【问题讨论】:
标签: sql sql-server biztalk biztalk-2010
是的,你可以。所需的 BizTalk DDBB 是 [BizTalkDTADb],包含所有执行的表是 [dta_ServiceInstances]。要获取服务的名称并生成有用的报告,还需要表 [dta_Services]。我使用此查询的目的与您询问的目的相同,但同时获得了所有正确和错误的实例:
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
如果你只想要成功的,你应该在'where'子句中添加“HRESULT = 0”并删除'select'和'group by'中的CASE语句。而且我在where子句中也有日期,通常我只需要看到最后几天。
编辑:查询在 BizTalk 2013 中工作,我现在没有安装 2010,但我想它是一样的。
【讨论】: