Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
scottpt
Posting Yak Master
186 Posts |
Posted - 2004-02-03 : 09:54:48
|
| set nocount onDECLARE @server_name varchar(50), @strsql varchar(255) set @server_name='s0898001CSQL'CREATE TABLE #readerrorlog1(LogText varchar(1000),ContinuationRow INT)set @strSQL='exec ' + @server_name + '.master.dbo.sp_readerrorlog 1'set xact_abort onINSERT INTO #readerrorlog1EXECUTE(@strSQL)DROP TABLE #readerrorlog1===================================================================Server: Msg 7391, Level 16, State 1, Line 1The 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].=====================================================================Server A is standard 8.00.818.Server B is Enterprise 8.00.818 and clustered.1) I can ping by name from both servers in cluster.2) I can run the query without the insert into.3) MSDTC is running as clustered under the cluster group.The comclust failed to install the COM+ group in the cluster.DTCPING hangs at the reverse bind test.Is this a Port issue?Any help would be greatly appreciated. |
|
|
scottpt
Posting Yak Master
186 Posts |
Posted - 2004-02-03 : 11:01:05
|
| Just read this:Check whether any of the servers are on a cluster. The DTC on the cluster must have its own IP address. You must verify proper name resolution of the DTC service on each server. The IP address of the DTC must be defined in your name resolution system (such as WINS, DNS or LMHosts). Verify that each server can communicate with the other's MSDTC by name, not just by IP address. Check in both directions. For example, check from server A to server B's MSDTC, and then check from server B to server A's MSDTC. You must resolve all name resolution problems on the network before you run your distributed query. Currently I have an IP for the windows cluster and an IP for the Virtual sql server. Do I also need a IP for MSDTC? |
 |
|
|
MuadDBA
628 Posts |
Posted - 2004-02-03 : 14:58:39
|
| It does appear that way, according to what you quoted. |
 |
|
|
scottpt
Posting Yak Master
186 Posts |
Posted - 2004-02-06 : 16:21:25
|
| ResolutionIn our case our cluster name was S0898001C and the SQL name was S0898001CSQL. I could do a ping to S0898001CSQL but I could not ping S0898001C. Added a host name and everything worked.Morale of the story: MSDTC uses the ip of the CLuster IP address resource not the SQL IP Address resource. You must have name resolution the the cluster for replication and two phsed commit to work. |
 |
|
|
|
|
|