Ошибка восстановления базы данных sql server

SQL Server 2012 Troubleshooting: Restore of database failed


Table of Contents

  • Problem
  • Solution
  • References

Problem

From within SQL Server Management Studio (SSMS), you attempt to restore a SharePoint Server 2013 database, but then experience this error message: 

TITLE: Microsoft SQL Server Management Studio
------------------------------
Restore of database 'YOURDATABASE' failed. 
(Microsoft.SqlServer.Management.RelationalEngineTasks) 

------------------------------
ADDITIONAL INFORMATION:

System.Data.SqlClient.SqlError: The operating system returned 
the error '32(The process cannot access the file because it 
is being used by another process.)' while attempting 
'RestoreContainer::ValidateTargetForCreation' on 
'D:\Program Files\Microsoft SQL Server\MSSQL11.CSSP\MSSQL\DATA\YOURDATABASE.mdf'. 
(Microsoft.SqlServer.SmoExtended)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=
11.0.5058.0+((SQL11_PCU_Main).140514-1820+)&LinkId=20476

The solution is simple and involves the databases files Relocate all files to folder parameter.

Solution

  1. In SSMS, launch the Restore Database dialog,
  2. Select Files, and then enable Relocate all files to folder.

  3. Click OK.

References

  • Restore a Database Backup (SQL Server Management Studio)

Приглашаем разобраться в важных темах – устранения ошибок MS SQL и восстановления базы данных. Получите представление о разных способах устранения проблемы, которые следует использовать при различных обстоятельствах.

Восстановление баз данных

Специалисты пользуются несколькими способами восстановления баз данных (БД). Наиболее простой и удобный ­– воспользоваться программой (SSMS) SQL Server Management Studio.

Как восстановить

Узнать, где находится SQL Server Management Studio, довольно легко. Microsoft Windows Server 2012 R2 располагается в стандартном перечне программных продуктов. В Microsoft Windows Server 2008 R2 следует зайти в меню Пуск и отыскать Microsoft Windows Server 2012. Там смотреть Microsoft SQL Server Management Studio.

Далее следует ввести тип сервера с именем, а чтобы подтвердить подлинность – информацию, требуемую для прохождения авторизации. Нажать Соединить (Connect).

В левом углу из обозревателя (Object Explorer) раскрыть Базы данных (Server Objects). Из представленного перечня отобрать базу, подлежащую восстановлению либо ту, данные которой будут восстанавливаться. На выбранном файле кликнуть мышкой и в выпавшем перечне выбрать Задачи (Tasks), затем Восстановить (Restore), потом База данных… (Databases …).

Проделанные шаги дадут старт процессу Restore Database, а значит требуемая база данных начнет восстанавливаться. Следует сделать выбор источника для Restore Database.

Чтобы возобновить базу данных, при запуске мастер восстановления сделает попытку автоматом определить очередность файлов резервных копий. В том случае, когда базу данных нужно загружать из определенной папки либо устройства, понадобится:

  1. Переключить соответствующую кнопку на Устройство (From device).
  2. Прописать, откуда восстановится БД.
  3. Выбрать инфобазу, в которую произведется загрузка данных (Destination for restore). Ею может выступать любая БД, которая регистрировалась на SQL Server (в том числе и база, с которой создавалась резервная копия).

В программе реализована возможность указания времени, необходимого для восстановления БД. Для этого необходимо просто кликнуть по кнопке Временная шкала… (Timeline). Если существует скопированный журнал транзакций или checkpoint в нем, то требуемый промежуток времени может быть указан с высокой точностью (вплоть до секунды).

Если требуется провести копирование БД, то во вкладке Файлы (Files) нужно будет прописать путь к файлам выбранной инфобазы.

Настройка дополнительных параметров

Также в программе реализована возможность настройки дополнительных параметров. Выставляя тот или иной флажок, можно регулировать необходимые действия. Следует выбрать соответствующий флажок, чтобы в процессе восстановления БД:

  • Которая опубликована не на сервере, где она создавалась, сохранились настройки репликации, поможет отметка «Сохранить параметры репликации). Он важен, если при резервном копировании была реплицирована БД;
  • была проведена перезапись файлов БД с именем, которое указывалось в качестве базы назначения – нужно поставить отметку «Перезаписать существующую базу данных»;
  • сузить доступность к базе всем, кто не sysadmin, db_owner, dbcreator – нужно поставить флажок «Ограничение доступа к восстановленной базе данных»;
  • старту должен предшествовать перевод БД в режим одного пользователя, а по его завершению вернуть в пользование для множества пользователей – поставить отметку «Закрыть существующие соединения»;
  • чтобы провести требуемое резервное копирование завершающего фрагмента журнала транзакций, следует поставить отметку «Создание резервной копии заключительного фрагмента журнала перед восстановлением». Если в окошке Временная шкала резервного копирования (Backup Timeline) для временной точки требуется эта резервная копия, то отметка будет поставлена системой, без возможности снятия;
  • чтобы после завершения восстановления каждой резервной копии уточнялась необходимость продолжения процесса – следует поставить отметку «Выдавать приглашение перед восстановлением каждой резервной копии» (Prompt before restoring each backup). Достаточно полезен, т.к. после того, как восстановлено определенное количество резервных копий можно остановить дальнейшую цепочку восстановительных процессов.

