Hello,
I built a trigger that activates another trigger (Nested Trigger).
The First trigger which is located on table A inserts data into table B and in return the second trigger which is located on table B updates data in table A.
The whole process works fine when both tables are on the same server but when the tables are on different servers i get the following error:
"[Microsoft][ODBC SQL Server Driver][SQL Server]The operation could not be performed because the OLE DB Provider 'SQLOLEDB' was unable to begin a distributed transaction.
[Microsoft][ODBC SQL Server Driver][SQL Server][OLE/DB provider returned message: New transaction cannot enlist in the specified transaction coordinator.]"
Any ideas?Under the server properties goto connection tab and check option for 'Enforce Distributed Transactions (DTS)", make sure to uncheck the option.|||I tried it and it didn't work - I even got the same error message.
Any more ideas?|||Make sure to check whether MSDTC is running on all involved servers.|||I checked the servers and MS-DTC runs on both of them.
Could it be connected to the settings of MS-DTC? something in the settings of MS-DTC that doesn't allow a trigger to activate another trigger?|||It always helps try to refresh the services and MSDTC to get it worked.|||no, sorry, still doesn't help
I stopped and played MS-DTC on both servers + refreshed services but still no good|||I'm out of ideas now in this regard, BTW what is the SP Level?
You may refer the case of MS Support for a fix or search under KB for any fix.|||Both servers are running MS-SQL 2K, SP3
Thanks for your time,
I'll update on any solution, if will be founded..|||For information refer thru:
run SP_SERVEROPTION from QA and deliver the result.
Try to implement :
SET ANSI_DEFAULTS ON
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
SET XACT_ABORT ON
.... before the transaction begins...|||all parameters were already set as mentioned.
sp_serveroption enables changing several server parameters, which one did u mean?
No comments:
Post a Comment