Unable To Initiate A Distributed Transaction From Sql Server on Windows 2003 SP1

tolywang發表於2009-05-16

Applies to:

Oracle Provider for OLE DB - Version: 9.2 to 10.2
Microsoft Windows Server 2003
Checked for relevance on 16-May-2007

Symptoms


On MS SQL Server a Linked Server to the Oracle Database using OLE DB cannot initiate a Distributed Transaction returning this error:

Server: Msg 7391, Level 16, State 1, Line 5
The operation could not be performed because the OLE DB provider 'MSDAORA' was
unable to begin a distributed transaction.
OLE DB error trace [OLE/DB Provider 'MSDAORA' ITransactionJoin::JoinTransaction
returned 0x8000d048]."

Cause

There is a change introduced by the Service Pack1 regarding the MSDTC behaviour:
The XA Transactions mechanism is passed from enabled by default to disabled by default.
Without XA Transactions enabled, no Distributed transaction to a target using XA could be initiated

See for more information.

Solution

To implement the solution follow this steps:

1.Open Component Services.
2.Expand the tree view to locate the computer where you want to turn on support for XA transactions (for example, My Computer).
3.Right-click the computer name, and then click Properties.
4.Click the MSDTC tab, and then click Security Configuration.
5.Under Security Settings, click to select the check box for XA Transactions to turn on this support.


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-598370/,如需轉載,請註明出處,否則將追究法律責任。

相關文章