Microsoft BizTalk Server Logging Agent
Replace BizTalk BAM with reliable, long-term message tracking that scales with your enterprise. Nodinite BizTalk Server Logging Agent captures tracked events, payloads, and context properties from BizTalkDTADb—plug and play, no pipeline components, no vendor lock-in, no BizTalk restarts required.
Why Teams Choose This Agent
BizTalk tracking databases fill up fast, BAM is fragile and complex, and business users need to search messages by order numbers or customer IDs—not just timestamps. Traditional BizTalk tracking creates operational pain:
- 💣 BAM Fragility – BAM deployments fail cryptically, BAM archiving breaks without warning, DTA Purge jobs fail when BAM views lock tables—causing BizTalkDTADb bloat and throttling
- 🔍 No Business Search – Native BizTalk tracking searches by Service Instance ID or timestamp—business users can't find messages by Order Number, Customer ID, Invoice Number, or other business identifiers
- 📦 Short-Term Retention – BizTalkDTADb purges tracked messages after 7-30 days (to prevent database growth)—but compliance requires 90 days, 1 year, or 7 years of message history
- 🧩 Vendor Lock-In – Messages tracked in BizTalk format can't be searched or analyzed after migrating to Logic Apps, MuleSoft, or other platforms—data trapped in BizTalk-specific schema
- ⚙️ Pipeline Component Complexity – Custom logging requires deploying pipeline components, restarting hosts, managing GAC deployments, versioning nightmares
- 🔐 No Self-Service for Business Users – Granting access to BizTalk Admin Console or SQL queries to non-technical users exposes system configuration and security risks
The Nodinite BizTalk Server Logging Agent solves this by providing reliable BAM replacement, business-searchable message tracking, and long-term archiving—with zero changes to BizTalk deployments:
✅ Replace BAM completely – No BAM definitions, no BAM archiving, no BAM-related DTA Purge failures—just reliable tracking that works
✅ Plug and play—nothing to deploy – No pipeline components, no orchestration changes, no GAC deployments, no host restarts—configure and go
✅ Search by business data – Find messages by Order Number, Customer ID, Invoice Number—any data from payload or context properties
✅ Long-term archive without DTA bloat – Store tracked messages for years (not days) while keeping BizTalkDTADb small and fast
✅ Multi-BizTalk Group support – Log from old Prod and new Prod, DEV/TEST/PROD, acquired companies—all with one Nodinite license
✅ No vendor lock-in – Export messages to any system, migrate to Logic Apps/MuleSoft without losing history
✅ Automatic synchronization – Survives reboots, network outages, BizTalk updates—automatically catches up when connectivity restored
Note
Full BizTalk Version Support: Nodinite BizTalk Server Logging Agent is compatible with BizTalk Server 2006 through 2020—all editions (Enterprise, Standard, Developer, Trial).
How It Works
The Nodinite BizTalk Server Logging Agent is a built-in component of the Logging Service that copies tracked events and messages from BizTalkDTADb (BizTalk Tracking Database) into Nodinite Log Databases—providing long-term storage, business-searchable indexing, and advanced analytics.
The BizTalk Logging Agent continuously copies tracked events, payloads, and context properties from BizTalkDTADb into Nodinite—where they are indexed by business data (Order Numbers, Customer IDs) and available for long-term retention, search, and analytics.
What gets logged:
- Events – All tracked Service Instances (Receive Port, Send Port, Orchestration) where tracking is enabled
- Message Payloads – Full message body (XML, JSON, flat file, binary) when "Message Body" tracking is enabled
- Context Properties – BizTalk promoted and written context properties (BTS.MessageType, BTS.Operation, custom properties)
Important
Tracking Requirement: Events are only logged if tracking is enabled on the Port or Orchestration AND either "Message Body" or "Message Properties" (or both) tracking options are selected. Events without payload or properties are not logged.
Tip
Alternative Logging Method: You can also log BizTalk messages using Log Pipeline Components for Nodinite—useful for logging messages from pipelines before they reach BizTalk tracking (e.g., for invalid messages that fail before tracking).
What You Can Do
🔍 Search Messages by Business Data, Not Technical IDs
Stop searching by Service Instance GUID and timestamp. Find messages by Order Number, Customer ID, Invoice Number, or any business identifier extracted from message payload or context properties.
- Search Fields Extract Business Data – Configure XPath expressions to extract Order Numbers, Customer IDs, amounts, dates from XML/JSON payloads or context properties
- Multi-Field Search – Search by multiple criteria simultaneously (e.g., "Customer ID = 12345 AND Order Date = today AND Status = Error")
- Wildcard and Range Search – Find CustomerID starting with "ABC*", amounts >$1000, dates in last 30 days
- Full-Text Payload Search – Search entire message body for text strings (optional feature)
Example use case: Business user asks "Where is my order for Customer ABC-12345?" You search Nodinite by Customer ID "ABC-12345", find 3 messages (Receive Port, Orchestration, Send Port), review payloads—discover order stuck due to invalid shipping address. Fix and resubmit in 2 minutes.
📦 Long-Term Archive Without BizTalkDTADb Bloat
Keep tracked messages for years, not days—without filling BizTalkDTADb and causing BizTalk throttling. Nodinite stores messages in separate Log Databases, keeping BizTalk tracking database small and fast.
- Configurable Retention – Store messages for 90 days, 1 year, 7 years—whatever compliance requires
- Automatic BizTalkDTADb Cleanup – DTA Purge jobs run normally (7-30 days) while Nodinite preserves long-term history
- High-Performance Search – Indexed by business data and timestamp—search millions of messages in seconds
- Backup and Restore – Standard SQL Server backup/restore for Log Databases; agent automatically resumes after restore
Example use case: Compliance requires 3-year message retention. BizTalkDTADb purges after 14 days. Nodinite stores all tracked messages for 3 years. Auditor requests messages from 18 months ago—you search Nodinite and export messages immediately.
🔄 Automatic Synchronization Survives Outages
BizTalk reboots, network outages, SQL Server maintenance—no manual intervention required. The agent tracks the last synchronized event and automatically catches up when connectivity restored.
- Restart Anything, Anytime – Reboot BizTalk nodes, SQL nodes, Nodinite Core Services—agent resumes automatically
- Original Timestamps Preserved – No "holes" in log timeline; events retain original BizTalk tracking timestamp
- Network Outage Recovery – Agent queues unsynchronized events and processes them when network restored
- Zero Data Loss – As long as events remain in BizTalkDTADb before purge, Nodinite will capture them
Example use case: BizTalk SQL Server reboots for patching. Agent detects unavailability, waits. SQL Server comes online 10 minutes later. Agent automatically synchronizes 500 tracked events that occurred during reboot—no gaps, no manual restart.
🏢 Multi-BizTalk Group Consolidation
Log from multiple BizTalk environments into one Nodinite instance—old Prod + new Prod, DEV/TEST/PROD, multiple business units, acquired companies running separate BizTalk Groups.
- Single Nodinite License – One license covers logging from unlimited BizTalk Groups
- Unified Search – Search messages across all BizTalk environments from one Log View
- Per-Environment Filtering – Filter by BizTalk Group name to isolate DEV vs. PROD messages
- Migration Support – Log from both old and new BizTalk environments during migration—compare message flows side-by-side
Example use case: Company acquires competitor running separate BizTalk 2013 Group. Configure Nodinite to log from both BizTalk Groups. Operations team searches messages from both environments in one Log View—unified visibility without consolidating BizTalk infrastructure.
🚫 Replace BAM—Zero BAM Complexity
Eliminate BAM definitions, BAM archiving, BAM portal, BAM deployment XML—just enable BizTalk tracking on ports and orchestrations. Nodinite does the rest.
- No BAM Definitions to Deploy – No Excel BAM definition files, no bm.exe commands, no cryptic BAM errors
- No BAM Archiving Jobs – No BAM_DM_* SQL jobs failing, no BAM archive database sprawl
- No BAM-Related DTA Purge Failures – DTA Purge jobs no longer fail due to BAM view locks
- No BAM Performance Overhead – No BAM stored procedures in orchestration/pipeline processing path
Example use case: Previous BAM deployment tracked 20 message types with 50 data fields. BAM archiving failed monthly, requiring DBA intervention to fix. Replaced with Nodinite BizTalk Logging—no BAM deployments, no archiving failures, 100% reliability for 2 years.
🔐 Self-Service for Business Users
Grant business users, support teams, and external partners secure access to search BizTalk messages—without exposing BizTalk Admin Console or SQL Server access.
- Role-Based Log Views – Grant per-user access to specific message types (e.g., Sales team sees Orders only, Finance team sees Invoices only)
- Audit Trails – Every search, message view, and export is logged—who searched what and when
- No BizTalk Admin Console Access – Users search Nodinite Web Client—never touch BizTalk administration
- External Partner Access – Grant customers/partners access to search their own messages (filtered by Customer ID)
Example use case: Sales team needs to track order status. Previously opened tickets with IT to query BizTalk. Now Sales searches Nodinite Log View filtered to "MessageType = PurchaseOrder"—self-service, instant answers, zero IT tickets.
📊 Advanced Monitoring: Non-Events and BPM
Go beyond message logging to monitor message patterns, volumes, and end-to-end business processes across BizTalk and other systems.
- Non-Events Monitoring – Alert when expected messages don't arrive (e.g., "no Order Confirmations in last 15 minutes")
- Volume Thresholds – Alert when message volume exceeds or falls below expected range (e.g., ">1000 orders/hour" or "<10 orders/hour")
- Business Process Modeling (BPM) – Correlate messages across Receive Ports, Orchestrations, Send Ports, and external systems (Logic Apps, databases, APIs) for end-to-end process visibility
- SLA Tracking – Measure time between Receive and Send, identify bottlenecks in multi-step processes
Example use case: Nightly EDI file should arrive by 2:00 AM and generate 500-1000 orders. Non-Events alert triggers if no EDI messages received by 2:30 AM. Volume alert triggers if <100 orders processed (indicating incomplete file). BPM tracks each order from EDI Receipt → Orchestration → ERP Send Port—visualizing success rate and average processing time.
Message Processing Flow
Understanding how BizTalk tracked messages flow through Nodinite helps you configure Message Types and Search Fields for business-searchable logging:
What happens to your BizTalk log data:
- Events are logged – BizTalk tracking creates events in BizTalkDTADb when "Tracking" is enabled on Ports/Orchestrations
- Nodinite copies events – Logging Agent transfers events to Nodinite Log Databases (typically 60-90 seconds after BizTalk tracking)
- Message Types are determined – Nodinite evaluates each event to determine its Message Type (from BTS.MessageType context property, payload root node, or custom rules)
- Search Fields are extracted – Search Field Expressions extract business data (Order Numbers, Customer IDs, Invoice amounts) using XPath, Regex, or context property references
- Data becomes searchable – Log Views enable searching by business identifiers instead of Service Instance GUIDs
- Advanced features activate – Non-Events Monitoring tracks message patterns, BPM correlates end-to-end processes across systems
Important
Without proper Message Types and Search Fields, your BizTalk events are stored but not searchable by business data. You can still search by timestamp, Service Instance ID, or Application Name—but not by Order Number, Customer ID, or other business identifiers. Invest time configuring Message Types and Search Fields for maximum value.
Learn more: Message Types, Search Fields, Log Event Processing
Supported BizTalk Versions
| BizTalk Version | Supported | Editions Supported | Notes |
|---|---|---|---|
| BizTalk 2020 | ✅ Yes | Enterprise, Standard, Developer, Trial | Latest version fully supported |
| BizTalk 2016 | ✅ Yes | Enterprise, Standard, Developer, Trial | Includes all Cumulative Updates (CUs) |
| BizTalk 2013 R2 | ✅ Yes | Enterprise, Standard, Developer, Trial | Widely deployed in production |
| BizTalk 2013 | ✅ Yes | Enterprise, Standard, Developer, Trial | Widely deployed in production |
| BizTalk 2010 | ✅ Yes | Enterprise, Standard, Developer, Trial | Legacy support maintained |
| BizTalk 2009 | ✅ Yes | Enterprise, Standard, Developer, Trial | Legacy support maintained |
| BizTalk 2006 R2 | ✅ Yes | Enterprise, Standard, Developer, Trial | Legacy support maintained |
| BizTalk 2006 | ✅ Yes | Enterprise, Standard, Developer, Trial | Legacy support maintained |
Note
Nodinite builds and tests against the latest available Cumulative Update (CU) for each BizTalk version. We recommend keeping BizTalk updated to the latest CU for security, stability, and performance.
Automatic Synchronization & Reliability
The BizTalk Log Agent tracks the last synchronized event from BizTalkDTADb and automatically resumes synchronization when Nodinite and BizTalk tracking databases are available—surviving reboots, outages, and maintenance windows.
Reliability features:
- Reboot Anything, Anytime – Reboot Core Services, BizTalk processing nodes, SQL nodes—agent resumes automatically without manual intervention
- Original Timestamps Preserved – Events retain original BizTalk tracking timestamp—no "holes" in timeline, chronological integrity maintained
- Zero Data Loss (with proper configuration) – As long as events remain in BizTalkDTADb (before DTA Purge), agent will synchronize them
- Automatic Catch-Up – If agent is stopped or disconnected, it queues unsynchronized events and processes them when connectivity restored (catch-up speed depends on BizTalkDTADb and Log Databases disk performance)
Latency: The BizTalk SQL Job TrackedMessages_Copy_BizTalkMsgBoxDb runs once per minute by default. Tracked messages appear in Nodinite 60-90 seconds after BizTalk tracking occurs. You can tune this latency using System Parameters—see Configure BizTalk LogAgent for details.
DTA Purge Considerations:
Important
Do NOT stop the BizTalk Log Agent longer than your DTA Purge window. The BizTalk SQL Agent job "DTA Purge and Archive (BizTalkDTADb)" deletes tracked events older than the purge threshold (typically 7-30 days). If the Nodinite agent is stopped during this time and events are purged before synchronization, those events are lost. Monitor agent health with Non-Events Monitoring to alert on data outages.
Database Restore: If Nodinite Log Databases are lost, restore from backup—the agent automatically fetches missing tracked events from BizTalkDTADb (as long as they haven't been purged).
BizTalkDTADb Cleanup: You can safely clear BizTalkDTADb using BizTalk Terminator tool or BHM tool—but ensure the last transaction is synchronized to Nodinite Log Databases first to avoid data loss.
Get Started
| Step | Task | Description |
|---|---|---|
| 1 | Review Prerequisites | Confirm SQL Server access to BizTalkDTADb (db_datareader role), network connectivity between Nodinite and BizTalk SQL Server, and BizTalk tracking enabled on Ports/Orchestrations. |
| 2 | Configure BizTalk Log Agent | BizTalk Logging is built into the Nodinite Logging Service—enable it during Core Services installation or configure post-installation using Configure BizTalk LogAgent guide. Specify BizTalkDTADb connection string and polling interval. |
| 3 | Enable BizTalk Tracking | In BizTalk Admin Console, enable tracking on Receive Ports, Send Ports, and Orchestrations—select "Message Body" and/or "Message Properties" tracking options. No pipeline components required—Nodinite copies from BizTalkDTADb. |
| 4 | Create Log View | Define role-based Log Views for different user groups (e.g., "Sales Order Messages", "EDI Inbound", "Finance Invoices"). Configure which Users can access which Log Views. |
| 5 | Configure Message Types | Define Message Types to identify BizTalk messages (e.g., "PurchaseOrder", "OrderConfirmation", "Invoice"). Nodinite determines Message Type from BTS.MessageType context property, payload root node, or custom rules. This step is critical for Search Fields. |
| 6 | Configure Search Fields | Extract business data from messages using XPath (XML), JSONPath (JSON), Regex (flat file), or context property references. Define Search Fields for Order Number, Customer ID, Invoice Number, Amount, Date—any business identifier users need to search. |
| 7 | Test & Validate | Process test messages through BizTalk with tracking enabled. Verify messages appear in Nodinite Log Views within 60-90 seconds. Confirm Search Fields extract correct values. Grant users access and train on searching by business data. |
Common Questions
Q: Do I need to deploy pipeline components or modify BizTalk applications?
A: No. The BizTalk Logging Agent copies data directly from BizTalkDTADb—no pipeline components, no orchestration changes, no GAC deployments, no host restarts required. Simply enable tracking in BizTalk Admin Console and configure the agent. You can optionally use Log Pipeline Components for advanced scenarios (e.g., logging invalid messages before tracking occurs).
Q: How does this replace BAM?
A: Nodinite eliminates BAM complexity while providing superior capabilities: (1) No BAM definitions—enable BizTalk tracking instead of deploying BAM Excel files. (2) No BAM archiving—Nodinite stores messages long-term without BAM_DM_* SQL jobs. (3) Business-searchable—Search Fields extract any business data, not limited to BAM activity/continuation model. (4) Multi-platform—correlate BizTalk messages with Logic Apps, databases, APIs using BPM. See BAM Replacement for detailed comparison.
Q: Can I log from multiple BizTalk Groups with one Nodinite license?
A: Yes. A single Nodinite license supports logging from unlimited BizTalk Groups. Common scenarios: (1) Migration—log from old Prod and new Prod during cutover. (2) Multi-environment—log from DEV, TEST, PROD. (3) Acquisitions—log from acquired companies' BizTalk environments. Configure one agent per BizTalk Group; all messages stored in same Nodinite Log Databases.
Q: What happens if BizTalk reboots or network connectivity is lost?
A: The agent detects unavailability and waits. When connectivity restored, it automatically synchronizes missed events using original timestamps—no manual intervention, no data loss (as long as events remain in BizTalkDTADb before DTA Purge). Monitor agent health with Non-Events Monitoring to alert on outages.
Q: How long does it take for BizTalk tracked messages to appear in Nodinite?
A: Typically 60-90 seconds after BizTalk tracking. The BizTalk SQL Job TrackedMessages_Copy_BizTalkMsgBoxDb runs every 60 seconds by default, copying data from MessageBox to BizTalkDTADb. The Nodinite agent then copies from BizTalkDTADb to Log Databases. Latency is configurable—see Configure BizTalk LogAgent.
Q: How do I search messages by Order Number or Customer ID instead of Service Instance GUID?
A: (1) Configure Message Types to identify message types (e.g., "PurchaseOrder"). (2) Configure Search Fields with XPath/JSONPath expressions to extract Order Number, Customer ID from payload or context properties. (3) Users search Log Views by business identifiers. Example Search Field XPath: //OrderNumber/text() extracts <OrderNumber>12345</OrderNumber> from XML payload.
Q: Can business users search BizTalk messages without accessing BizTalk Admin Console?
A: Yes. Grant users access to role-based Log Views in Nodinite Web Client—they search by business data without seeing BizTalk infrastructure. Use access control to limit which message types users can see (e.g., Sales sees Orders only, Finance sees Invoices only). Full audit trail logs who searched what and when.
Q: What BizTalk tracking options must be enabled for Nodinite to log messages?
A: Enable tracking on Receive Ports, Send Ports, or Orchestrations in BizTalk Admin Console. Select "Message Body" (to log payload) and/or "Message Properties" (to log context properties). Events without payload or properties are not logged by Nodinite. We recommend enabling both for maximum visibility.
Q: How do I handle BizTalkDTADb purge to avoid data loss?
A: Configure BizTalk's "DTA Purge and Archive (BizTalkDTADb)" SQL job with appropriate retention (7-30 days typical). Ensure Nodinite agent runs continuously and synchronizes events before they are purged. Monitor agent health with Non-Events Monitoring—alert if no events synchronized in expected timeframe. If agent is stopped, restart before DTA Purge deletes tracked events.
Q: Can I migrate BizTalk message history to Logic Apps or MuleSoft?
A: Yes—no vendor lock-in. Nodinite stores messages in open SQL Server format—export via Web API, Power BI, or SQL queries. After migrating integrations to Logic Apps/MuleSoft, continue accessing historical BizTalk messages in Nodinite. Use BPM to correlate BizTalk messages with new platform messages for end-to-end process visibility across migration.
Additional Resources
- Prerequisites for BizTalk Logging Agent – SQL Server access, network connectivity, BizTalk tracking requirements
- Configure BizTalk LogAgent – System parameters, polling intervals, multiple BizTalk Groups, latency tuning
- BAM Replacement – Detailed comparison of Nodinite vs. BAM capabilities, migration guidance
- Log Pipeline Components – Alternative logging method for advanced scenarios (logging invalid messages, custom tracking)
- Add or manage Log View – Create role-based Log Views for different user groups
- Message Types – Define message types for business-searchable logging (critical for Search Fields)
- Search Fields – Extract business data from payloads and context properties
- Non-Events Monitoring – Alert when expected messages don't arrive or volumes fall outside thresholds
- Business Process Modeling (BPM) – Correlate BizTalk messages with other systems for end-to-end process tracking
- Log Event Processing – Understand how Nodinite processes logged events and determines Message Types
- 🤔 Troubleshooting BizTalk Logging – Diagnose common issues: connectivity, permissions, tracking not appearing
Next Step
Ready to replace BAM and enable long-term BizTalk message tracking? Start by reviewing prerequisites and configuring the BizTalk Log Agent:
Prerequisites for BizTalk Logging Agent – Confirm SQL access, network connectivity, and BizTalk tracking requirements
Configure BizTalk LogAgent – Enable BizTalk logging in Nodinite Logging Service
Add or manage Log View – Create role-based Log Views for searching BizTalk messages
Related Logging & Monitoring Solutions
- Database Monitoring Agent – Monitor BizTalk SQL Server health, MessageBox size, SQL Agent jobs, backups
- Windows Server Agent – Monitor BizTalk host servers (CPU, memory, disk, services, Event Log, BizTalk Host Instances)
- Non-Events Monitoring – Alert when expected BizTalk messages don't arrive or message volumes fall outside thresholds
- Business Process Modeling (BPM) – Correlate BizTalk messages with other systems (Logic Apps, databases, APIs) for end-to-end visibility