Настроив все важные параметры следует нажать ОК. Тем самым запустится процесс. Соответствующее уведомление сообщит об его окончании.

Восстановление базы в новое место

Чтобы перенести базу данных MSSQL Server по другому пути каталога либо сделать ее копию, следует знать, как восстановить БД в новую папку. Полезно знать как ее переименовывать. Для этого можно воспользоваться вышеупомянутой программой SSMS и T-SQL.

Подготовка к восстановлению базы данных

Перед стартом процесса восстановления нужно соблюдать ряд требований:

  1. Когда осуществляется процесс восстановления базы, доступ к ней может быть только у системного администратора. Для остальных пользователей доступ должен быть ограничен.
  2. Перед восстановлением нужно сделать резервную копию активного журнала транзакций.
  3. Чтобы восстановить зашифрованную базу необходим доступ к сертификату либо ассиметричному ключу, который применялся в качестве ее шифратора. Не имея доступа к ним, восстановление зашифрованной БД становится невозможным. Потому, такой сертификат следует хранить, пока может понадобиться резервное копирование.

После того, как база данных версии SQL Server 2005 (9.x) либо более поздней, восстановится, произойдет автоматическое обновление, и она станет доступной.

Если присутствуют полнотекстовые индексы

В том случае, когда в БД SQL Server 2005 (9.x) присутствуют полнотекстовые индексы, в момент ее обновления произойдет импорт, сброс либо перестроение. Результат зависит от того, какое значение проставлено в свойствах сервера upgrade_option.

При обновлении такие индексы станут недоступны, если upgrade_option имеет значения:

  • 2 в режиме импорта;
  • 0 в режиме перестроения.

Продолжительность поцессов импорта и перестроения зависит от того, какой объем занимают данные. Импорт может длиться пару часов, а процесс перестроения – гораздо дольше (может продолжаться в 10 раз дольше).

В том случае, когда выбран процесс Импорт, а доступ к полнотекстовому каталогу отсутствует, то произойдет перестроение одноименных индексов, которые связаны с ним. Для изменения свойств upgrade_option необходимо воспользоваться процедурой sp_fulltext_service.

Соблюдение правил безопасности

Чтобы обезопасить себя, крайне не рекомендуется проводить присоединение либо восстановление БД, которые были получены из ненадежных или вовсе неизвестных источников. Они могут содержать вредоносные коды, способные:

  • запускать выполнение инструкций T-SQL, не предусмотренных системой;
  • вызывать ошибки в результате изменения схемы либо самой структуры БД

Если БД получена из источников, не внушающих доверия, то перед началом ее использования необходимо:

  • протестировать по инструкции DBCC CHECKDB;
  • исследовать исходный и иные коды БД, изучить процедуры.

Инструкции RESTORE

На ход реализации этих инструкций влияет факт существования восстанавливаемой базы. Если база:

  • присутствует, то разрешения получают пользователи sysadmin, dbcreator, dbo (владелец БД) по умолчанию;
  • отсутствует, то пользователям потребуются разрешения CREATE DATABASE.

Разрешения на реализацию таких инструкций выдаются в соответствии с ролями. В соответствии с ними сервер всегда имеет доступ к данным о членстве. Разрешение RESTORE отсутствует у пользователей с ролями db_owner. Причина в том, что членство может быть проверено лишь в тех случаях, когда к базе данных всегда есть доступ и она не повреждена. А это иногда не соблюдается в процессе выполнения инструкций RESTORES.

