Мне нужна была точная копия базы данных под другим именем. Я выбираю клонирование базы данных 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) базу данных и начать заново.
Что вы хотите сделать, так это удалить все это и выполнить следующие действия:
Создайте полную резервную копию своей базы данных, убедитесь, что вы отметили «проверить после резервного копирования», чтобы убедиться, что BAK в порядке. Назовите его ORIGINAL.BAK. Запомните его местонахождение. (вы также можете использовать «T-SQL»)
РЕЗЕРВНОЕ КОПИРОВАНИЕ БАЗЫ «YourDBName» НА ДИСК = «C: \ ORIGINAL.BAK»; // или похожие
Теперь вернитесь в Management Studio, щелкните базы данных правой кнопкой мыши и выберите «Восстановить базу данных…»
В появившемся диалоговом окне Назначение восстановления: В базу данных: MyNewDatabase.
в Источник для восстановления, выберите «С устройства» и нажмите кнопку […].
Новое всплывающее окно (что со всплывающими окнами, Microsoft?). Оставьте резервную копию как «Файл», но нажмите Добавить кнопку и найдите свой ORIGINAL.BAK. Если вы выполняли резервное копирование с помощью Management Studio, вы, вероятно, будете в том же месте. Выберите его и нажмите ОК. Тогда снова ОК.
Вернувшись к первому экрану восстановления, установите флажок (Восстановление) в поле с надписью: «Выберите наборы резервных копий для восстановления» (ваша БД должна быть указана там). Пока не нажимайте ОК!
Теперь слева от этого всплывающего окна есть список, в котором говорится: Выберите страницу. И две «страницы»: Общие и Параметры. Нажмите на Параметры.
Щелкните Перезаписать существующую базу данных.
В разделе «Восстановить файлы базы данных как» убедитесь, что файлы .mdf и .ldf не конфликтуют с другими. При желании вы можете изменить его местоположение.
Щелкните ОК. Ваша база данных 20 МБ должна быть восстановлена менее чем за 10 секунд.
Что, если это не сработает?
В редких случаях вы можете столкнуться с проблемами. Обычно это плохой знак, и вам следует запустить DBCC CHECKDB (прочтите файлы справки для получения дополнительной информации об этом), чтобы убедиться, что ваша основная база данных в порядке.
Вы также можете попробовать «прикрепить» БД напрямую:
нота: если это не сработает, вы можете сначала УБИРАТЬ исходную БД. Выполните 4 шага и затем ПЕРЕИМЕНОВАНИЕ базы данных. Затем перейдите к повторному подключению ОРИГИНАЛЬНОЙ БД.
Надеюсь это поможет.
Другой вариант - сделать снимок базы данных. Это будет мгновенно, но предоставит только статическую копию базы данных, доступную только для чтения (обычно используется для отчетов).
Доступно только в версии Enterprise.