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

Клонирование базы данных SQL с помощью резервного копирования и восстановления: «Восстановление…» занимает много времени

Мне нужна была точная копия базы данных под другим именем. Я выбираю клонирование базы данных SQL через Backup-Restore, используя SQL Mgt Studio 2008. Во-первых, при восстановлении базы данных; Я получил ошибку

SqlError: The backup set holds a backup of a database other than the existing 'Pro_SSRS' database. (Microsoft.SqlServer.Smo)

Затем я обнаружил, что мне нужно выбрать вариант «Перезаписать существующую базу данных», который можно увидеть на разных сайтах, например здесь: http://www.nikhedonia.com/notebook/entry/solving-the-sql-server-restoring-database-error/

Теперь рядом с именем моей базы данных я вижу «(восстановление ...)» и это уже полчаса. Я даже не могу просмотреть свойства базы данных, в большинстве опций указано «недоступно».

Кто-нибудь может объяснить? Или это нормально? (База вроде 20МБ ..) Заранее спасибо!

Ваша проблема в том, что вам нужно указать новое расположение файла для всех файлов данных при восстановлении с новым именем базы данных. Если вы сделаете это в T-SQL, это называется WITH MOVE. Нет смысла восстанавливать базу данных с другим именем в то же место. Вам нужно будет указать новое местоположение / имя для файлов.

похоже, что ваша база данных могла выйти из строя на полпути восстановления. Взгляните на монитор активности, чтобы увидеть, есть ли какие-либо ВОССТАНОВЛЕНИЯ (или системные процессы), которых, вероятно, нет. В этом случае вы сможете удалить (DROP) базу данных и начать заново.

Что вы хотите сделать, так это удалить все это и выполнить следующие действия:

  1. Создайте полную резервную копию своей базы данных, убедитесь, что вы отметили «проверить после резервного копирования», чтобы убедиться, что BAK в порядке. Назовите его ORIGINAL.BAK. Запомните его местонахождение. (вы также можете использовать «T-SQL»)

    РЕЗЕРВНОЕ КОПИРОВАНИЕ БАЗЫ «YourDBName» НА ДИСК = «C: \ ORIGINAL.BAK»; // или похожие

  2. Теперь вернитесь в Management Studio, щелкните базы данных правой кнопкой мыши и выберите «Восстановить базу данных…»

  3. В появившемся диалоговом окне Назначение восстановления: В базу данных: MyNewDatabase.

  4. в Источник для восстановления, выберите «С устройства» и нажмите кнопку […].

  5. Новое всплывающее окно (что со всплывающими окнами, Microsoft?). Оставьте резервную копию как «Файл», но нажмите Добавить кнопку и найдите свой ORIGINAL.BAK. Если вы выполняли резервное копирование с помощью Management Studio, вы, вероятно, будете в том же месте. Выберите его и нажмите ОК. Тогда снова ОК.

  6. Вернувшись к первому экрану восстановления, установите флажок (Восстановление) в поле с надписью: «Выберите наборы резервных копий для восстановления» (ваша БД должна быть указана там). Пока не нажимайте ОК!

  7. Теперь слева от этого всплывающего окна есть список, в котором говорится: Выберите страницу. И две «страницы»: Общие и Параметры. Нажмите на Параметры.

  8. Щелкните Перезаписать существующую базу данных.

  9. В разделе «Восстановить файлы базы данных как» убедитесь, что файлы .mdf и .ldf не конфликтуют с другими. При желании вы можете изменить его местоположение.

  10. Щелкните ОК. Ваша база данных 20 МБ должна быть восстановлена ​​менее чем за 10 секунд.

Что, если это не сработает?

В редких случаях вы можете столкнуться с проблемами. Обычно это плохой знак, и вам следует запустить DBCC CHECKDB (прочтите файлы справки для получения дополнительной информации об этом), чтобы убедиться, что ваша основная база данных в порядке.

Вы также можете попробовать «прикрепить» БД напрямую:

  1. Приостановите SQL Server (чтобы убедиться, что никто не использует БД, не знаю, если необходимо, но…)
  2. Щелкните правой кнопкой мыши "Базы данных" (в Management STudio) и выберите "Присоединить", затем "Добавить".
  3. Найдите .MDF базы данных, которую вы хотите продублировать, нажмите «ОК», а теперь в разделе «Сведения о базе данных» (под кнопкой добавления) проверьте и измените текущий путь к файлу и / или переименуйте .MDF и .LDF (это может быть t быть таким же, как и другая БД).
  4. Щелкните ОК.

нота: если это не сработает, вы можете сначала УБИРАТЬ исходную БД. Выполните 4 шага и затем ПЕРЕИМЕНОВАНИЕ базы данных. Затем перейдите к повторному подключению ОРИГИНАЛЬНОЙ БД.

Надеюсь это поможет.

Другой вариант - сделать снимок базы данных. Это будет мгновенно, но предоставит только статическую копию базы данных, доступную только для чтения (обычно используется для отчетов).

Доступно только в версии Enterprise.

http://msdn.microsoft.com/en-us/library/ms175158.aspx