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

Extended support for SQL Server 2005 ended on April 12, 2016

If you are still running SQL Server 2005, you will no longer receive security updates and technical support. We recommend upgrading to SQL Server 2014 and Azure SQL Database to achieve breakthrough performance, maintain security and compliance, and optimize your data platform infrastructure. Learn more about the options for upgrading from SQL Server 2005 to a supported version here.

This article has been archived. It is offered "as is" and will no longer be updated.
Bug #: 474780 (SQL Server 8.0)
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.
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
This problem may occur because you try to load a trace file that is damaged.
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: 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.


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
File nameFile versionFile sizeDateTimePlatform
Procsyst.sqlNot Applicable552,06817-Jun-200500:15Not Applicable
Sp4_serv_qfe.sqlNot Applicable18,81017-Jun-200500:15Not Applicable
Sqlevn70.rll2000.80.2175.045,05602-Dec-200508:54Not Applicable
SQL Server 2000, Itanium architecture version
File nameFile versionFile sizeDateTimePlatform
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.
To work around this problem you may use the SQL Profiler to manually open the trace file and export the file to a table.
Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.
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.

  • 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)

Article ID: 911678 - Last Review: 01/17/2015 12:40:09 - Revision: 3.0

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

  • kbnosurvey kbarchive kbautohotfix kbbug kbfix kbhotfixserver kbqfe KB911678
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)