sql server - avoid "Cannot use SAVE TRANSACTION within a distributed transaction" error between SQL 2005 and 2008 -


in our production environment have stored procedure (in sql 2005 server) import data local table remote stored procedure (stored in remote sql 2008).

the code this:

insert  <<local table name>> (fund, strat, clr, [id], position, unsettledposition) exec    <<remote stored proc name>> 'aapl us' , '2013-05-13' 

i receive error:

cannot use save transaction within distributed transaction.

and

the current transaction cannot committed , cannot support operations write log file. roll transaction.

i have configured both local , remote dtc allowing dtc access on network, allowing remote clients option, allowing inbound & outbound communication, , enabling xa transactions, without success.

until yesterday remote server old sql 2005 , code worked well, guess miss config settings in new server 2008.

please me?

this error reproduced, msdtc turned on:

begin distributed transaction;  ...  save transaction abc; 

according this link, ability use savepoints in distributed transaction dropped in sql 7, i.e. not breaking change in sql 2008 (r2).

it not running under distributed transaction, are, e.g. previously, remote proc may have been on different database on same server, hence no need dtc transaction.

so unfortunately, seems need either drop bounding acid transaction, or change sproc on remote server doesn't use savepoints.

update per comments below, appears remote_proc_transactions option had been set on op's newer sql 2008 server, automatically begins distributed transaction across remote stored proc calls.


Comments

Popular posts from this blog

jquery - How can I dynamically add a browser tab? -

node.js - Getting the socket id,user id pair of a logged in user(s) -

keyboard - C++ GetAsyncKeyState alternative -