Microsoft KB Archive/926900
Article ID: 926900
Article Last Modified on 11/20/2007
- Microsoft SQL Server 2005 Standard Edition
- Microsoft SQL Server 2005 Developer Edition
- Microsoft SQL Server 2005 Enterprise Edition
- Microsoft SQL Server 2005 Standard X64 Edition
- Microsoft SQL Server 2005 Standard Edition for Itanium-based Systems
- Microsoft SQL Server 2005 Enterprise X64 Edition
- Microsoft SQL Server 2005 Enterprise Edition for Itanium-based Systems
SQL Bug #: 425849 (SQLBUDT)
Consider the following scenario. You create traces on an instance of Microsoft SQL Server 2005 that is configured to use database mirroring. Failover occurs in the database mirroring environment. In this scenario, the SQL Trace entries on the instance of SQL Server 2005 may be incorrect. For example, consider the following situation:
- In a database mirroring environment, server A is a principal server and server B is a mirror server.
- You run transaction T on server A. In transaction T, a table named TestTable is created.
- When transaction T is running on server A, failover occurs and server B becomes the principal server. In this case, transaction T continues to complete on server A, and the trace entry of the CREATE TABLE operation is recorded on server A.
- If server B did not receive the log for transaction T, server B rolls back the transaction.
In this situation, the committed transaction is not returned to the client. When server A is synchronized with server B, the trace entry of the CREATE TABLE operation shows that the TestTable table is created, although the table does not exist.
This problem occurs because the information about trace events is not sent to the server that has been failed over when the transaction is rolled back.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
You can compare the traces on both servers to see when the committed transaction is lost.
Keywords: kbtshoot kbprb kbexpertiseadvanced kbsql2005engine KB926900