Greetings...
I have two SQL 2000 servers, A and B, being Svr A in our local domain, and Svr B is in a DMZ (i.e. in the internet). Svr A can see Svr B, but for security reasons, Svr B cannot see Svr A. This is OK.
From Svr A, I'm trying to make a distributed (remote) UPDATE being the source table in Svr B and the target in Svr A:
UPDATE A
SET A.Field1 = B.Field1
FROM SvrA.dbA.dbo.tblA A INNER JOIN SvrB.dbB.dbo.tblB B
ON A.PK1 = B.PK1
WHERE blablablabla....
I get the following result:
Server: Msg 7391, Level 16, State 1, Line 1
The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction.
[OLE/DB provider returned message: New transaction cannot enlist in the specified transaction coordinator. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].
After too much investigation, I've discovered so far that the problem is due to the combination of several facts that are present at the same time:
(1) The SQL Server version is 2000 (I don't have this problem with version 7)
(2) The target table contains FOR UPDATE triggers (this doesn't occur with FOR INSERT triggers)
(3) One of the servers is in the DMZ (if both servers were at the local network, I wouldn't have this prob).
Is there any way in which I can solve this situation? Am I posting this problem in the correct forum? Please advise.
Thanks!
J.C.
I have two SQL 2000 servers, A and B, being Svr A in our local domain, and Svr B is in a DMZ (i.e. in the internet). Svr A can see Svr B, but for security reasons, Svr B cannot see Svr A. This is OK.
From Svr A, I'm trying to make a distributed (remote) UPDATE being the source table in Svr B and the target in Svr A:
UPDATE A
SET A.Field1 = B.Field1
FROM SvrA.dbA.dbo.tblA A INNER JOIN SvrB.dbB.dbo.tblB B
ON A.PK1 = B.PK1
WHERE blablablabla....
I get the following result:
Server: Msg 7391, Level 16, State 1, Line 1
The operation could not be performed because the OLE DB provider 'SQLOLEDB' was unable to begin a distributed transaction.
[OLE/DB provider returned message: New transaction cannot enlist in the specified transaction coordinator. ]
OLE DB error trace [OLE/DB Provider 'SQLOLEDB' ITransactionJoin::JoinTransaction returned 0x8004d00a].
After too much investigation, I've discovered so far that the problem is due to the combination of several facts that are present at the same time:
(1) The SQL Server version is 2000 (I don't have this problem with version 7)
(2) The target table contains FOR UPDATE triggers (this doesn't occur with FOR INSERT triggers)
(3) One of the servers is in the DMZ (if both servers were at the local network, I wouldn't have this prob).
Is there any way in which I can solve this situation? Am I posting this problem in the correct forum? Please advise.
Thanks!
J.C.