Пошаговая инструкция восстановления БД в новую папку в SSMS

  1. Открыть SSMS и произвести подключение к SQL Server Database Engine.
  2. Щелкнуть мышкой по имени сервера, чтобы развернулось его дерево.
  3. Кликнуть мышкой на Базы данных, потом – по Восстановить базу данных.
  4. В разделе Источник выбрать Общие, чтобы определить соответственное расположение и источник копий, подлежащих восстановлению. Пользователю предлагается выбрать нужный вариант (Базы данных либо Устройства). Особенности:
  5. При выборе Базы данных открывается перечень БД, где можно выбрать нужную. В нем представлены лишь те базы, у которых резервные копии создавались по журналу msdb. Стоит отметить, что для БД на целевом сервере, резервные копии которых поступили с иных серверов, подобный журнал будет отсутствовать. В таких ситуациях следует выбирать вариант Устройство. Это позволит руками прописать файл, а в случае необходимости – обозначить устройство для выполнения восстановления.
  6. Устройство можно выбрать, воспользовавшись кнопкой обзора (…). В результате появится окошко Выбор устройств резервного копирования. Перейти в окошко Тип носителя резервной копии, в котором из списка выбрать необходимый тип устройства. Если требуется добавить ряд устройств, это можно сделать с помощью кнопки Добавить в окошке Носитель резервной копии. Когда все необходимые устройства добавлены, необходимо вновь перейти на страницу Общие. Для этого следует нажать ОК в списке Носитель резервной копии. Обратившись к списку Источник: Устройство: База данных обозначить название БД, куда будет производиться восстановление. Пользователь может воспользоваться данным списком только при выборе Устройства. Можно выбирать лишь те БД, у которых на отобранном устройстве имеются резервные копии.
  7. Название новой базы для проведения восстановления автоматом сформируется в поле База данных в разделе Назначение. При желании оно может быть изменено. Для этого желаемое название вводится в окошке База данных.
  8. Далее перейти к Восстановить до. Пользователь может оставить значение До последней выбранной резервной копии (по умолчанию) либо кликнуть по Временной шкале. При выбре второго варианта всплывет соответствующее окошко Временная шкала …. В нем нужно указывать точное время.
  9. Необходимые резервные копии для восстановления можно выбрать в соответствующей сетке. В ней отражены все наборы, доступные в выбранном месте. Система сама предложит план восстановления отобранных копий, который будет использован по умолчанию. Он может быть переопределен, если в сетке изменить отобранные элементы.
  10. Для указания другого места расположения файлов базы, необходимо выбрать страницу Файлы после чего нажать на Переместить все файлы в папку. Следует указать вновь выбранное место расположения папок файлов данных и журнала.
  11. Если возникла необходимость – провести настройку параметров, как было рассказано выше.

Чтобы начать процесс, в котором будет восстанавливаться БД в новую папку с возможностью переименовывать ее, можно воспользоваться инструкциями Transact-SQL.

Как просмотреть отчет

Стандартный отчет «События резервного копирования и восстановления» позволяет получить сведения о том, когда проводилось:

  • Резервное копирование определенной БД;
  • операции восстановления базы MS SQL из них.

Данный отчет включает данные, касающиеся создания резервных копий:

  • время, затраченное на это в среднем (Average Time Taken For Backup Operations);
  • операции, которые прошли успешно (Successful Backup Operations);
  • ошибки, которые были допущены (Backup Operation Errors);
  • удачно прошедших восстановлений баз (Successful Restore Operations).

Чтобы он начал формироваться, следует в Обозревателе объектов выбрать нужную БД и щелкнуть по ней мышкой. Выбрать в меню Отчеты, а затем – Стандартный отчет. После этого кликнуть на События резервного копирования и восстановления.

Чтобы просмотреть информацию из сформированного отчета следует выбрать нужную группировку и раскрыть данные по ней.

Для восстановления поврежденной БД можно воспользоваться еще одним инструментом.

Как исправить ошибки в MS SQL с помощью Recovery Toolbox for SQL Server

Для восстановления поврежденной базы данных можно обратиться к помощи Recovery Toolbox for SQL Server. Для исправления ошибки (Error), следует воспользоваться пошаговой инструкцией восстановления данных из файла *.mdf, который был поврежден. Для этого необходимо:

  1. Скачать Recovery Toolbox for SQL Server.
  2. Установить программу следуя инструкциям и запустить ее.
  3. Из списка файлов выбрать файл *.mdf, который был поврежден.
  4. Осуществить предварительный просмотр тех данных, которые в процессе выполнения программы могут быть подвергнуты извлечению из базы MS SQL сервер, которая подверглась повреждению.
  5. Выбрать наиболее приемлемый способ, которым будут экспортироваться данные:
  6. сохранением на диск в качестве SQL-скрипта;
  7. выполнением SQL-скрипта в самой БД.
  8. Произвести выборку информации, требующей восстановления и сохранения.
  9. Начать восстановление нажатием Start recovery.

Данная программа создавалась, чтобы облегчить процесс восстановления поврежденных БД. Специально разработанная, оптимизированная для восстановления SQL Server, утилита поможет устранить ошибки и внести правки в разные типы повреждений *.mdf файлов и базы данных MS SQL Server.

