Select the product you need help with
- Internet Explorer
- Windows Phone
- More products
How to troubleshoot error 7391 that occurs when you use a linked server in SQL Server
Article ID: 306212 - View products that this article applies to.
This article was previously published under Q306212
This article is a basic guide for troubleshooting linked server error 7391. The article contains guidelines and directions to determine the cause and resolution for this error. However, this is not a complete list, and some problems may be specific to your environment.
You may receive error 7391 while working with linked servers.
In Microsoft SQL Server 2005, you receive the following error message:
Server: Msg 7391, Level 16, State 1, Line 1
The operation could not be performed because OLE DB provider "%ls" for linked server "%ls" was unable to begin a distributed transaction.
In SQL Server 2000, the error message you receive is:
Server: Msg 7391, Level 16, State 1, <ObjectName>, Line xx
The operation could not be performed because the OLE DB provider '%ls' was unable to
begin a distributed transaction.
In SQL Server 7.0, the error message you receive is:
Server: Msg 7391, Level 16, State 1, Line 1 The operation could not be performed because
the OLE DB provider '%ls' does not support distributed transactions. [OLE/DB provider
returned message: Distributed transaction error]
In some instances, you may also receive the following error 8522:
Distributed transaction aborted by MSDTC.
All error numbers that are in the range of 7300 to 7399 indicate a problem with the provider. By default, because each provider may have different capabilities and return different details, you do not receive the full error message. To retrieve the full error message from providers, issue this command before you run the query that results in the error:
If you receive the error 7391 from a process such as replication or Data Transformation Services (DTS), you may also receive the error message when the code contains a BEGIN DISTRIBUTED TRAN statement.
Make sure that you test the code that has the BEGIN DISTRIBUTED TRAN statement in Query Analyzer.
Start Query Analyzer, and then run this statement by logging on to the server with the same account as the SQL Server and the SQL Server Agent startup account. This will help to narrow your troubleshooting focus.
Common ResolutionsHere is a list of the most common resolutions for error 7391.
Note It is a good idea to limit your code in a transaction that involves a distributed query only to the remote server. In most cases, you may separate locally executed steps from remote steps to reach this goal.
Note If you are using SQL Server 2005, use SQL Server Management Studio instead of Query Analyzer and Enterprise Manager to perform the operation mentioned in this article. Notice that some user interfaces in SQL Server Management Studio may differ from the user interfaces in Query Analyzer or in Enterprise Manager. See the related topic in SQL Server 2005 Books Online, and make the corresponding change to the operation.
For more information about configuring linked servers, visit the following Microsoft Web site:
Configuring Linked Servers
For additional information, click the following article numbers to view the articles in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/295086/EN-US/ )FIX: MS DTC Limited to 16 Nodes in Single Distributed Transaction
(http://support.microsoft.com/kb/175496/EN-US/ )XCON: Using RPCPING To Troubleshoot MTA Connections
(http://support.microsoft.com/kb/280106/EN-US/ )HOW TO: Set Up and Troubleshoot a Linked Server to Oracle in SQL Server
Article ID: 306212 - Last Review: February 16, 2007 - Revision: 7.4