• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 5828
  • Last Modified:

SQL server 2008 Distributed transaction problem

Code executed on the SQL 2008 server (Installed on Windows 2008 OS)
Insert into Temp table
Exec [sql 2005 server].Dbname.dbo.Spname  (SQL 2005 is installed on Windows 2003)

The Execute SP statement when executed alone runs fine, however when called with the Insert statement gives the following error

Server: Msg 7391, Level 16, State 2, Line 1
The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "servername" was unable to begin a distributed transaction.
OLE DB provider "SQLNCLI10" for linked server "servername" returned message "No transaction is active.".

On both the servers the Ad Hoc Distributed Queries is enable @ sql level.
Windows level MS DTC remote service is running with no authentication on both the servers. The firewall is set to off. Also the linked server created has Data access, RPC in & RPC out set to true.

 

0
swapnil_mohile
Asked:
swapnil_mohile
  • 5
  • 5
1 Solution
 
Raja Jegan RSQL Server DBA & ArchitectCommented:
Check whether MSDTC is configured as mentioned below:

http://support.microsoft.com/kb/839279

In SQL Server 2005, a bug was fixed for Linked Server connectivity in Service Pack 2.
Hence installing either SP2 or SP3 for that SQL Server 2005 machine is recommended to resolve this issue.

0
 
swapnil_mohileAuthor Commented:
On the SQL 2005 server SP2 is already installed
0
 
Raja Jegan RSQL Server DBA & ArchitectCommented:
Can you confirm whether this one was working:

select * from [sql 2005 server].Dbname.dbo.Spname

If it is then

begin distributed tran
select * from [sql 2005 server].Dbname.dbo.Spname
commit tran

If second query is not working, then kindly provide the error message so that we can fix it out.
0
Get free NFR key for Veeam Availability Suite 9.5

Veeam is happy to provide a free NFR license (1 year, 2 sockets) to all certified IT Pros. The license allows for the non-production use of Veeam Availability Suite v9.5 in your home lab, without any feature limitations. It works for both VMware and Hyper-V environments

 
swapnil_mohileAuthor Commented:
SPname here stands for Stored procedure name, so i have replaced the select with the execute command.

The first query runs fine, while running the second query the same error is encountered as mentioned in the above problem

Server: Msg 7391, Level 16, State 2, Line 2
The operation could not be performed because OLE DB provider "SQLNCLI10" for linked server "servername" was unable to begin a distributed transaction.
OLE DB provider "SQLNCLI10" for linked server "servername" returned message "No transaction is active.".
0
 
Raja Jegan RSQL Server DBA & ArchitectCommented:
Have you configured Steps 1 and 2 in Workaround mentioned in the link below:

http://support.microsoft.com/kb/839279

This is the same link which I mentioned above. If the second one works that means that MSDTC is configured properly, otherwise it is not.

Restart your 2003 machine for these changes to come into effect.
0
 
swapnil_mohileAuthor Commented:
This is already configured as mentioned earlier. I get the error only when the insert statement statement is executed from sql server 2008 (windows 2008).

When the same query is executed from any sql 2005 the same works fine.
0
 
Raja Jegan RSQL Server DBA & ArchitectCommented:
If it not working out from SQL Server 2008 on windows 2008, kindly check whether MSDTC is configured properly in this machine as per

http://itknowledgeexchange.techtarget.com/sql-server/how-to-configure-dtc-on-windows-2008/

Kindly check this out
0
 
swapnil_mohileAuthor Commented:
While installing the Application server got the following warning

could not enable the distributed transaction coordinator firewall rule

The windows firewall was off while installing the application server

The DTC was already configured. After restarting the DTC service the event log looks like below

MSDTC started with the following settings:

 Security Configuration (OFF = 0 and ON = 1):
 Allow Remote Administrator = 0,
 Network Clients = 1,
 Trasaction Manager Communication:
 Allow Inbound Transactions = 1,
 Allow Outbound Transactions = 1,
 Transaction Internet Protocol (TIP) = 1,
  Enable XA Transactions = 1,
  MSDTC Communications Security = No Authentication Required,
 Account = NT AUTHORITY\NetworkService,
  Firewall Exclusion Detected = 0

 Transaction Bridge Installed = 0
 Filtering Duplicate Events = 1


Am still getting the same error after configuring the mentioned steps
0
 
Raja Jegan RSQL Server DBA & ArchitectCommented:
Enable Windows Firewall, Configure it as mentioned in the link and then Disable Windows Firewall.
Give it a try and might help.
0
 
swapnil_mohileAuthor Commented:
Thanks the issue is reolsved
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

  • 5
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now