FIX: User Transaction is Aborted When fn_trace_gettable Reads Corrupt Trace File

Article translations Article translations
Article ID: 911678 - View products that this article applies to.
Bug #: 474780 (SQL Server 8.0)
Expand all | Collapse all

On This Page

SUMMARY

This article describes the following about this hotfix release:
  • The issues that are fixed by this hotfix package.
  • The prerequisites for installing the hotfix package.
  • Information about whether you must restart the computer after you install the hotfix package.
  • Information about whether the hotfix package is replaced by any other hotfix package.
  • Information about whether you must make any registry changes.
  • The files that are contained in the hotfix package.

SYMPTOMS

When you capture a SQL Profiler trace in a file and then try to read the data using the fn_trace_gettable function in Microsoft SQL Server 2000, the following error is returned if the trace file is damaged or corrupted: 
Server: Msg 568, Level 16, State 10, Line 1 Server encountered an error 'Drive:\Path\FileName_YYYYMMDDHHMMSS.trc' .
If you are trying to insert the rows from fn_trace_gettable into a destination table (e.g., using INSERT .. SELECT or SELECT INTO), the destination table will not contain any rows from the trace when the error occurs. This is because the severity 16 error aborts the user transaction and rolls back all rows inserted up to that point.

For a list of previous hotfixes, see the "Microsoft SQL Server 2000 Service Pack 4" section in the following Microsoft Knowledge Base article:
290211 How to obtain the most recent SQL Server 2000 service pack

CAUSE

This problem may occur because you try to load a trace file that is damaged.

RESOLUTION

The installer does not install this hotfix correctly on x64-based systems. This installation issue occurs when the following conditions are true:
  • The system uses the Advanced Micro Devices (AMD) AMD64 processor architecture or the Intel Extended Memory 64 Technology (EM64T) processor architecture.

    Note This issue does not occur on systems that use the Intel Itanium processor architecture.
  • The system is running a 64-bit version of the Microsoft Windows Server operating system.
  • The system is running a 32-bit version of SQL Server 2000.
We have corrected this installation issue in later builds of SQL Server 2000, starting with version 8.00.2244. When a customer who is running SQL Server 2000 on an x64-based system requests this hotfix, we will provide a build that includes this hotfix and that can be installed correctly on an x64-based system. The build that we provide will be version 8.00.2244 or a later version.

Hotfix information

A supported hotfix is available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem.

If the hotfix is available for download, there is a "Hotfix download available" section at the top of this Knowledge Base article. If this section does not appear, submit a request to Microsoft Customer Service and Support to obtain the hotfix.

Note If additional issues occur or if any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. For a complete list of Microsoft Customer Service and Support telephone numbers or to create a separate service request, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=support
Note The "Hotfix download available" form displays the languages for which the hotfix is available. If you do not see your language, it is because a hotfix is not available for that language.

Prerequisites

You must have SQL Server 2000 Service Pack 4 (SP4) installed to apply this hotfix.

Restart information

You do not have to restart the computer after you apply this hotfix.

Hotfix file information

This hotfix contains only those files that are required to correct the issues that this article lists. This hotfix may not contain all the files that you must have to fully update a product to the latest build.

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
SQL Server 2000, 32-bit versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Dtsui.dll2000.80.2175.01,593,34402-Dec-200508:54x86
Impprov.dll2000.80.2175.0102,40002-Dec-200508:54x86
Mssdi98.dll8.11.50523.0239,10406-Jun-200522:46x86
Ntwdblib.dll2000.80.2175.0290,81602-Dec-200508:54x86
Odsole70.dll2000.80.2175.069,63202-Dec-200508:54x86
Osql.exe2000.80.2039.057,34402-Dec-200510:51x86
Pfclnt80.dll2000.80.2175.0430,08002-Dec-200508:54x86
Procsyst.sqlNot Applicable552,06817-Jun-200500:15Not Applicable
Replprov.dll2000.80.2175.0237,56802-Dec-200508:54x86
Semexec.dll2000.80.2175.0856,06402-Dec-200508:54x86
Sp4_serv_qfe.sqlNot Applicable18,81017-Jun-200500:15Not Applicable
Sqlagent.exe2000.80.2175.0323,58401-Dec-200520:04x86
Sqldiag.exe2000.80.2175.0118,78401-Dec-200520:42x86
Sqldmo.dll2000.80.2175.04,362,24002-Dec-200508:54x86
Sqlevn70.rll2000.80.2175.045,05602-Dec-200508:54Not Applicable
Sqlfth75.dll2000.80.2175.0102,40001-Dec-200520:11x86
Sqlservr.exe2000.80.2175.09,162,75202-Dec-200508:53x86
Sqlsort.dll2000.80.2175.0589,82402-Dec-200508:54x86
Stardds.dll2000.80.2175.0176,12802-Dec-200508:54x86
Svrnetcn.dll2000.80.2175.0110,59202-Dec-200508:54x86
Ums.dll2000.80.2175.035,32802-Dec-200508:54x86
SQL Server 2000, Itanium architecture version
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
Impprov.dll2000.80.2175.0244,73602-Dec-200508:56IA-64
Mssdi98.dll8.11.50523.0758,78406-Jun-200522:46IA-64
Odsole70.dll2000.80.2175.0150,52802-Dec-200508:55IA-64
Pfclnt80.dll2000.80.2175.01,187,84002-Dec-200509:11IA-64
Replprov.dll2000.80.2175.0538,62402-Dec-200509:01IA-64
Sqlagent.exe2000.80.2175.01,061,37602-Dec-200509:11IA-64
Sqldiag.exe2000.80.2175.0334,33602-Dec-200509:12IA-64
Sqldmo.dll2000.80.2175.013,860,35202-Dec-200509:16IA-64
Sqlfth75.dll2000.80.2175.0246,78402-Dec-200508:56IA-64
Sqlservr.exe2000.80.2175.024,930,81602-Dec-200513:00IA-64
Sqlsort.dll2000.80.2175.0617,47201-Dec-200520:03IA-64
Svrnetcn.dll2000.80.2175.0427,52002-Dec-200509:08IA-64
Sqlevn70.rll2000.80.2175.035,32802-Dec-200513:01Not Applicable
Note Because of file dependencies, the most recent hotfix that contains these files may also contain additional files.

