Microsoft KB Archive/886708

= FIX: Inserting lots of text, ntext, or image data over multiple concurrent connections takes a long time in SQL Server 2000 =

Article ID: 886708

Article Last Modified on 11/2/2007

-

APPLIES TO


 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Standard Edition
 * Microsoft SQL Server 2000 Enterprise Edition
 * Microsoft SQL Server 2000 Personal Edition
 * Microsoft SQL Server 2000 Enterprise Edition
 * Microsoft SQL Server 2000 Workgroup Edition
 * Microsoft SQL Server 2000 Desktop Engine (Windows)
 * Microsoft SQL Server 2000 Developer Edition
 * Microsoft SQL Server 2000 Enterprise Edition 64-bit

-



Bug #: 472729 (SQL Server 8.0)



Article contents
 Summary Symptoms Cause Resolution 

Hotfix information

 

Prerequisites

 

Restart information

</li> 

Hotfix file information

</li> Status</li> More Information</li></ul>

<div class="summary_section">

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
 * Whether you must restart your computer after you install the hotfix package
 * Whether the hotfix package is replaced by any other hotfix package
 * Whether you must make any registry changes
 * The files that are contained in the hotfix package

back to the top

<div class="symptoms_section">

SYMPTOMS
In Microsoft SQL Server 2000, when you insert lots of text, ntext, or image data over multiple concurrent connections, the data may take longer to insert than in scenarios where the data is inserted serially.

When the concurrent inserts occur, the sysprocesses virtual table may display one of the following values in the waittype column for the connections that perform the inserts:
 * 0x0413 (PAGELATCH_UP)
 * 0x0414 (PAGELATCH_EX)

The value of the waitresource column for the PAGELATCH_UP waittype is a page number that is always an even multiple of 8088.

For a list of all publicly released SQL Server 2000 Post-Service Pack 3a hotfixes, see the following article in the Microsoft Knowledge Base:

810185 SQL Server 2000 hotfix update for SQL Server 2000 Service Pack 3 and 3a

back to the top

<div class="cause_section">

CAUSE
This problem occurs when the binary large object (BLOB) data is inserted over concurrent connections.

Text, ntext, and image data is stored in chunks. These chunks are linked and form the sequence of the binary data for a specific row in SQL Server 2000. These chunks of data can be one of the following:
 * Full pages, where all the data on the page is associated with a single row.
 * A mixed page that stores fragments from multiple rows.

When full pages are allocated, delay may occur between allocating the page and marking the page as full. This delay may cause other concurrent insertions to examine the page to see if there is available space for that insert.

When you insert the data over a concurrent connection, the sysprocesses virtual table may indicate that the connection that is trying the insert has a waittype of either of the following values for the PAGELATCH_UP and PAGELATCH_EX waittypes.
 * 0x0413 (PAGELATCH_UP)
 * 0x0414 (PAGELATCH_EX)

With a concurrent connection, an incoming thread for an insert tries to latch the page PAGELATCH_EX. However, the thread is blocked. Then, the insert waits for the thread that is currently inserting onto the page. Only when the first insert is complete can the second insert find that the page is full and does not have space that is available for the second insert. When this scenario occurs, the second insert is returned to the allocation code to look for another page to insert on. These additional trips to the allocation code cause the delay in inserting data to SQL Server 2000 over concurrent connections.

back to the top

<div class="resolution_section">

Service pack information
To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 How to obtain the latest SQL Server 2000 service pack

Prerequisites
This hotfix requires SQL Server 2000 Service Pack 3 (SP3). For more information about how to obtain SQL Server 2000 Service Pack 3, click the following article number to view the article in the Microsoft Knowledge Base:

290211 How to obtain the latest SQL Server 2000 service pack

Additionally, this hotfix requires that you also have SQL Server 2000 hotfix build 2000.80.977 installed. For more information about SQL Server 2000 Post SP3a hotfix build 2000.80.977, click the following article number to view the article in the Microsoft Knowledge Base:

