Quick Tip – Speed a Slow Restore from the Transaction Log

Here’s a quick tip for you:

During some restore operations on Microsoft SQL Server, the transaction log redo step might be taking an unusually long time.  Depending somewhat on the version and edition of SQL Server you’ve installed, you may be able to increase performance by tinkering with the readahead performance for the redo operations.  To do this, you should use the MAXTRANSFERSIZE parameter of the RESTORE statement.  For example, if you set MAXTRANSFERSIZE=1048576, it’ll use 1MB buffers.

If you change the MAXTRANSFERSIZE, keep an eye on the PerfMon objects for Buffer Manager and Readahead IO.  You may also wish to keep an eye on LOGBUFFER wait stats.
I’d love to hear your feedback.  Have you tried this technique?  Did it work as advertised?  Did it require some changes to work on a specific version or edition?
Many thanks,
-Kev

Comments

  1. Please how logbuffer and maxtransfersize is related

  2. Hi Manish, I suggest you look into https://dba.stackexchange.com for technical questions and discussion forums about SQL Server.

    If you want to ask questions and are also a Twitter user, then tweet your question with the #sqlhelp hash tag. You will typically get a high-quality answer within a few minutes. Hope that helps,

    -Kevin

Speak Your Mind

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.