Как становится понятно, для исправления ошибок и восстановления БД необходимо уметь пользоваться различными инструментами. Читайте, изучайте материалы по данной теме. Если возникнут вопросы – обязательно задавайте.

Также приглашаем на специальный курс по MS SQL в Otus.

I am trying to restore a SQL Server backup file for my database, but it is throwing an error as follow:

The backup set holds a backup of a database other than the existing

My database in SQL Server 2008 and the backup file is in 2005.

What can be the problem?

Promise Preston's user avatar

asked Apr 18, 2012 at 7:02

R.D.'s user avatar

2

I too came across this issue.

Solution :

  • Don’t create an empty database and restore the .bak file on to it.
  • Use ‘Restore Database’ option accessible by right clicking the «Databases» branch of the SQL Server Management Studio and provide the database name while
    providing the source to restore.
  • Also change the file names at «Files» if the other database still exists. Otherwise you get «The file ‘…’ cannot be overwritten. It is being used by database ‘yourFirstDb'».

Matthew Lock's user avatar

Matthew Lock

13.2k12 gold badges92 silver badges130 bronze badges

answered Feb 20, 2013 at 11:41

sunil_philip's user avatar

sunil_philipsunil_philip

9,6551 gold badge12 silver badges2 bronze badges

10

Either:

1) Use WITH REPLACE while using the RESTORE command (if using the GUI, it is found under Options -> Overwrite the existing database (WITH REPLACE)).

2) Delete the older database which is conflicting and restore again using RESTORE command.

Check the link for more details.

user3666197's user avatar

answered Apr 18, 2012 at 7:16

Amarnath's user avatar

AmarnathAmarnath

8,74610 gold badges54 silver badges81 bronze badges

1

First create a blank database of the same name. Then go for the restore option

Under Options on the left pane don’t forget to select

  • Overwrite the existing database
  • Preserve the replication settings

enter image description here

That’s it

answered May 15, 2014 at 8:29

HimalayanCoder's user avatar

HimalayanCoderHimalayanCoder

9,6406 gold badges59 silver badges60 bronze badges

0

I was facing same problem and found the solution by doing this, using SSMS 2014

Just select the Option Overwrite the existing database(WITH REPLACE) 

Existing Database> Task> Restore> Database

answered Dec 23, 2015 at 10:31

Smit Patel's user avatar

Smit PatelSmit Patel

2,9921 gold badge26 silver badges44 bronze badges

0

This causes always due to version incompatibility.
follow these steps to solve:

Step 1: Create a database with your preferred name. (In our case AdventureWorks)

Step 2: Write click on the database and click on Tasks >> Restore >> Database…

enter image description here

Step 3: On the restore screen go to third selection of Options. Now select the checkbox “Overwrite the existing database (WITH REPLACE)”

enter image description here

Step 4: Click OK. It should successfully restore the database.

Note: When you restore a database WITH REPLACE it will overwrite the old database.

answered Jan 15, 2020 at 13:05

Alireza Abdollahnejad's user avatar

2

USE [master];
GO

CREATE DATABASE db;
GO

CREATE DATABASE db2;
GO

BACKUP DATABASE db TO DISK = 'c:\temp\db.bak' WITH INIT, COMPRESSION;
GO

RESTORE DATABASE db2
  FROM DISK = 'c:\temp\db.bak'
  WITH REPLACE,
  MOVE 'db' TO 'c:\temp\db2.mdf',
  MOVE 'db_log' TO 'c:\temp\db2.ldf';

Bruno Belotti's user avatar

answered May 8, 2015 at 14:53

Elsoni's user avatar

ElsoniElsoni

4714 silver badges2 bronze badges

0

Simple 3 steps:

1- Right click on database → Tasks → restore → Database

2- Check Device as source and locate .bak (or zipped .bak) file

3- In the left pane click on options and:

  • check Overwrite the existing database.
  • uncheck Take tail-log backup before restore
  • check Close existing connection to destination database.

Other options are really optional (and important of course)!

answered Oct 11, 2017 at 8:19

Ali Sheikhpour's user avatar

Ali SheikhpourAli Sheikhpour

10.5k5 gold badges41 silver badges83 bronze badges

If you are using the script approach and have an error concerning the LDF and MDF files, you can first query the the backup file for the logical names (and other details) of files in the backup set, using the following:

-- Queries the backup file for the file list in backup set, where Type denotes 
-- type of file. Can be L,D,F or S
-- info: https://learn.microsoft.com/en-us/sql/t-sql/statements/restore-statements-filelistonly-transact-sql
RESTORE FILELISTONLY FROM DISK = 'C:\Temp\DB_backup.bak'
GO

