BizTalk Server Logging Prerequisites for Nodinite
Unlock secure, high-performance BizTalk Server logging and monitoring with Nodinite. This page provides everything you need to connect BizTalk DTA data to Nodinite, ensuring robust integration, compliance, and visibility for your business-critical processes.
On this page, you’ll learn how to:
- ✅ Connect BizTalk DTA databases to Nodinite for seamless, secure logging
- ✅ Set up Linked Servers and firewall rules for reliable, uninterrupted data flow
- ✅ Configure user rights, SQL permissions, and Active Directory for compliance
- ✅ Avoid common pitfalls with clear, actionable steps
How BizTalk Data Flows to Nodinite
This diagram shows how BizTalk DTA data flows through Linked Servers to Nodinite’s Logging Service and App Server for monitoring and analysis.
Step 1: Prepare Linked Servers
Nodinite requires Linked Servers to be configured on the Configuration Database SQL instance to access BizTalk databases (BizTalkMgmtDb and BizTalkDTADb). Linked servers must be created before you configure and enable logging.
Tip
See the complete Linked Servers page for:
- When and why linked servers are required (always, regardless of database distribution)
- Configuration commands for default instances, named instances, clusters, and AOAG
- RPC and RPC Out settings for distributed transactions
- Security context configuration for Windows authentication
- Troubleshooting common linked server connectivity issues
Note
If BizTalkMGMTDb and BizTalkDTADb are on different SQL Server instances, create two Linked Servers.
Step 2: Configure Firewall Settings
BizTalk Server Logging has no agent: the Nodinite Logging Service on the Core Services Server queries the BizTalk databases through a Linked Server on the SQL Server instance that hosts the Configuration Database. The diagram shows every host involved; each arrow starts at the side that opens the connection.
Network diagram: the Logging Service calls its own SQL Server, and the Linked Server on that instance copies tracking data from the BizTalk databases. Both servers use Kerberos against the Domain Controller. The dashed arrow is MSDTC traffic back from the BizTalk SQL Server.
Note
There is no Agent Server in this setup. When the Nodinite databases and the BizTalk databases run on the same SQL Server instance (single-server solutions), you need no firewall rule and no Kerberos delegation.
Between the Logging Service and the Nodinite SQL Server
| Direction | Source | Destination | Protocol | Port(s) | Purpose | Notes |
|---|---|---|---|---|---|---|
| Outbound | Core Services Server | SQL Server (Nodinite databases) | TCP | 1433 | SQL Server default instance | Named instances use their own port, plus UDP 1434 for SQL Server Browser. Usually already open for the Logging Service |
Between the Nodinite SQL Server and the BizTalk SQL Server
The Linked Server connects from the Nodinite SQL Server instance to every instance that hosts BizTalkDTADb or BizTalkMgmtDb; create one Linked Server per instance. Linked Server calls with RPC and RPC Out use MSDTC distributed transactions, which need RPC in both directions. See SQL Server Firewall Configuration for Always On Availability Groups (AOAG) and connectivity tests.
| Direction | Source | Destination | Protocol | Port(s) | Purpose | Notes |
|---|---|---|---|---|---|---|
| Outbound | SQL Server (Nodinite databases) | Target (BizTalk SQL Server) | TCP | 1433 | SQL Server default instance | Default port; can be changed in SQL Server Configuration Manager |
| Outbound | SQL Server (Nodinite databases) | Target (BizTalk SQL Server) | TCP | 49152–65535 | SQL Server named instances | Named instances use a dynamic port by default; set a static port and open only that one |
| Outbound | SQL Server (Nodinite databases) | Target (BizTalk SQL Server) | UDP | 1434 | SQL Server Browser | Resolves the port of a named instance; not needed when the Linked Server names the port |
| Outbound | SQL Server (Nodinite databases) | Target (BizTalk SQL Server) | TCP | 135 | MSDTC / RPC Endpoint Mapper | Distributed transactions and Linked Server communication |
| Outbound | SQL Server (Nodinite databases) | Target (BizTalk SQL Server) | TCP | 50000–50200 | MSDTC RPC dynamic ports | The range is set in the Windows Registry; check your environment. See 'Configure RPC dynamic port allocation' |
| Inbound | Target (BizTalk SQL Server) | SQL Server (Nodinite databases) | TCP | 135, 50000–50200 | MSDTC RPC | The remote transaction manager calls back; required for distributed transactions |
Between the servers and the Domain Controller
Required for Windows authentication. In distributed solutions, the Linked Server forwards the Logging Service identity to the BizTalk SQL Server (a Kerberos double hop), so set "Trusted for delegation" and register Service Principal Names (SPN) as described in Step 6.
| Direction | Source | Destination | Protocol | Port(s) | Purpose | Notes |
|---|---|---|---|---|---|---|
| Outbound | Core Services Server, SQL Server (Nodinite databases) | Domain Controller | TCP/UDP | 88 | Kerberos authentication | Required for domain authentication. Review 'Microsoft Kerberos' |
| Outbound | Core Services Server, SQL Server (Nodinite databases) | Domain Controller | TCP/UDP | 389 | LDAP | Standard LDAP queries |
| Outbound | Core Services Server, SQL Server (Nodinite databases) | Domain Controller | TCP | 636 | LDAPS (Secure LDAP) | Required for LDAPS authentication or querying certificates from AD |
| Outbound | Core Services Server, SQL Server (Nodinite databases) | Domain Controller | TCP | 445 | SMB | Used if Group Policy or file-based certificate access is needed |
| Inbound | Domain Controller | Core Services Server, SQL Server (Nodinite databases) | TCP/UDP | Same as outbound | Response to Kerberos / LDAP | Usually allowed by stateful firewall inspection |
Between the servers and DNS
| Direction | Source | Destination | Protocol | Port(s) | Purpose | Notes |
|---|---|---|---|---|---|---|
| Outbound | Core Services Server | DNS Server | TCP/UDP | 53 | Name resolution | Resolve the Nodinite SQL Server and the Domain Controller |
| Outbound | SQL Server (Nodinite databases) | DNS Server | TCP/UDP | 53 | Name resolution | Resolve the BizTalk SQL Server instances (Linked Server targets) and the Domain Controller. A local hosts file can replace DNS |
Important
Stateful Firewalls: Most Windows Firewall implementations are stateful, so response traffic for established outbound connections is allowed automatically. The inbound response rules above are for reference and troubleshooting; the MSDTC callback is a new connection and needs its own rule.
Step 3: Set Up Security and User Rights
The Nodinite Logging Service accesses BizTalk databases through Linked Servers. The account that needs permissions depends on your linked server security context configuration:
- Passthrough authentication (recommended): The service account running the Logging Service needs SQL permissions on BizTalk databases
- Impersonation: The account specified in the linked server security mapping needs SQL permissions
Tip
See comprehensive guides for configuring service accounts:
- gMSA accounts — Group Managed Service Accounts with automatic 30-day password rotation (Nodinite v7+)
- Logon as a Service right — Traditional service accounts with manual password management
For detailed information about linked server security context (passthrough vs impersonation), see the Linked Servers guide.
Account Type Best Practices:
- ✅ Domain accounts (recommended) — Required for distributed solutions with Kerberos authentication
- ✅ gMSA accounts (Nodinite v7+) — Automatic password rotation, enhanced security
- ⚠️ Local accounts — Only for single-server test/dev setups
- ⚠️ SQL accounts — Temporary workaround if BizTalk SQL Instance allows mixed logins; Windows authentication with Kerberos is recommended for production
Step 4: Enable BizTalk Tracking (Critical Prerequisite)
BizTalk tracking must be enabled for Nodinite to log any data. The Nodinite Logging Agent copies tracked events from BizTalkDTADb—if tracking is not enabled on BizTalk Receive Ports, Send Ports, or Orchestrations, no log events will be captured.
Understanding BizTalk Tracking Data Flow
BizTalk tracking must be enabled (Message Body and/or Message Properties) for Nodinite to capture log events. Without tracking, BizTalkDTADb contains no data to copy.
How to Enable Tracking in BizTalk Admin Console
To enable tracking on BizTalk ports and orchestrations:
- Open BizTalk Server Administration Console on any BizTalk server
- Navigate to the artifact:
- Receive Ports: Applications → [Application Name] → Receive Ports
- Send Ports: Applications → [Application Name] → Send Ports
- Orchestrations: Applications → [Application Name] → Orchestrations
- Right-click the port/orchestration and select Properties
- Click the Tracking tab
- Enable tracking options:
- ✅ Track Message Bodies - Request message before port processing (recommended for inbound messages)
- ✅ Track Message Bodies - Request message after port processing (recommended for outbound messages)
- ✅ Track Message Properties - Request message before port processing (for context properties)
- ✅ Track Message Properties - Request message after port processing (for context properties)
- Click OK to save
Tip
Recommended tracking configuration:
- Receive Ports: Enable "Message Body - Before" and "Message Properties - Before" (captures inbound data)
- Send Ports: Enable "Message Body - After" and "Message Properties - After" (captures outbound data)
- Orchestrations: Enable "Message Body - Before/After" and "Message Properties - Before/After" only during debugging (high volume)
Important
Enabling tracking on hundreds of ports manually is time-consuming. Use Nodinite's Tracking Management feature to bulk review and update tracking settings for all BizTalk ports and orchestrations from one screen—no need to log into BizTalk nodes or grant Admin Console access.
Tracking Options Explained
| Tracking Option | What It Captures | Use Case | Impact |
|---|---|---|---|
| Message Body - Before | Full message payload before processing | Inbound messages, debugging receive pipelines | Medium disk usage |
| Message Body - After | Full message payload after processing | Outbound messages, debugging send pipelines | Medium disk usage |
| Message Properties - Before | Context properties before processing | Track promoted properties (MessageType, Operation, custom) | Low disk usage |
| Message Properties - After | Context properties after processing | Track properties added by orchestrations/pipelines | Low disk usage |
This table summarizes BizTalk tracking options and their impact. Nodinite requires at least one option enabled (Message Body or Message Properties) to log events.
Verifying Tracking is Enabled
After enabling tracking, verify that events appear in BizTalkDTADb:
- Process a test message through a tracked port
- Query BizTalkDTADb to confirm tracking data:
-- Check if tracking events are being written
SELECT TOP 10
uidServiceInstanceId,
dtStartTime,
strServiceName,
nServiceStateId
FROM [BizTalkDTADb].[dbo].[dtav_ServiceFacts]
ORDER BY dtStartTime DESC
- Wait 60-90 seconds for Nodinite Logging Agent to copy events
- Check Nodinite Log View to confirm messages appear
Note
Latency: BizTalk's
TrackedMessages_Copy_BizTalkMsgBoxDbSQL Job runs every 60 seconds by default. Nodinite Logging Agent then copies from BizTalkDTADb. Expect 60-90 seconds between BizTalk processing and Nodinite visibility.
Bulk Tracking Management with Nodinite
Stop logging into BizTalk Admin Console to check tracking settings. Nodinite's Tracking Management feature (part of BizTalk Monitoring Agent) provides:
- ✅ Single-screen overview of tracking settings for ALL ports and orchestrations
- ✅ Bulk updates – Enable/disable tracking on multiple artifacts at once
- ✅ No BizTalk Console access required – Manage from Nodinite Web Client
- ✅ Role-based access – Grant tracking management rights without BizTalk Administrators group membership
- ✅ Audit logging – All tracking changes are logged for compliance
Learn more: Tracking Management – Bulk update tracking settings for BizTalk ports and orchestrations
Step 5: Assign SQL Permissions
The account in use on the Linked Server that the Nodinite Logging Service use must have these SQL grants set on the following BizTalk SQL instances:
The following table summarizes the required SQL Server permissions for the account used by the Nodinite Logging Service to access BizTalk databases. Each permission ensures secure and reliable data extraction for logging. Review the descriptions and follow the links for more details on each SQL Server role.
| Database | Permission | Description | Microsoft Docs Link |
|---|---|---|---|
| All Instances | public | Allows basic logon rights to the BizTalk SQL Instances | public Database Role |
| BizTalkDTADB | db_datareader | Grants read access to all tables and views | db_datareader |
| BizTalkDTADB | db_ddladmin | Allows running DDL statements (e.g., create/alter/drop objects) | db_ddladmin |
| BizTalkMGMTDB | db_datareader | Grants read access to all tables and views | db_datareader |
| BizTalkMGMTDB | db_ddladmin | Allows running DDL statements (e.g., create/alter/drop objects) | db_ddladmin |
This table lists the minimum SQL Server permissions required for the Nodinite Logging Service to access and process BizTalk DTA and MGMT database data. Ensure these grants are set for uninterrupted logging and monitoring.
Step 6: Configure Active Directory for Kerberos
- For single-server solutions, Kerberos configuration is not required.
- For distributed solutions (multiple servers/instances), configure Kerberos - Set "Trusted for delegation" on all Windows Servers and register SPNs for all SQL Instances.
Tip
Service Principal Names (SPN) Registration:
See the comprehensive Service Principal Names (SPN) guide for:
- When SPN registration is required for Windows authentication
- Registration commands for default instances, named instances, and clusters
- Scenario-specific examples (including 7-SPN cluster configurations)
- Validation with Microsoft Kerberos Configuration Manager tool
- Troubleshooting common Kerberos authentication issues
Step 7: Review DTC/MSDTC Configuration
Ensure MSDTC is configured and running on all involved servers. See the MSDTC guide for details.
Visual Summary: End-to-End BizTalk Logging Flow
This diagram summarizes the end-to-end flow from BizTalk DTA/MGMT databases to Nodinite’s Logging Service and App for monitoring and analytics.
Next Steps
- Tracking Management – Bulk update tracking settings for all BizTalk ports/orchestrations
- Recommendations for BizTalk Log Agent
- Install
Related Topics
- BizTalk Logging Overview
- Configuration of the agent
- RPC