Назад | Перейти на главную страницу

SqlServer2005, восстановление намного медленнее, чем резервное копирование - этого и следовало ожидать?

Мое резервное копирование / восстановление было вялым (другая история), но, глядя на продолжительность резервного копирования и восстановления, я вижу, что резервное копирование завершается за несколько секунд, а восстановление завершается за МИНУТЫ. Для меня это сюрприз - есть предложения? Все комментарии приветствуются!

Андерс, Дания

Настройка выглядит следующим образом: я создаю резервную копию «производственной» базы данных в файл на локальном жестком диске, а затем восстанавливаю резервную копию в «тестовой» и «unittest» базах данных соответственно.

Скрипт резервного копирования / восстановления:

    BACKUP DATABASE [Onsdagspool.Prod] TO  
        DISK = N'C:\_UnderBackup\DataBackup\Onsdagspool.Prod.bak' 
        WITH NOFORMAT, INIT,  
        NAME = N'Onsdagspool.Prod-Full Database Backup', 
        SKIP, NOREWIND, NOUNLOAD,  STATS = 10

    RESTORE DATABASE [Onsdagspool.Test] FROM  
        DISK = N'C:\_UnderBackup\DataBackup\Onsdagspool.Prod.bak' 
        WITH  FILE = 1,  NOUNLOAD,  REPLACE,  STATS = 10
    RESTORE DATABASE [Onsdagspool.UnitTest] FROM  
        DISK = N'C:\_UnderBackup\DataBackup\Onsdagspool.Prod.bak' 
        WITH  FILE = 1,  NOUNLOAD,  REPLACE,  STATS = 10

Ниже результат процесса резервного копирования / восстановления:

    Processed 4056 pages for database 'Onsdagspool.Prod', file 'ASPNETDB_8406dd98c17
    54e1881b70937978ae08c_DAT' on file 1.
    100 percent processed.
    Processed 2 pages for database 'Onsdagspool.Prod', file 'ASPNETDB_TMP_log' on fi
    le 1.
    BACKUP DATABASE successfully processed 4058 pages in 3.266 seconds (10.176 MB/se
    c).
    10 percent processed.
    20 percent processed.
    30 percent processed.
    40 percent processed.
    50 percent processed.
    60 percent processed.
    70 percent processed.
    80 percent processed.
    90 percent processed.
    100 percent processed.
    Processed 4056 pages for database 'Onsdagspool.Test', file 'ASPNETDB_8406dd98c17
    54e1881b70937978ae08c_DAT' on file 1.
    Processed 2 pages for database 'Onsdagspool.Test', file 'ASPNETDB_TMP_log' on fi
    le 1.
    RESTORE DATABASE successfully processed 4058 pages in 240.773 seconds (0.138 MB/
    sec).
    10 percent processed.
    20 percent processed.
    30 percent processed.
    40 percent processed.
    50 percent processed.
    60 percent processed.
    70 percent processed.
    80 percent processed.
    90 percent processed.
    100 percent processed.
    Processed 4056 pages for database 'Onsdagspool.UnitTest', file 'ASPNETDB_8406dd9
    8c1754e1881b70937978ae08c_DAT' on file 1.
    Processed 2 pages for database 'Onsdagspool.UnitTest', file 'ASPNETDB_TMP_log' o
    n file 1.
    RESTORE DATABASE successfully processed 4058 pages in 240.656 seconds (0.138 MB/
    sec).

Если вы используете SQL2005 или выше и ваша операция восстановления включает создание базы данных, убедитесь, что вы включили Мгновенная инициализация файла который "позволяет запросам на размещение файлов пропускать нулевую инициализацию при создании. В результате запросы на размещение файлов могут выполняться мгновенно - независимо от размера файла.". Это означает, что вы можете выполнять быстрое восстановление. Проверьте этот блог для подробного объяснения.

Да. Резервное копирование - это просто операция копирования байтов (копирование из файлов MDF / NDF / LDF в файл BAK). Восстановление аналогично копированию в другом направлении (из BAK в соответствующие файлы MDF / NDF / LDF) плюс работает рекавери. Запуск восстановления зависит от размера обрабатываемого журнала и является относительно медленным. И в качестве бонуса восстановить мощь необходимо изменить размер файлов базы данных и инициализировать их 0, что может потребовать много времени. Итак, вот оно, восстановление будет всегда быть медленнее, чем соответствующая резервная копия (различия в оборудовании и т. д.).

Ожидается. Предполагается, что резервное копирование является редким сценарием сбоя, восстановление - это обычная операция.

Плюс. восстанавливает на самом деле больше работает;)