У меня есть база данных A. В ней есть некоторые данные. Я создал резервную копию для A в виде файла A.bak . Затем я создаю новую пустую базу данных B. И затем я пытаюсь восстановить B из A.bak . Но SQL-сервер сообщает мне следующую ошибку:
Файл 'C: \ SQL Directory \ DATA \ A.mdf' не может быть перезаписан. Он используется базой данных «А».
Но если я удаляю A из SQL Server, восстановление в порядке.
Я не понимаю, почему SQL необходимо записать в исходный файл базы данных при восстановлении из отдельного файла резервной копии?
Благодаря ~
источник
При восстановлении резервной копии вы можете указать файлы данных для восстановления.
Посмотри здесь и здесь . Вы можете использовать опцию «Восстановить файлы базы данных как» и флаг «Перезаписать существующую базу данных».
источник
Используете ли вы параметр REPLACE, либо в команде TSQL, либо в качестве выбранного флажка? Кроме того, вы можете переименовать файлы и вызвать базу данных как-нибудь еще.
Вам также будет немного трудно восстановить базу данных, которая используется ..... вам нужно будет уничтожить процессы, используя базу данных; ИЛИ сначала удалите / удалите базу данных, закрыв соединения (это, вероятно, самое простое); ИЛИ установите базу данных, которую вы хотите перезаписать, в нечто вроде ограниченного пользовательского режима с немедленным откатом, так что, надеюсь, могут использовать только администраторы баз данных; ИЛИ даже остановите SQL Server и перезапустите его - мы надеемся, что восстановление начнется раньше, чем кто-либо / что-либо использует эту базу данных.
PS на всякий случай сделайте резервную копию базы данных, которую вы собираетесь перезаписать.
источник
Если кто-то ищет решение в графическом интерфейсе Management Studio после использования
Options
страницы и активацииOverwrite the existing database (WITH REPLACE)
опции:Просто щелкните в
Restore As
столбце и измените имена файлов*.mdf
файла и*.ldf
файла.источник