Troubleshooting Guide: SQL Server Error 8570 — MS DTC Resource Manager Initialization
Why This Error Happens
Error 8570 is logged when a database first enlists in a distributed transaction and SQL Server initializes a dedicated MS DTC resource manager for that database. This is purely an informational event, not a failure, and typically appears the first time a linked server query, distributed transaction, or BEGIN DISTRIBUTED TRANSACTION statement touches that database. It can, however, be mistaken for an actual error when MS DTC itself is misconfigured, causing the initialization to stall or subsequent distributed transactions to fail silently after this message appears.
Step-by-Step Resolution Guide
Step 1: Confirm the Message Is Informational, Not a Failure
- Open SQL Server Error Log via SSMS (Management > SQL Server Logs) or check
ERRORLOGatC:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Log\. - Verify the surrounding log entries — if no subsequent errors (like 8501 or 8511) follow, Error 8570 is purely informational and requires no action.
- Cross-check Windows Event Viewer under Applications and Services Logs > Microsoft > Windows > DistributedTransactionCoordinator for related warnings.
Step 2: Verify MS DTC Service Is Running and Configured Correctly
- Open
services.mscand confirm “Distributed Transaction Coordinator” service status is “Running” and set to “Automatic.” - Run
Get-Service MSDTCin PowerShell to confirm state programmatically. - If stopped, start it with
Start-Service MSDTCand set startup type:Set-Service MSDTC -StartupType Automatic.
Step 3: Check MS DTC Security Configuration
- Open Component Services (
dcomcnfg.exe) > Component Services > Computers > My Computer > Distributed Transaction Coordinator > Local DTC. - Right-click and select Properties, then go to the Security tab.
- Ensure “Network DTC Access,” “Allow Remote Clients,” “Allow Inbound/Outbound,” and “Enable XA Transactions” (if needed) are checked based on your topology.
- Restart the MSDTC service after applying changes:
Restart-Service MSDTC.
Step 4: Validate Firewall and Port Rules for DTC Communication
- Confirm Windows Firewall allows MSDTC traffic by enabling the built-in rule group:
netsh advfirewall firewall set rule group="Distributed Transaction Coordinator" new enable=yes. - If using static RPC ports for DTC in a clustered or multi-server setup, verify the configured port range under
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTCis open on both ends. - Test connectivity between servers using
Test-NetConnection -ComputerName <RemoteServer> -Port 135.
Step 5: Restart SQL Server Service to Reinitialize DTC Resource Manager
- Restart the SQL Server service via
services.mscorRestart-Service MSSQLSERVERto force a clean DTC resource manager re-registration. - Re-run the distributed transaction or linked server query that originally triggered the message.
- Monitor the error log again to confirm Error 8570 appears once without recurring failures afterward.
Alternative or Verification Steps
- Run the DTC Ping tool (
DTCPing.exe) between the SQL Server and any remote transaction participant to confirm two-way communication is functioning correctly. - If distributed transactions still fail despite this message, test using
sp_configure 'remote proc trans', 1combined with a manualBEGIN DISTRIBUTED TRANSACTIONtest script to confirm commit/rollback behavior end-to-end.