Select the product you need help with
- Internet Explorer
- Windows Phone
- More products
FIX: The restore process may take longer to complete when SQL Server 2000 restores transaction log files as part of the log shipping process
Article ID: 873482 - View products that this article applies to.
Bug #: 470244 (SQL Server 8.0)
This article describes the following about this hotfix release:
When 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:
(http://support.microsoft.com/kb/290211/ )How to obtain the most recent SQL Server 2000 service pack
(http://support.microsoft.com/kb/290211/ )How to obtain the latest SQL Server 2000 service pack
(http://support.microsoft.com/kb/290211/ )How to obtain the most recent SQL Server 2000 Service Pack
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.
Microsoft 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.
The 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 524288 -BufferCount 2
The 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:
(http://support.microsoft.com/kb/834451/ )FIX: Restoring transaction log files takes longer than expected in SQL Server 2000
For optimal performance, we recommend that you manually shrink the transaction log files instead of letting Microsoft SQL Server 2000 automatically shrink the transaction log files. Additionally, you must set the file growth increment size or the file growth increment percentage to a reasonable size to prevent the transaction log file from growing by too small a value.
For more information, visit the following Microsoft Web site:
However, note that the BufferCount parameter can be used only when you restore your SQL Server database. When you restore your SQL Server log, the log restore process disregards the value and it considers the default buffer count to be 3, even though you set the value of the BufferCount parameter to a value other than the default value.
Note The expression (BufferCount * MaxTransferSize) evaluates to the memory size that is fetched to the data cache. Therefore, maximizing these values may not always be a good solution. Make sure that you work with a reasonable memory goal.
For additional information about the naming schema for Microsoft SQL Server updates, click the following article number to view the article in the Microsoft Knowledge Base:
822499For additional information about the terminology that Microsoft uses when correcting software after it is released, click the following article number to view the article in the Microsoft Knowledge Base:
(http://support.microsoft.com/kb/822499/ )New naming schema for Microsoft SQL Server software update packages
(http://support.microsoft.com/kb/824684/ )Description of the standard terminology that is used to describe Microsoft software updates
Article ID: 873482 - Last Review: November 2, 2007 - Revision: 3.4