You will get results similar to the following:

enter image description here

And then you can use those logical names in the queries:

    -- Script assumes you want MDF and LDF files restored on separate drives. Modify for your scenario
    RESTORE DATABASE DB 
    FROM DISK='C:\Temp\DB_backup.bak'
    WITH REPLACE,
      MOVE 'DB' TO 'E:\MSSQL\Data\DB.mdf', -- "DB" is the mdf logical name from query above
      MOVE 'DB_log' TO 'F:\MSSQL\Logs\DB.ldf'; -- "DB_log" is LDF logical name from query above

More info on RESTORE FILELISTONLY can be found from the SQL Server docs.

answered May 5, 2017 at 7:11

tinonetic's user avatar

tinonetictinonetic

7,78811 gold badges54 silver badges79 bronze badges

1

Its because the .mdf and .ldf Files from the original Db were locate at maybe c:\programFile\.... and this info is saved in the Backup!

If you create the same DB on a different SQL Server where the installation is on c:\program Files (x86)\ .... you can not restore as usually. You need to relocate the path for .mdf and .ldf Files.

Therefore:

  • Create a empty DB on the new Server

  • Right click on the empty Db > Tasks > Restore > Database > click Device select your .bak Files > Select Db to restore into

  • click on Files at left side > Select «Relocate all Files to Folder»
  • click Options on the left site > click on Overwrite

Done!
Hope it helps!

answered Feb 13, 2015 at 16:17

HELPER's user avatar

HELPERHELPER

2513 silver badges2 bronze badges

I had ran into similar problem today. Tried all the above solutions but didn’t worked. So posting my solution here.

Don’t forget to uncheck Tail-long Backup before restore

Don't forget to uncheck Tail-long Backup before restore

Hope it help others too!

answered Apr 7, 2015 at 4:15

immayankmodi's user avatar

immayankmodiimmayankmodi

8,2109 gold badges38 silver badges55 bronze badges

0

Also as important is to make sure that, your database name matches the data base name in the backup you are trying to restore. If it does not match, you will get the same error.

answered Oct 23, 2012 at 12:19

Andrew Marais's user avatar

1

Before doing anything else, confirm if your backup is Full or Differential. If you’re trying to create a new database out of a differential backup, no matter what you do you will encounter the error.

answered Sep 30, 2014 at 8:07

Tots Benedicto's user avatar

1

system.data.sqlclient.sqlerror:The backup set holds a backup of a database other than the existing ‘Dbname’ database

I have came across to find soultion

  1. Don’t Create a database with the same name or different database name !Important.

  2. right click the database | Tasks > Restore > Database

  3. Under «Source for restore» select «From Device»

  4. Select .bak file

  5. Select the check box for the database in the gridview below

  6. To DataBase: «Here You can type New Database Name» (Ex:DemoDB)

  7. Don’t select the Existing Database From DropDownlist

  8. Now Click on Ok Button ,it will create a new Databse and restore all data from your .bak file .

you can get help from this link even

Hope it will help to sort out your issue…

jpaugh's user avatar

jpaugh

6,6444 gold badges38 silver badges91 bronze badges

answered Oct 15, 2018 at 7:24

akshay5662's user avatar

akshay5662akshay5662

2914 silver badges4 bronze badges

1

Same issue with me.The solution for me is:

  1. Right click on the database.
  2. Select tasks, select restore database.
  3. Click options on the left hand side.
  4. Check first option OverWrite the existing database(WITH REPLACE).
  5. Go to General, select source and destination database.
  6. Click OK, that’s it

waka's user avatar

waka

3,3729 gold badges36 silver badges54 bronze badges

answered Sep 26, 2017 at 6:17

Aayush Verma's user avatar

I was just trying to solve this issue.

I’d tried everything from running as admin through to the suggestions found here and elsewhere; what solved it for me in the end was to check the «relocate files» option in the Files property tab.

Hopefully this helps somebody else.

answered Nov 11, 2013 at 15:29

Clint's user avatar

ClintClint

6,1432 gold badges27 silver badges48 bronze badges

Some of you have highly over complicated this. I found this to be extremely simple.

1) Create a database with the same name as your .bak file database name !Important

2) right click the database | Tasks > Restore > Database

3) Under «Source for restore» select «From Device»

4) Select .bak file

5) Select the check box for the database in the gridview below

6) Under «Select a Page» on the right Select «Options»

7) Select the checkbox labeled «Preserve the replication settings(WITH KEEP_REPLICATION)

Now Go back to the General page and click OK to restore the database…That is it.

answered Feb 26, 2014 at 16:27

Rolon's user avatar

RolonRolon

411 bronze badge

1

