You are currently offline, waiting for your internet to reconnect

How To Use DTCTester Tool

This article was previously published under Q293799
Retired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
SUMMARY
DTCTester tests a distributed transaction against a specified Microsoft SQL Server. This tool helps to test distributed transactions across firewalls or against networks. DTCTester performs distributed transactions by using ODBC API against a SQL Server database.

Download the DTCTester Tool

The following file is available for download from the Microsoft Download Center:
DownloadDownload the DTCTester package now.For additional information about how to download Microsoft Support files, click the following article number to view the article in the Microsoft Knowledge Base:
119591 How to Obtain Microsoft Support Files from Online Services
Microsoft scanned this file for viruses. Microsoft used the most current virus-detection software that was available on the date that the file was posted. The file is stored on security-enhanced servers that help to prevent any unauthorized changes to the file.

What Does the DTCTester Tool Do?

  • Establishes a connection to SQL Server by using a data source name (DSN) and username and password that you provide on the command line by using the default network library.
  • Creates a temporary table.
  • Enlists the connection in a transaction.
  • Does an insert on the temporary table.
  • Commits the distributed transaction.
  • Selects inserted value to make sure it was committed.
  • Closes the connection.

How to Use the DTCTester Tool

  1. Create an ODBC data source for your SQL Server through the ODBC utility in Control Panel.
  2. Execute the following from the command line:
    dtctester <dsn name><user name><password>
    Replace the values in brackets as appropriate for your environment.

Typical Causes Where the DTCTester Tool Fails

  • Firewall has incorrect ports closed.
  • There are bad WINS/DNS entries.
  • Misconfigured SQL Server cluster or dual network adapter.
  • Other misconfigured network setting.

Example of Error that Occurs When the DTCTester Fails

Command Line: dtctester bad baduser badpassExecuted: dtctesterDSN: badUser Name: baduserPassword: badpasstablename=#dtc7421Creating Temp Table for Testing: #dtc7421Warning: No Columns in Result Set From Executing: 'create table #dtc7421 (ival int)'Initializing DTCBeginning DTC TransactionEnlisting Connection in TransactionError:SQLSTATE=25S12, Native error=-2147168242,msg='[Microsoft][ODBC SQL Server Driver] Distributed transaction error'Error:SQLSTATE=24000, Native error=0,msg=[Microsoft][ODBC SQL Server Driver]Invalid cursor stateAborting DTC TransactionReleasing DTC Interface PointersSuccessfully Released pTransaction Pointer					

Example of Successful DTCTester Output

Command Line: dtctester test saExecuted: dtctesterDSN: testUser Name: saPassword is assumed to be NULL.Connecting to the databasetablename= #dtc7488Creating Temp Table for Testing: #dtc7488Warning: No Columns in Result Set From Executing: 'create table #dtc7488 (ival int)'Initializing DTCBeginning DTC TransactionEnlisting Connection in TransactionExecuting SQL Statement in DTC TransactionInserting into Temp...insert into #dtc7488 values (1)Warning: No Columns in Result Set From Executing: 'insert into #dtc7488 values (1) 'Verifying Insert into Temp...select * from #dtc7488 (should be 1): 1Press enter to commit transaction.Committing DTC TransactionReleasing DTC Interface PointersSuccessfully Released pTransaction Pointer.Disconnecting from Database and Cleaning up Handles					

Suggested Ports to Open for DTC

port(s)port's purpose
Open 135RPC EPM (end point mapper)
Open 1433TDS SQL traffic when using TCP/IP
Open 1434SQL 2000 Integrated Security
Open 5100-5200MSDTC [Dynamically assigned a port by the EPM]
REFERENCES
For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
191168 INFO: Error '-2147168246 (8004d00a)' Failed to Enlist on Calling Object's Transaction
For additional information, see the white paper on the following Microsoft Web site:
Using Distributed COM with Firewalls
http://www.microsoft.com/com/wpaper/dcomfw.asp
Properties

Article ID: 293799 - Last Review: 09/07/2004 15:15:35 - Revision: 2.5

Microsoft Windows DNA

  • kbdownload kbdownload kbdcom kbhowto KB293799
Feedback
/html>