- 16 minutes to read

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).
BizTalk Logo

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.

graph LR A[BizTalk Ports &<br/>Orchestrations] -->|Tracking Enabled| B[BizTalkDTADb<br/>Tracking Database] B -->|BizTalk Log Agent<br/>Copies Events| C[Nodinite<br/>Log Databases] C --> D[Log Views<br/>Business Search] C --> E[Non-Events<br/>Monitoring] C --> F[BPM End-to-End<br/>Process Tracking]

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:

  1. Events are logged – BizTalk tracking creates events in BizTalkDTADb when "Tracking" is enabled on Ports/Orchestrations
  2. Nodinite copies events – Logging Agent transfers events to Nodinite Log Databases (typically 60-90 seconds after BizTalk tracking)
  3. Message Types are determined – Nodinite evaluates each event to determine its Message Type (from BTS.MessageType context property, payload root node, or custom rules)
  4. Search Fields are extractedSearch Field Expressions extract business data (Order Numbers, Customer IDs, Invoice amounts) using XPath, Regex, or context property references
  5. Data becomes searchableLog Views enable searching by business identifiers instead of Service Instance GUIDs
  6. Advanced features activateNon-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


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