Windows .NET Server / Server 2003 上運行鏈接服務器查詢報錯:
Server: Msg 8501, Level 16, State 3
MSDTC on server 'servername' is unavailable
NT AUTHORITY\NetworkService 運行ResourceManagerCreationFailed: ResultCode=0x8004d01cregedt32 → HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC → 新建 DWORD TurnOffRpcSecurity = 1net stop msdtc && net start msdtcTurnOffRpcSecurity(安全加固)Msg 7391: OLE DB provider 'SQLOLEDB' unable to begin distributed transaction
New transaction cannot enlist in the specified transaction coordinator
同樣通過上述組件服務配置解決。
EXEC sp_addlinkedserver 'Remote1'
EXEC sp_setnetname 'Remote1', '<RemoteServer>'
GO
SET XACT_ABORT ON
BEGIN TRAN
INSERT INTO Remote1.Pubs.dbo.T VALUES (1)
COMMIT TRAN
分布式事務是跨庫一致性基石,MSDTC 配置錯誤是遷移/升級高發故障點,建議納入部署檢查清單自動化驗證。