888007 You receive a &quot;The product does not have a prerequisite update installed&quot; error message when you try to install a SQL Server 2000 post-Service Pack 3 hotfix

back to the top

Restart information
You do not have to restart your computer after you apply this hotfix.

back to the top

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
<pre class="fixed_text">  Date         Time   Version        Size       File name --  08-Oct-2004  01:13  2000.80.980.0    664,128  Autoplt.dll 08-Oct-2004 01:13  2000.80.980.0     78,400  Console.exe 08-Oct-2004 01:13  2000.80.980.0    332,352  Ctasksui.dll 08-Oct-2004 01:13  2000.80.980.0    315,968  Custtask.dll 08-Oct-2004 01:13  2000.80.980.0     33,340  Dbmslpcn.dll 08-Apr-2004 21:42                   786,432  Distmdl.ldf 08-Apr-2004 21:42                 2,359,296  Distmdl.mdf 30-Sep-2003 22:55                       180  Drop_repl_hotfix.sql 08-Oct-2004 01:13  2000.80.980.0  1,905,216  Dtspkg.dll 08-Oct-2004 01:13  2000.80.980.0    528,960  Dtspump.dll 08-Oct-2004 01:13  2000.80.980.0  1,557,052  Dtsui.dll 08-Oct-2004 01:13  2000.80.980.0    639,552  Dtswiz.dll 30-Sep-2003 22:55                   747,927  Instdist.sql 30-Sep-2003 22:55                     1,581  Inst_repl_hotfix.sql 08-Oct-2004 01:13  2000.80.980.0    352,828  Isqlw.exe 08-Oct-2004 01:13  2000.80.980.0     82,492  Itwiz.exe 08-Oct-2004 01:13  2000.80.980.0     90,692  Msgprox.dll 19-May-2004 23:43  8.11.40209.0     209,408  Mssdi98.dll 08-Oct-2004 01:13  2000.80.980.0     62,024  Odsole70.dll 08-Oct-2004 01:14  2000.80.980.0     25,144  Opends60.dll 08-Oct-2004 01:13  2000.80.980.0     57,904  Osql.exe 08-Oct-2004 01:13  2000.80.980.0    279,104  Pfutil80.dll 30-Sep-2003 22:48                   550,780  Procsyst.sql 08-Apr-2004 21:42                    12,305  Qfe469315.sql 08-Apr-2004 21:42                    19,195  Qfe469571.sql 27-Aug-2004 00:13                     5,157  Qfe472197.sql 08-Oct-2004 01:13  2000.80.980.0    143,940  Qrdrsvc.exe 30-Sep-2004 16:25                 1,105,167  Replmerg.sql 08-Oct-2004 01:13  2000.80.980.0    221,768  Replprov.dll 08-Oct-2004 01:13  2000.80.980.0    307,784  Replrec.dll 30-Sep-2004 01:51  2000.80.980.0    159,813  Replres.rll 27-Aug-2004 00:13                 1,086,925  Replsys.sql 30-Sep-2003 22:55                   986,603  Repltran.sql 08-Oct-2004 01:13  2000.80.980.0    287,304  Rinitcom.dll 08-Oct-2004 01:13  2000.80.980.0     78,416  Sdiclnt.dll 08-Oct-2004 01:13  2000.80.980.0     66,112  Semmap.dll 08-Oct-2004 01:13  2000.80.980.0     57,916  Semnt.dll 08-Oct-2004 01:13  2000.80.980.0    492,096  Semobj.dll 30-Sep-2004 02:20  2000.80.980.0    172,032  Semobj.rll 08-Oct-2004 01:13  2000.80.980.0     53,832  Snapshot.exe 30-Sep-2003 22:48                   117,834  Sp3_serv_uni.sql 08-Oct-2004 01:12  2000.80.980.0     28,672  Sqlagent.dll 08-Oct-2004 01:13  2000.80.980.0    311,872  Sqlagent.exe 08-Oct-2004 01:12  2000.80.980.0    168,001  Sqlakw32.dll 08-Oct-2004 01:13  2000.80.980.0     33,344  Sqlctr80.dll 08-Oct-2004 01:13  2000.80.980.0  4,215,360  Sqldmo.dll 08-Oct-2004 01:13                    25,172  Sqldumper.exe 30-Sep-2004 01:34  2000.80.980.0     28,672  Sqlevn70.rll 08-Oct-2004 01:13  2000.80.980.0    156,224  Sqlmaint.exe 08-Oct-2004 01:13  2000.80.980.0    180,792  Sqlmap70.dll 08-Oct-2004 01:13  2000.80.980.0    188,992  Sqlmmc.dll 30-Sep-2004 02:34  2000.80.980.0    479,232  Sqlmmc.rll 08-Oct-2004 01:13  2000.80.980.0    401,984  Sqlqry.dll 08-Oct-2004 01:13  2000.80.980.0     57,920  Sqlrepss.dll 08-Oct-2004 01:13  2000.80.980.0  7,712,849  Sqlservr.exe 08-Oct-2004 01:13  2000.80.980.0    590,396  Sqlsort.dll 08-Oct-2004 01:13  2000.80.980.0     45,644  Sqlvdi.dll 08-Oct-2004 01:13  2000.80.980.0    106,588  Sqsrvres.dll 08-Oct-2004 01:13  2000.80.980.0     33,340  Ssmsgnet.dll 08-Oct-2004 01:13  2000.80.980.0     33,340  Ssmslpcn.dll 08-Oct-2004 01:13  2000.80.980.0     33,340  Ssmsqlgc.dll 08-Oct-2004 01:13  2000.80.980.0     82,492  Ssnetlib.dll 08-Oct-2004 01:13  2000.80.980.0     25,148  Ssnmpn70.dll 08-Oct-2004 01:13  2000.80.980.0    123,456  Stardds.dll 08-Oct-2004 01:13  2000.80.980.0    158,240  Svrnetcn.dll 08-Oct-2004 01:13  2000.80.980.0     76,416  Svrnetcn.exe 08-Oct-2004 01:13  2000.80.980.0     49,228  Ums.dll 08-Oct-2004 01:13  2000.80.980.0     74,304  Xplog70.dll 08-Oct-2004 01:13  2000.80.980.0     98,872  Xpweb70.dll

