FIX: The restore process may take longer to complete when SQL Server 2000 restores transaction log files as part of the log shipping process (873482)
The information in this article 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 Evaluation Edition
- Microsoft SQL Server 2000 Workgroup Edition
- Microsoft SQL Server 2000 Desktop Engine (MSDE)
- Microsoft SQL Server 2000 Developer Edition 64 bit
- Microsoft SQL Server 2000 Enterprise Edition 64-bit
Bug #: 470244 (SQL Server 8.0)
SUMMARYThis 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 topSYMPTOMSWhen the transaction log files of your database are restored by using the WITH RECOVERY option as part of the log shipping process, you may notice that Microsoft SQL Server 2000 takes longer to complete the restore operation successfully than you expect.
For a list of previous hotfixes, see the "Microsoft SQL Server 2000
post-Service Pack 3 or Microsoft SQL Server 2000 post-Service Pack 3a hotfixes" section in the following Microsoft Knowledge Base article:
290211 How to obtain the most recent SQL Server 2000 service pack
back to the topRESOLUTIONService 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
Hotfix informationPrerequisitesThis hotfix requires Microsoft SQL Server 2000 Service Pack 3
(SP3). For information about how to obtain SQL Server 2000 SP3, see the
following article in the Microsoft Knowledge Base: 290211 How to obtain the most recent SQL Server 2000 Service Pack
back to the topRestart informationYou do not have to restart your computer after you apply this hotfix. back to the topHotfix file informationThis 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.
Date Time Version Size File name
-------------------------------------------------------------------
15-Jul-2004 16:12 2000.80.961.0 664,128 Autoplt.dll
15-Jul-2004 16:27 2000.80.961.0 78,400 Console.exe
15-Jul-2004 16:44 2000.80.961.0 315,968 Custtask.dll
15-Jul-2004 16:12 2000.80.961.0 33,340 Dbmslpcn.dll
08-Apr-2004 09:12 786,432 Distmdl.ldf
08-Apr-2004 09:12 2,359,296 Distmdl.mdf
10-Oct-2003 06:18 180 Drop_repl_hotfix.sql
15-Jul-2004 16:40 2000.80.961.0 1,905,216 Dtspkg.dll
15-Jul-2004 16:37 2000.80.961.0 528,960 Dtspump.dll
15-Jul-2004 16:53 2000.80.961.0 1,557,052 Dtsui.dll
15-Jul-2004 16:52 2000.80.961.0 639,552 Dtswiz.dll
10-Oct-2003 06:18 747,927 Instdist.sql
10-Oct-2003 06:18 1,581 Inst_repl_hotfix.sql
15-Jul-2004 16:59 2000.80.961.0 352,828 Isqlw.exe
15-Jul-2004 16:53 2000.80.961.0 82,492 Itwiz.exe
15-Jul-2004 16:11 2000.80.961.0 90,692 Msgprox.dll
19-May-2004 11:13 8.11.40209.0 209,408 Mssdi98.dll
15-Jul-2004 16:14 2000.80.961.0 62,024 Odsole70.dll
15-Jul-2004 16:32 2000.80.961.0 25,144 Opends60.dll
15-Jul-2004 16:13 2000.80.961.0 57,904 Osql.exe
15-Jul-2004 16:41 2000.80.961.0 279,104 Pfutil80.dll
10-Oct-2003 06:07 550,780 Procsyst.sql
08-Apr-2004 09:12 12,305 Qfe469315.sql
08-Apr-2004 09:12 19,195 Qfe469571.sql
15-Jul-2004 17:43 1,105,167 Replmerg.sql
15-Jul-2004 16:21 2000.80.961.0 221,768 Replprov.dll
15-Jul-2004 16:23 2000.80.961.0 307,784 Replrec.dll
15-Jul-2004 16:14 2000.80.961.0 159,813 Replres.rll
10-Oct-2003 06:18 1,087,150 Replsys.sql
10-Oct-2003 06:18 986,603 Repltran.sql
15-Jul-2004 16:27 2000.80.961.0 287,304 Rinitcom.dll
15-Jul-2004 16:12 2000.80.961.0 78,416 Sdiclnt.dll
15-Jul-2004 16:01 2000.80.961.0 66,112 Semmap.dll
15-Jul-2004 16:06 2000.80.961.0 57,916 Semnt.dll
15-Jul-2004 16:50 2000.80.961.0 492,096 Semobj.dll
15-Jul-2004 16:45 2000.80.961.0 172,032 Semobj.rll
15-Jul-2004 16:20 2000.80.961.0 53,832 Snapshot.exe
13-Jul-2004 08:29 117,834 Sp3_serv_uni.sql
15-Jul-2004 16:06 2000.80.961.0 28,672 Sqlagent.dll
15-Jul-2004 16:10 2000.80.961.0 311,872 Sqlagent.exe
15-Jul-2004 16:16 2000.80.961.0 168,001 Sqlakw32.dll
15-Jul-2004 16:16 2000.80.961.0 33,344 Sqlctr80.dll
15-Jul-2004 16:52 2000.80.961.0 4,215,360 Sqldmo.dll
15-Jul-2004 16:19 25,172 Sqldumper.exe
15-Jul-2004 16:02 2000.80.961.0 28,672 Sqlevn70.rll
15-Jul-2004 16:22 2000.80.961.0 156,224 Sqlmaint.exe
15-Jul-2004 16:25 2000.80.961.0 180,792 Sqlmap70.dll
15-Jul-2004 16:50 2000.80.961.0 188,992 Sqlmmc.dll
15-Jul-2004 16:46 2000.80.961.0 479,232 Sqlmmc.rll
15-Jul-2004 16:44 2000.80.961.0 401,984 Sqlqry.dll
15-Jul-2004 16:23 2000.80.961.0 57,920 Sqlrepss.dll
15-Jul-2004 16:16 2000.80.961.0 7,512,640 Sqlservr.exe
15-Jul-2004 16:04 2000.80.961.0 590,396 Sqlsort.dll
15-Jul-2004 16:24 2000.80.961.0 45,644 Sqlvdi.dll
15-Jul-2004 16:23 2000.80.961.0 106,588 Sqsrvres.dll
15-Jul-2004 16:12 2000.80.961.0 33,340 Ssmslpcn.dll
15-Jul-2004 16:13 2000.80.961.0 82,492 Ssnetlib.dll
15-Jul-2004 16:30 2000.80.961.0 25,148 Ssnmpn70.dll
15-Jul-2004 16:25 2000.80.961.0 123,456 Stardds.dll
15-Jul-2004 16:26 2000.80.961.0 158,240 Svrnetcn.dll
15-Jul-2004 16:26 2000.80.961.0 76,416 Svrnetcn.exe
15-Jul-2004 16:30 2000.80.961.0 53,808 Ums.dll
15-Jul-2004 16:27 2000.80.961.0 98,872 Xpweb70.dll
Note Because of file dependencies, the most recent hotfix that contains these files may also contain additional files. back to the topSTATUSMicrosoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4. back to the topMORE INFORMATIONThe SQL Server Agent job that corresponds to the
log shipping process runs the xp_sqlmaint extended stored procedure that invokes the sqlmaint utility to restore the transaction log
files. The hotfix that is discussed in this article adds the following
new parameters to the sqlmaint utility to help users speed up the
restore process: - MaxTransferSize
- BufferCount
To improve the performance of the restore operation, you can modify the SQL Server Agent job step that calls the xp_sqlmaint extended stored procedure. Include the MaxTransferSize and the BufferCount parameters as the input parameters for the extended stored procedure. A command line that specifys a 512 KB transfer size with 2 buffers appears as follows: -MaxTransferSize 524288 -BufferCount 2 Factors that affect the speed of the restore processSeveral factors can affect the speed of the restore
process. You must consider the following factors when you are evaluating the performance of the restore process: - The memory blocks that are fetched in the data cache.
- The Virtual log file size.
- The parallel query processing operations.
More information about each of these factors follows. The memory blocks that are fetched in the data cacheThe data pages that correspond to your database are not in
the SQL Server data cache at the time that you initiate the restore process. The restore process uses the read-ahead feature to issue the asynchronous I/O. Therefore, the required data pages are fetched from the memory to the data cache
in advance. The data pages are fetched from the memory to the data cache in memory blocks. By using the
MaxTransferSize parameter of the sqlmaint utility, you can adjust the size
of the memory block that is fetched from the memory to the data cache during the restore
operation. The maximum value that can be set for the MaxTransferSize parameter
is 4,194,304. Therefore, the maximum size of the memory block that can be
fetched from the memory to the data cache is 4 MB. Note The value that is set for the MaxTransferSize parameter must be a power of 2, and the value must be between 64 KB and 4 MB, specified in bytes. The more the data is
available to SQL Server for processing during the restore process, the more speed the restore process will have. By using the MaxTransferSize
parameter, you can increase the buffer size that can be fetched from the memory to
the data cache by the read ahead operation. This will help improve the performance of the
restore process.
For more information about how to improve
the capabilities of the read ahead features, click the following article number to view the article in the Microsoft Knowledge Base:
834451
FIX: Restoring transaction log files takes longer than expected in SQL Server 2000
Modification Type: | Minor | Last Reviewed: | 6/1/2006 |
---|
Keywords: | kbPerformance kbCaching kbbug kbfix kbSQLServ2000preSP4fix kbHotfixServer kbQFE KB873482 kbAudDeveloper |
---|
|