I’ve been doing a lot of “forensic” research on converting old systems lately. Sometimes I need to look at hundreds of ports at once, and opening each one separately to check the map is way to slow!
There are several joins required. The actual mapname is in the more generic bts_item table. You can get there by joining bt_MapSpec.
<pre>
use BizTalkMgmtDb
select app.nvcName,
sp.nvcName as SendPort,
item.Name as MapName,
spt.nvcAddress,
bTwoWay,
sp.nvcSendPipelineData,
sp.nvcFilter
from bts_sendport sp
inner join bts_sendport_transport spt on spt.nSendPortID = sp.nID and spt.nTransportTypeId is not null
inner join bts_sendport_transform spMap on spMap.nSendPortID = sp.nID
inner join bt_MapSpec ms on ms.id = spmap.uidTransformGUID
inner join bts_item item on ms.itemid = item.id
inner join bts_application app on sp.nApplicationID = app.nID
where sp.nvcName like '%210%'
order by app.nvcName, sp.nvcName
select app.nvcName,
rp.nvcName as ReceivePort,
item.Name as MapName,
bTwoWay
from bts_receiveport rp
inner join bts_receiveport_transform tr on tr.nReceivePortID = rp.nID
inner join bt_MapSpec ms on ms.id = tr.uidTransformGUID
inner join bts_item item on ms.itemid = item.id
inner join bts_application app on rp.nApplicationID = app.nID
where rp.nvcName like '%210%'
order by app.nvcName, rp.nvcName
</pre>