I had to create new db on my local for testing & i had a back up from my prod. I created the db first and tried to run the BAK on top of the new db which produced this error for me. I deleted the db and restored it while sourcing the new db name in the restore screen itself. The db was automatically created on restore.

answered Nov 18, 2013 at 19:27

Angelina Ilieva's user avatar

I got work done through alternate way, using Generate scripts. That did work for me as Backup-Restore didn’t help to resolve the issue due to same error.

answered Dec 1, 2013 at 8:19

Altaf Patel's user avatar

Altaf PatelAltaf Patel

1,3611 gold badge17 silver badges28 bronze badges

In the Options, change the «Restore As» file name to the new database mdf and ldf. It is referencing the source database .mdf and .ldf files.

answered Oct 13, 2015 at 7:21

Priyanka Rawat's user avatar

You can restore to a new DB, verify the file name syntax, it ll be in the log file, for the new SQL version ll be a «_log» suffix

ad check the overwrite the existing database flag in option tab

Fabio

answered Feb 10, 2015 at 10:54

Fabio's user avatar

FabioFabio

113 bronze badges

This helped me to import the back-up file from the system drive

  1. Create a database with the same name(preferably) as your .bak file database name
  2. Right click the database > Tasks > Restore > Database
  3. Under «Source for restore» select «From Device»
  4. Select the .bak file selecting the path from the system
  5. Select the check box for the database in the list box below
  6. Under «Select a Page» on the right Select «Options»
  7. Select the checkbox labeled «Preserve the replication settings(WITH KEEP_REPLICATION)
  8. Select the checkbox for Overwrite the existing database(WITH REPLACE)
    Now Go back to the General page and click OK to restore the database…

answered Dec 25, 2019 at 14:04

Prajwal Bhat's user avatar

Prajwal BhatPrajwal Bhat

3032 gold badges5 silver badges21 bronze badges

Im sure this problem is related to the files and folders permissions.

answered Nov 18, 2014 at 14:44

Popas's user avatar

PopasPopas

801 gold badge2 silver badges8 bronze badges

I was trying to restore a production database to a staging database on the same server.

The only thing that worked in my case was restore to a new blank database. This worked great, did not try to overwrite production files (which it would if you just restore production backup file to existing staging database). Then delete old database and rename — the files will keep the new temp name but in my case that is fine.

(Or otherwise delete the staging database first and then you can restore to new database with same name as staging database)

answered Apr 22, 2015 at 1:20

mike nelson's user avatar

mike nelsonmike nelson

21.4k14 gold badges66 silver badges75 bronze badges

instead of click on Restore Database click on Restore File and Filegroups..

thats work on my sql server

answered Jul 2, 2019 at 18:36

Ali Sadri's user avatar

Ali SadriAli Sadri

1,57014 silver badges15 bronze badges

I had the same issue but on PS. I leave it here in case someone is trying to do the same

Restore-SqlDatabase -ServerInstance "<your instance name>" -Database "<your db name>" -BackupFile "<backup file route>.bak" -ReplaceDatabase

remember to use Set-ExecutionPolicy Unrestricted -Force and import import-module sqlps. Don’t forget to set back your Execution Policy back to restricted once you are done.

answered Nov 24, 2021 at 14:49

gui2's user avatar

gui2gui2

518 bronze badges

Usually dealing with .bak files are coming with headaches, a more straight forward way is using sqldump files to transfer databases.

  1. Generate script of current database you want to move or copy.
  2. Instead of entire database, select All Tables.
  3. From the option menu choose save as script, and click on advance button and set the following configs (I am suing MSSQL 2016):
    enter image description here
  4. Now, where you want to import these data, create a new database, switch to this new database (I mean set it as default)
  5. Finally run the script, all table and data will be imported.

Good Luck.

  1. List item

answered Jan 19, 2022 at 7:57

Naser Nikzad's user avatar

В этой статье мы расскажем об ошибке SQL Server No Backupset Selected to Be Restored. Лучшим решением для управления реляционными базами данных является Microsoft SQL Server. Это приложение невероятно эффективно и широко используется ИТ-отделами. Это помогает в хранении и поиске важных данных от различных компаний. Когда пользователь хочет получить доступ к данным, он или она должны выполнить инструкции SQL. Пользователи SQL могли столкнуться с ошибками в результате внезапного завершения, проблемы с подключением к базе данных или временной ошибки. Когда пользователи пытались восстановить данные из файла резервной копии, сервер SQL сообщал о том, что для восстановления не выбран набор резервных копий.

  1. При попытке восстановить резервную копию из различных версий SQL пользователь столкнется с этой проблемой. Например, предположим, что у нас есть SQL Server 2008, и мы хотим восстановить резервную копию SQL Server 2012 или 2014.
  2. Если у вас есть неисправный или нечитаемый файл резервной копии, это может быть причиной ошибки сервера SQL «не выбран набор резервных копий для восстановления». Следующая команда позволяет пользователю быстро проверить вашу базу данных.
    RESTORE HEADERONLY FROM DISK = «Путь к файлу резервной копии»
  3. Другим важным фактором являются права доступа к файлу «.bak». Если файл .bak имеет специальные разрешения или находится в папке с определенными разрешениями, Management Studio не сможет получить доступ к файлу, что приведет к этой ошибке. Итак, прежде чем мы начнем восстановление, мы дважды проверяем, что у файла .bak есть правильные разрешения.

