472,348 Members | 2,039 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,348 software developers and data experts.

Why transaction gets promoted to Distributed transaction

rbg
Hi,
On My local SQL server I have added a linked server to another SQL
server (remoteserver) in another Windows NT Domain.

When I run this code
select count(*) from remoteserver.mosaics.dbo.Location

This works fine.

However when I use
begin transaction
select count(*) from remoteserver.mosaics.dbo.Location

It errors out saying that
The operation could not be performed because the OLE DB provider
'SQLOLEDB' was unable to begin a distributed transaction.
New transaction cannot enlist in the specified transaction
coordinator. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].

My question is even though I am just reading data from the
remoteserver, why does the local transaction get promoted to a
distributed transaction.
Any help will be grately appreciated.

TIA...Rohit

Feb 1 '07 #1
2 9151
On Feb 1, 7:30 am, "rbg" <rbg....@gmail.comwrote:
Hi,
On My local SQL server I have added a linked server to another SQL
server (remoteserver) in another Windows NT Domain.

When I run this code
select count(*) from remoteserver.mosaics.dbo.Location

This works fine.

However when I use
begin transaction
select count(*) from remoteserver.mosaics.dbo.Location

It errors out saying that
The operation could not be performed because the OLE DB provider
'SQLOLEDB' was unable to begin a distributed transaction.
New transaction cannot enlist in the specified transaction
coordinator. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].

My question is even though I am just reading data from the
remoteserver, why does the local transaction get promoted to a
distributed transaction.
Any help will be grately appreciated.

TIA...Rohit
It is because you have a transaction established when you do the
query. The
other DBMS has to establish it's part of the transaction. This step
comes
before the DBMS does anything with the SQL, even before parsing it. I
bet the same would happen if you tried a remote 'select 1'.

Joe Weinstein at BEA Systems

Feb 1 '07 #2
rbg (rb*****@gmail.com) writes:
On My local SQL server I have added a linked server to another SQL
server (remoteserver) in another Windows NT Domain.

When I run this code
select count(*) from remoteserver.mosaics.dbo.Location

This works fine.

However when I use
begin transaction
select count(*) from remoteserver.mosaics.dbo.Location

It errors out saying that
The operation could not be performed because the OLE DB provider
'SQLOLEDB' was unable to begin a distributed transaction.
New transaction cannot enlist in the specified transaction
coordinator. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB'
ITransactionJoin::JoinTransaction returned 0x8004d00a].

My question is even though I am just reading data from the
remoteserver, why does the local transaction get promoted to a
distributed transaction.
There is a transaction, and it doesn't matter what it does on the
other end.

There are suggestions in http://support.microsoft.com/kb/873160. I
played around with it, but I was not able to get it work myself.

Beware that the KB article suggests that you should open port 135
in Windows Firewall. When you do this, use the Change scope option
to limit which computers the port is open for. Do not open it for
access from the Internet. Port 135 is a very dangerous port to
have open.

--
Erland Sommarskog, SQL Server MVP, es****@sommarskog.se

Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/pro...ads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinf...ons/books.mspx
Feb 1 '07 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

7
by: Prashanth | last post by:
Hi, We are facing some issues in COM+ deployment. We get system error "Unable to enlist in a distributed transaction" . It has a very...
1
by: Steve Thorpe | last post by:
Hi have have two linked SQL Servers and I am trying to get things working smootly/quickly. Should I be using 'BEGIN TRANSACTION' or 'BEGIN...
0
by: DotNetJunkies User | last post by:
I am writing a distributed transaction code. My current scenario include a client database(Suppose client- having 4 main database) which can be...
1
by: Avanish Pandey | last post by:
Hello All We have 3 differen services (in 3 different server) Service A,B,C . We want to implement distributed transaction when call methods of B...
2
by: Jo Siffert | last post by:
Hi all, I would like to perform an INSERT INTO LINKEDSVR.dbo.xyz.abc SELECT ... FROM dbo.dfg where LINKEDSVR is a linked server on another...
5
by: Klemens | last post by:
I get SQL30090 reason 18 by trying to do an insert in a federated table and an update in a local table in one transaction Do I have to change...
2
by: John Lee | last post by:
Hi, I have few questions related to .NET 2.0 TransactionScope class behavior: 1. Check...
0
by: gshawn3 | last post by:
Hi, I am having a hard time creating a Trigger to update an Oracle database. I am using a SQL Server 2005 Express database on a Win XP Pro SP2...
2
by: Dan Kelley | last post by:
I have 2 services, ServiceA and ServiceB. Certain user driven functions require ServiceA to perform some DB tasks, before sending a request to...
0
by: teenabhardwaj | last post by:
How would one discover a valid source for learning news, comfort, and help for engineering designs? Covering through piles of books takes a lot of...
1
by: Kemmylinns12 | last post by:
Blockchain technology has emerged as a transformative force in the business world, offering unprecedented opportunities for innovation and...
0
jalbright99669
by: jalbright99669 | last post by:
Am having a bit of a time with URL Rewrite. I need to incorporate http to https redirect with a reverse proxy. I have the URL Rewrite rules made...
2
by: Matthew3360 | last post by:
Hi, I have a python app that i want to be able to get variables from a php page on my webserver. My python app is on my computer. How would I make it...
0
by: AndyPSV | last post by:
HOW CAN I CREATE AN AI with an .executable file that would suck all files in the folder and on my computerHOW CAN I CREATE AN AI with an .executable...
0
by: Arjunsri | last post by:
I have a Redshift database that I need to use as an import data source. I have configured the DSN connection using the server, port, database, and...
0
hi
by: WisdomUfot | last post by:
It's an interesting question you've got about how Gmail hides the HTTP referrer when a link in an email is clicked. While I don't have the specific...
0
by: Matthew3360 | last post by:
Hi, I have been trying to connect to a local host using php curl. But I am finding it hard to do this. I am doing the curl get request from my web...
0
by: Carina712 | last post by:
Setting background colors for Excel documents can help to improve the visual appeal of the document and make it easier to read and understand....

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.