FIX: Create Index Fails on SQL Server 7.0 When Trace Flag 1118 is Enabled

This article has been archived. It is offered "as is" and will no longer be updated.

BUG #: 103062 (SQLBUG_70)
Creating an index on a permanent table fails, and you receive the following assertion on SQL Server 7.0, when
SQL Server trace flag 1118 is enabled:
2003-01-20 14:05:45.23 kernel SQL Server Assertion: File: <"sortext.c">, line=867
Failed Assertion = 'allocReqType != FirstPageAllocation || sortdesP->soMixedPage'.
2003-01-20 14:05:45.24 spid7 Error: 3624, Severity: 20, State: 1.
You might also experience this problem while creating a primary key constraint, or when you run the
DBCC DBREINDEX command against a permanent table. You will not experience this problem with temporary tables.
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. The English version of this fix has the file attributes (or later) 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.
   Date         Time   Version        Size             File name   -----------------------------------------------------------------------   04-Oct-2002  23:59        28,944 bytes  Dbmssocn.dll        06-Sep-2002  23:55        53,520 bytes  Distrib.exe         06-Sep-2002  23:55        98,576 bytes  Logread.exe         15-Jan-2003  23:30                     99,336 bytes  Opends60.dbg   15-Jan-2003  23:31      160,016 bytes  Opends60.dll        06-Sep-2002  23:56       250,128 bytes  Rdistcom.dll        06-Sep-2002  23:55        82,192 bytes  Replmerg.exe        06-Sep-2002  23:56        78,096 bytes  Replres.dll         17-Sep-2002  22:52                      7,941 bytes  Securityhotfix.sql   15-Jan-2003  23:31      413,696 bytes  Semsys.dll          15-Jan-2003  20:14      114,688 bytes  Semsys.rll   06-Sep-2002  23:56       160,016 bytes  Snapshot.exe        08-Feb-2003  00:49                     63,834 bytes  Sp4_serv_uni.sql   15-Jan-2003  01:33      344,064 bytes  Sqlagent.exe        06-Sep-2002  23:55        45,056 bytes  Sqlcmdss.dll        16-Feb-2003  00:52    5,062,928 bytes  Sqlservr.exe        04-Oct-2002  23:59        45,328 bytes  Ssmsso70.dll        17-Dec-2002  01:36       24,848 bytes  Ssnmpn70.dll        26-Sep-2002  20:30                     28,408 bytes  Ums.dbg   26-Sep-2002  20:27       57,616 bytes  Ums.dll             17-Sep-2002  23:00       151,552 bytes  Xpweb70.dll 				
Note: Because of file dependencies, the most recent hotfix or feature that contains the files
may also contain additional files.

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
More information
This fix introduces a change in functionality for SQL Server trace flag 1118 on SQL Server 7.0 only. When you
turn on trace flag 1118, all allocations for tables in the tempdb database will allocate full extents to the table. However,
allocations for small tables (less than 8 pages) in other databases will continue to allocate single pages
from "mixed" extents exactly as they would if the trace flag were not turned on. The behavior of
SQL Server trace flag 1118 on SQL Server 2000 remains unchanged. If SQL Server trace flag 1118
is enabled on SQL Server 2000, mixed extent allocations are disabled in all databases.

SQL Server trace flag 1118 is used to reduce allocation contention in tempdb.
For additional information about troubleshooting problems with allocation contention in tempdb, click the following article number to view the article in the Microsoft Knowledge Base:
328551 Concurrency Enhancements for the Tempdb Database

Article ID: 813492 - Last Review: 11/02/2013 00:12:00 - Revision: 3.0

  • Microsoft SQL Server 7.0 Standard Edition
  • kbnosurvey kbarchive kbautohotfix kbhotfixserver kbqfe kbsqlserv700presp5fix kbfix kbbug KB813492