Если у вас возникла эта проблема и вы хотите узнать больше об ошибке, попробуйте восстановить базу данных с помощью приведенной ниже команды.
RESTORE DATABASE FROM DISK =’путь к файлу резервной копии’>\.bak’

Примечание: Если ваша база данных SQL повреждена, Программное обеспечение для восстановления базы данных SQL может использоваться для исправления и восстановления данных из базы данных SQL-сервера.

Профессиональное решение для SQL Server Не выбран набор резервных копий для восстановления Ошибка

SQL Server не включает никаких инструментов для исправления и восстановления файлов резервных копий, которые были повреждены. Вы должны использовать Программное обеспечение DataHelp для восстановления резервной копии SQL чтобы решить эту проблему. Это приложение было создано для восстановления поврежденных файлов резервных копий SQL Server и для восстановления файлов .bak в базах данных SQL Server. Для восстановления базы данных из резервной копии работает со всеми версиями MS SQL Server, включая 2017, 2016, 2014, 2012, 2008 и другие. Все проблемы с файлами bak, такие как ошибка 3241, ошибка SQL Server 3154 и отсутствие набора резервных копий для восстановления, легко устраняются с помощью этого программного обеспечения.

Шаги по исправлению того, что для восстановления не выбран набор резервных копий

1. Чтобы восстановить базу данных SQL Server, загрузите и установите Программное обеспечение для восстановления SQL.

домашняя страница для SQL Server Не выбран набор резервных копий для восстановления

2. К добавить файлиспользуйте инструмент восстановления SQL-сервера «Открыть” вариант.

Чтобы добавить файл, используйте опцию Открыть

3. Параметры сканирования доступны в SQL МДФ инструмент восстановления:
а. Быстрое сканирование б. Расширенное сканирование для восстановления поврежденных баз данных SQL Server, а также для автоматического обнаружения файлов MDF SQL Server.

Вариант быстрого сканирования и расширенного сканирования

4. Ты сможешь автоматическое определение файлы NDF, используя вторую вкладку, «Опция NDF».

Параметр NDF для SQL Server Не выбран набор резервных копий для восстановления

5. Вы можете сохранить MDF-файл который был отсканирован.

сохранить отсканированный файл MDF

6. Утилита предоставит вам предварительный просмотр восстановленных файлы базы данных (МДФ и НДФ).

предварительный просмотр восстановленных файлов базы данных

7. Вы можете экспортировать база данных с помощью инструмента экспорт вариант следующим образом:
а: База данных SQL-сервера б: Скрипты, совместимые с SQL Server

Экспорт с помощью базы данных SQL Server или сценариев, совместимых с SQL Server.

8. Компоненты, которые необходимо экспортировать из восстановленной базы данных, теперь можно проверить.

компоненты для экспорта в SQL Server Не выбран набор резервных копий для восстановления

Читайте также: Восстановление поврежденной базы данных SQL-сервера

Заключение

В этой статье мы узнали о проблеме и ее причинах при восстановлении файла резервной копии в SQL Server. Эта проблема возникает из-за поврежденного файла резервной копии или восстановления в более старой версии SQL Server. Невозможно восстановить поврежденные файлы резервных копий SQL вручную. В результате мы предлагаем вам использовать профессиональное решение для решения проблемы SQL Server No Backupset Selected to Be Restored. Он работает со всеми версиями Windows, включая Windows 10, 8.1 и 8.

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

Причины – Состояние Ожидания восстановления базы данных SQL Server

  • Раздел базы данных переполнен или
    недостаточно памяти
  • Аппаратный сбой
  • Повреждение в лог-файлах
  • Из-за какой-либо незавершенной задачи
    или при закрытии были некоторые действия,
    ожидающие со стороны пользователя
  • Повреждение или повреждение в файлах
    MDF
  • Запуск сервера без промежутков времени

Читайте также: Восстановление поврежденного файла MDF

