SQL Server 2000 distributed transaction Error resolution in Windows Server 2003

Source: Internet
Author: User
Tags continue ole query require server error log
server|window| Error | distributed | Resolving symptoms if you run a linked server query in SQL Server 2000 installed on Windows. NET server, the following error may be returned (even if MSDTC is running on the server):
Server:msg 8501, level, State 3, line 3
MSDTC on the server ' server name ' is unavailable. In the SQL Server error log, you will find the following errors raised by the SPID that runs the query:
Resource Manager creation Failed:result Code = 0x8004d01c reason this is the design. This error occurs if the Distributed Transaction Coordinator service is running under the local System account. Solution Recent changes to DTC made to improve RPC security require MSDTC to run as an "NT AUTHORITY\NetworkService". This is the default option for. NET Server. In Windows NT and Windows 2000, the MSDTC service is run under the Local System account by default.

Warning: Improper use of Registry Editor can cause serious problems that may require you to reinstall your operating system. Microsoft is not guaranteed to resolve problems caused by improper use of the Registry Editor. Using Registry Editor requires your own risk.

To change the MSDTC service account from "Local System" to "NT AUTHORITY\NetworkService", follow these steps: 1. Run Regedt32, browse to HKEY_LOCAL_MACHINE Oftware\microsoft \msdtc.
Add a DWORD value turnoffrpcsecurity, the value data is 1. 2. Open the command prompt, run "net stop msdtc" and run "net start MSDTC". 3. Go to the Component Services administration tool.

A. Browse to the Start administration tool. B. Select Component Services. C. Expand the Component Services tree, and then expand My Computer. D. Right-click My Computer and choose Properties. E. In the MSDTC tab, make sure the following options are selected:
Network DTC access network Management network transaction XA transaction
In addition, the DTC login account must be set to "NT AUTHORITY\NetworkService". F. Click OK. This will prompt you to "MS DTC will stop and reboot." All dependent services will be stopped. Please press ' yes ' to ' continue '. Click "Yes" to continue. G. Click OK to close the My Computer Properties window. 4. Run Regedt32 again, browse to HKEY_LOCAL_MACHINE OFTWARE\MICROSOFT\MSDTC, and then delete turnoffrpcsecurity items. Your MSDTC service should now run under the "NT AUTHORITY\NetworkService" account, and this error will not occur again.
More information
When network DTC access is disabled under the MSDTC security configuration, if you run a linked server query, the following error is returned:
Server:msg 7391, level, State 1, line 2 The operation could isn't be performed because the OLE DB provider ' SQLOLEDB ' is Unable to begin a distributed transaction. [OLE/DB provider returned MESSAGE:NEW transaction cannot enlist in the specified transaction.]
Trace flag 7300 is open: server:msg 7391, Level, State 1, line 2 The operation could not be performed because the OLE DB provider ' SQLOLEDB ' is unable to begin a distributed transaction. [OLE/DB provider returned MESSAGE:NEW transaction cannot enlist in the specified transaction.] OLE DB error trace [ole/db Provider ' SQLOLEDB ' ITransactionJoin::JoinTransaction returned 0x8004d00a]. The MSDTC service must be set according to the instructions in the "Resolution" section above to prevent this error.

Step 1 to reproduce the phenomenon. Go to the Start Administrative Tools service. 2. Right-click the Distributed Transaction Coordinator service, go to the Login tab, and select the Local System account under logon status. 3. Stop and restart the service. 4. From Query Analyzer, run the following script:
EXEC sp_addlinkedserver remote1exec sp_setnetname remote1, <remote server name>goexec remote1.pubs.dbo.sp_ ExecuteSQL N ' CREATE TABLE T (c1 int) ' Goset xact_abort ongobegin traninsert into remote1.pubs.dbo.t values (1) Commit Trango


Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.