WORKAROUND

To work around this problem you may use the SQL Profiler to manually open the trace file and export the file to a table.

STATUS

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

When fn_trace_getttable raises the error it indicates that the file is corrupt. This code change does nothing to prevent creation of corrupt trace files nor does it attempt to continue after detecting a file corruption. Instead, it changes the behavior of the fn_trace_gettable reader when it encounters the corrupt data. Instead of raising a severity 16 error when this condition is detected it instead returns a severity 10 information message and stops reading the trace file at that point. By returning an informational message instead of an error it prevents termination of the INSERT/SELECT INTO transaction so that whatever rows were read prior to encountering the corrupt trace event can be imported.

Notes 
  • To enable this hotfix, you must turn on a 1903 trace flag.
  • After you apply this hotfix, you can successfully import trace files into tables. However, you will continue to receive the error message.
For more information about the naming schema for Microsoft SQL Server updates, click the following article number to view the article in the Microsoft Knowledge Base:
822499 New naming schema for Microsoft SQL Server software update packages
For more information about the terminology that Microsoft uses when it corrects software after the software is released, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates

Stack information

* 009BA08C Module(sqlservr+005BA08C) (CStackDump::GetContextAndDump+0000002F Line 1973+00000002) 
* 009BA9B5 Module(sqlservr+005BA9B5) (stackTrace+0000029A Line 4366+00000013) 
* 006EE757 Module(sqlservr+002EE757) (ex_raise2+00000178 Line 1034+0000001F) 
* 005FA686 Module(sqlservr+001FA686) (ex_raise+00000063 Line 1209+00000014) 
* 007D568A Module(sqlservr+003D568A) (CRowsetTraceTable::FGetNextRow+000003CE Line 6233+00000015) 
* 00A92275 Module(sqlservr+00692275) (CUtRowset::GetNextRows+0000006F Line 1401+00000008) 
* 0060ECB0 Module(sqlservr+0020ECB0) (CQScanRmtScan::GetRow+000001F2 Line 1288+00000016) 
* 00869FDB Module(sqlservr+00469FDB) (CQScanProject::GetRow+0000001A Line 175+00000000) 
* 0040FF15 Module(sqlservr+0000FF15) (CQScanTop::GetRow+000000DA Line 292+FFDBA619) 
* 0044BAB0 Module(sqlservr+0004BAB0) (CQScanUpdate::GetRow+0000014C Line 622+0000000C) 
* 0040C369 Module(sqlservr+0000C369) (CQueryScan::GetRow+00000078 Line 4386+00000000) 
* 0040C2ED Module(sqlservr+0000C2ED) (CStmtQuery::ErsqExecuteQuery+0000068F Line 955+0000000D) 
* 004168CF Module(sqlservr+000168CF) (CStmtDML::XretExecuteNormal+00000391 Line 1970+00000014) 
* 00415D04 Module(sqlservr+00015D04) (CMsqlExecContext::ExecuteStmts+00000446 Line 1593+0000000B) 
* 00416214 Module(sqlservr+00016214) (CMsqlExecContext::Execute+00000255 Line 1239+0000000B)

Properties

Article ID: 911678 - Last Review: October 9, 2011 - Revision: 3.0
APPLIES TO
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
Keywords: 
kbautohotfix kbbug kbfix kbhotfixserver kbqfe KB911678

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com