473,546 Members | 2,196 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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.mo saics.dbo.Locat ion

This works fine.

However when I use
begin transaction
select count(*) from remoteserver.mo saics.dbo.Locat ion

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'
ITransactionJoi n::JoinTransact ion 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 9243
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.mo saics.dbo.Locat ion

This works fine.

However when I use
begin transaction
select count(*) from remoteserver.mo saics.dbo.Locat ion

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'
ITransactionJoi n::JoinTransact ion 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.mo saics.dbo.Locat ion

This works fine.

However when I use
begin transaction
select count(*) from remoteserver.mo saics.dbo.Locat ion

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'
ITransactionJoi n::JoinTransact ion 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****@sommarsk og.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
13891
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 inconsistant behaviour. On refreshing the screens couple of times, the error disappears.Also it reappears abruptly giving an impression that the transaction failed although the changes are commited to the...
1
18463
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 DISTRIBUTED TRANSACTION' ? Basicly, these SPs update a local table and a remote table in the same transaction. I cant have one table updated and not the other. Please dont say replicate the tables...
0
2439
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 installed anywhere which would connect to a public database placed at ISP datacentre(Suppose Server- having 2 database). this server database is added to client as linked server through vb.net interface....
1
439
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 and C from A. Is it possible? if yes then how? I have read the doc regarding this: http://www.developer.com/net/asp/article.php/3385631 but it will not work when methods are in different...
2
2920
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 machine. Both servers are running SQLServer 2000 and have the DTC running. When I run this batch from QueryAnalyzer without explicitly using
5
3320
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 some settings to get done or ist this not possible by definition? Thanks Klemens
2
3883
by: John Lee | last post by:
Hi, I have few questions related to .NET 2.0 TransactionScope class behavior: 1. Check Transaction.Current.TransactionInformation.DistributedIdentifier to identify if distributed transaction is used - is it accurate way? 2. I have the following code blocks - In code block 1, the first check the DistributedIdentifier is ALL 0s so it
0
2999
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 desktop, linked to an Oracle 10g database on a remote Windows 2003 server. Both machines are on the same domain and very close physically (<1ms ping). I have set up the Oracle linked server in...
2
2786
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 ServiceB to perform some additional tasks. If ServiceB fails to execute the request, I would like ServiceA to rollback its changes. ServiceA and ServiceB are located on 2 different servers on the same...
0
7507
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7698
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
0
7947
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
1
7461
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
0
6030
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
1
5361
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
3492
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
0
3472
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
1046
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

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.