Monday, February 20, 2012

linked server

I use a trigger which I update a linked server and this is working very good in SQL 2000. But after I migrate the database to SQL 2005. The trigger is not working with linked server any more. I remember I need to start the distributed transaction coordinator in service manager. But I couldn't find anything similar to this in SQL 2005. Is it somewhere I need to start? I got an error message like following:

Msg 7391, Level 16, State 2, Procedure EAI_ADM_STUDENT_ins_upd_trg, Line 804

The operation could not be performed because OLE DB provider "SQLNCLI" for
linked server "10.2.0.119" was unable to begin a distributed transaction.

Please help. Thanks.Try this. our db guy had a hell of a time figuring this out :)

Log into the machine named in the error message via termserv.
Start, Run, type 'dcomcnfg.exe'

This brings up the security manager.

Click Component Services/Computers/My Computer folder

Right click My Computer and select properties.

Pick the MSDTC tab.

Click the Security Configuration Button

Click Network DTC Access checkbox.

Click 'Allow Inbound', 'Allow Outbound' checkboxes.|||Thank. I tried it and unfortunately it still doesn't work.|||KBA http://support.microsoft.com/kb/306212 fyi in thsi case.|||Sorry. I have read the articles. But it doesn't help. The problem is not fixed.|||Have you checked Linked Server Properties?
There are Server Options
If you switch:
RPC = true
RPC Out = true
on both servers, you should have not any problems.

TSQL equivalent of above is:

USE [master]
GO
EXEC master.dbo.sp_serveroption @.server=N'MyServerName', @.optname=N'rpc', @.optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @.server=N'MyServerName', @.optname=N'rpc out', @.optvalue=N'true'
GO|||Sorry. Tried it but not working.

No comments:

Post a Comment