SQL Server 2000, 64-bit version
<pre class="fixed_text">  Date         Time   Version        Size        File name             Platform -  01-Oct-2004  02:28  2000.80.980.0      56,832  Dbmslpcn.dll          IA-64 08-Apr-2004 21:42                    786,432  Distmdl.ldf 08-Apr-2004 21:42                  2,359,296  Distmdl.mdf 30-Sep-2003 22:55                        180  Drop_repl_hotfix.sql 30-Sep-2003 22:55                    747,927  Instdist.sql 30-Sep-2003 22:55                      1,581  Inst_repl_hotfix.sql 01-Oct-2004 02:28  2000.80.980.0     185,856  Msgprox.dll           IA-64 19-May-2004 23:43  8.11.40517.0      722,944  Mssdi98.dll           IA-64 01-Oct-2004 02:28  2000.80.980.0     151,040  Odsole70.dll          IA-64 01-Oct-2004 02:29  2000.80.980.0      27,136  Opends60.dll          IA-64 01-Oct-2004 02:28  2000.80.980.0     148,992  Osql.exe              IA-64 30-Sep-2003 22:48                    550,780  Procsyst.sql 08-Apr-2004 21:42                     12,305  Qfe469315.sql 08-Apr-2004 21:42                     19,195  Qfe469571.sql 27-Aug-2004 00:13                      5,157  Qfe472197.sql 01-Oct-2004 02:28  2000.80.980.0     353,280  Qrdrsvc.exe           IA-64 30-Sep-2004 16:25                  1,105,167  Replmerg.sql 01-Oct-2004 02:28  2000.80.980.0     534,528  Replprov.dll          IA-64 01-Oct-2004 02:28  2000.80.980.0     769,024  Replrec.dll           IA-64 30-Sep-2004 16:26  2000.80.980.0     146,432  Replres.rll 27-Aug-2004 00:13                  1,086,925  Replsys.sql 30-Sep-2003 22:55                    986,603  Repltran.sql 01-Oct-2004 02:28  2000.80.980.0     650,240  Rinitcom.dll          IA-64 01-Oct-2004 02:28  2000.80.980.0     160,768  Semmap.dll            IA-64 01-Oct-2004 02:28  2000.80.980.0     132,608  Semnt.dll             IA-64 01-Oct-2004 02:28  2000.80.980.0      88,576  Snapshot.exe          IA-64 30-Sep-2003 22:48                    117,834  Sp3_serv_uni.sql 01-Oct-2004 02:27  2000.80.980.0      10,240  Sqlagent.dll          IA-64 01-Oct-2004 02:28  2000.80.980.0   1,055,232  Sqlagent.exe          IA-64 01-Oct-2004 02:28  2000.80.980.0      90,112  Sqlboot.dll           IA-64 01-Oct-2004 02:28  2000.80.980.0      32,256  Sqlctr80.dll          IA-64 01-Oct-2004 02:28  2000.80.980.0  13,845,504  Sqldmo.dll            IA-64 01-Oct-2004 02:28                     39,936  Sqldumper.exe         IA-64 30-Sep-2004 16:15  2000.80.980.0      19,968  Sqlevn70.rll 01-Oct-2004 02:28  2000.80.980.0     493,568  Sqlmaint.exe          IA-64 01-Oct-2004 02:28  2000.80.980.0      23,040  Sqlmap70.dll          IA-64 01-Oct-2004 02:28  2000.80.980.0     152,064  Sqlrepss.dll          IA-64 01-Oct-2004 02:28  2000.80.980.0  25,205,760  Sqlservr.exe          IA-64 01-Oct-2004 02:28  2000.80.980.0     616,960  Sqlsort.dll           IA-64 01-Oct-2004 02:28  2000.80.980.0     120,320  Sqlvdi.dll            IA-64 01-Oct-2004 02:28  2000.80.980.0     227,328  Sqsrvres.dll          IA-64 01-Oct-2004 02:28  2000.80.980.0      53,760  Ssmslpcn.dll          IA-64 01-Oct-2004 02:28  2000.80.980.0      59,904  Ssmsqlgc.dll          IA-64 01-Oct-2004 02:28  2000.80.980.0     255,488  Ssnetlib.dll          IA-64 01-Oct-2004 02:28  2000.80.980.0      20,992  Ssnmpn70.dll          IA-64 01-Oct-2004 02:28  2000.80.980.0     430,080  Svrnetcn.dll          IA-64 01-Oct-2004 02:28  2000.80.980.0     185,856  Svrnetcn.exe          IA-64 01-Oct-2004 02:28  2000.80.980.0     183,296  Xplog70.dll           IA-64 01-Oct-2004 02:28  2000.80.980.0     187,392  Xpweb70.dll           IA-64 Note Because of file dependencies, the most recent hotfix that contains these files may also contain additional files.back to the top

<div class="status_section">

STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the &quot;Applies to&quot; section.

This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.

back to the top

<div class="moreinformation_section">

MORE INFORMATION
For more information about the naming schema for 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 it 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

back to the top

Additional query words: SQL2000 PFS text insert contention latch timeouts

Keywords: kbbug kbfix kbqfe kbsqlserv2000presp4fix kbhotfixserver KB886708

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.