Мгновенное Решение: Используйте средство восстановления SQL SysTools, чтобы исправить состояние ожидания восстановления в базе данных SQL Server. Это программное обеспечение может быстро устранить все ошибки, связанные с базой данных SQL. После восстановления он предоставляет возможность экспортировать данные в базу данных SQL или сценарии SQL.

Скачать SQL восстановление Покупка Сейчас

Ручные
способы исправить Состояние ожидания
восстановления SQL Server

Как всегда можно увидеть или испытать,
что ручные способы довольно сложны и
опасны в использовании. Поэтому, прежде
чем запустить его, убедитесь, что у вас
есть резервная копия базы данных. Если
вы новичок в этом, то рекомендуется,
чтобы вы выполняли его под руководством
технического специалиста или не выполняли
его.

Способ 1

В этом ручном методе для разрешения
Состояние ожидания восстановления базы
данных SQL Server необходимо запустить
принудительное восстановление.

1. Запустите нижеуказанные SQL-запросы.

ALTER DATABASE (Database Name) SET EMERGENCY;

GO

ALTER DATABASE (Database Name) set single_user

GO

DBCC CHECKDB ([Database Name], REPAIR_ALLOW_DATA_LOSS) WITH
ALL_ERRORMSGS;

GO

ALTER DATABASE (Database Name) set multi_user

GO

2. База данных помечена как READ_ONLY в
аварийном режиме, отключает ведение
журнала и предоставляет доступ только
системным администраторам.

3. После того, как эти шаги будут выполнены,
повреждение файла будет исправлено, и
база данных снова будет подключена
автоматически.

Способ 2

В этом втором методе, который может
разрешить состояние ожидания восстановления
в базе данных SQL Server, нам нужно сначала
поработать в аварийном режиме, давайте
посмотрим, как.

1. Выполните следующие команды:

ALTER DATABASE (Database Name) SET EMERGENCY;

ALTER DATABASE (Database Name) set multi_user

EXEC sp_detach_ db ‘(Database Name)’

EXEC sp_attach_single_file_db @Database Name = ‘(Database Name)’,
@physname = N’(mdf path)’

2. Система автоматически удалять
поврежденные журналы и создаст новый.

Если вы успешно выполнили оба метода,
то до сих пор проблема Состояние ожидания
восстановления базы данных SQL Server может
быть решена. Если нет, то рекомендуется
перейти на более безопасный и лучший
подход, который является автоматизированным
методом.

Автоматизированное
решение для исправления Состояние
Ожидания восстановления SQL Server

Автоматизация гораздо лучше, чем тратить много времени и усилий на ручные методы. Для автоматического метода вы можете перейти к Восстановление базы данных SQL. Это программное обеспечение помогает восстановить поврежденный файл MDF со всеми объектами базы данных. Для выполнения процесса восстановления базы данных SQL не требуется резервное копирование. Можно легко восстановить базу данных SQL без резервного копирования. Давайте узнаем, как это работает для восстановления поврежденных файлов базы данных SQL и устранения состояние ожидания восстановления в базе данных SQL Server.

1. Установите и запустите программу восстановления SQL, затем нажмите кнопку «Открыть», чтобы загрузить файл базы данных.

Восстановление SQL

2. Выберите режим быстрого или расширенного сканирования, а затем установите флажок Автоопределение версии файла SQL Server.

3. Теперь начнется процесс сканирования. После сканирования вы можете увидеть предварительный просмотр восстановленных предметов.

Восстановление SQL

4. Выберите опцию «Экспорт» сверху и выберите «Экспорт данных в базу данных SQL или сценарии SQL».

SQL база данных в состояние ожидания восстановления

5. Заполните все необходимые данные ниже и выберите экспорт только со схемой или только со схемой и данными.

Состояние ожидания восстановления базы данных SQL Server

6. В конце нажмите кнопку «Экспорт», чтобы восстановить файлы базы данных SQL.

Состояние ожидания восстановления SQL Server

Вывод

Как мы уже обсуждали в блоге, насколько важна для нас база данных SQL и насколько она склонна к состояние ожидания восстановления SQL Server , вы должны знать эти методы для спасения. Но как мы видим, насколько сложен ручной метод, поэтому всегда рекомендуется переходить на автоматизированный метод. Это лучший инструмент SQL для восстановления поврежденной базы данных SQL и устранения проблемы SQL база данных в состояние ожидания восстановления.

Понравилась статья? Поделить с друзьями:
  • Ошибка восстановления windows startup repair offline решение проблемы
  • Ошибка воспроизведения ютуб на тв приставке
  • Ошибка восстановления acronis 0x4001a
  • Ошибка воспроизведения стрима белтелеком что делать
  • Ошибка воспроизведения смарт тв на телевизоре