Приглашаем разобраться в важных темах – устранения ошибок 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.
Чтобы возобновить базу данных, при запуске мастер восстановления сделает попытку автоматом определить очередность файлов резервных копий. В том случае, когда базу данных нужно загружать из определенной папки либо устройства, понадобится:
- Переключить соответствующую кнопку на Устройство (From device).
- Прописать, откуда восстановится БД.
- Выбрать инфобазу, в которую произведется загрузка данных (Destination for restore). Ею может выступать любая БД, которая регистрировалась на SQL Server (в том числе и база, с которой создавалась резервная копия).
В программе реализована возможность указания времени, необходимого для восстановления БД. Для этого необходимо просто кликнуть по кнопке Временная шкала… (Timeline). Если существует скопированный журнал транзакций или checkpoint в нем, то требуемый промежуток времени может быть указан с высокой точностью (вплоть до секунды).
Если требуется провести копирование БД, то во вкладке Файлы (Files) нужно будет прописать путь к файлам выбранной инфобазы.
Настройка дополнительных параметров
Также в программе реализована возможность настройки дополнительных параметров. Выставляя тот или иной флажок, можно регулировать необходимые действия. Следует выбрать соответствующий флажок, чтобы в процессе восстановления БД:
- Которая опубликована не на сервере, где она создавалась, сохранились настройки репликации, поможет отметка «Сохранить параметры репликации). Он важен, если при резервном копировании была реплицирована БД;
- была проведена перезапись файлов БД с именем, которое указывалось в качестве базы назначения – нужно поставить отметку «Перезаписать существующую базу данных»;
- сузить доступность к базе всем, кто не sysadmin, db_owner, dbcreator – нужно поставить флажок «Ограничение доступа к восстановленной базе данных»;
- старту должен предшествовать перевод БД в режим одного пользователя, а по его завершению вернуть в пользование для множества пользователей – поставить отметку «Закрыть существующие соединения»;
- чтобы провести требуемое резервное копирование завершающего фрагмента журнала транзакций, следует поставить отметку «Создание резервной копии заключительного фрагмента журнала перед восстановлением». Если в окошке Временная шкала резервного копирования (Backup Timeline) для временной точки требуется эта резервная копия, то отметка будет поставлена системой, без возможности снятия;
- чтобы после завершения восстановления каждой резервной копии уточнялась необходимость продолжения процесса – следует поставить отметку «Выдавать приглашение перед восстановлением каждой резервной копии» (Prompt before restoring each backup). Достаточно полезен, т.к. после того, как восстановлено определенное количество резервных копий можно остановить дальнейшую цепочку восстановительных процессов.
Настроив все важные параметры следует нажать ОК. Тем самым запустится процесс. Соответствующее уведомление сообщит об его окончании.
Восстановление базы в новое место
Чтобы перенести базу данных MSSQL Server по другому пути каталога либо сделать ее копию, следует знать, как восстановить БД в новую папку. Полезно знать как ее переименовывать. Для этого можно воспользоваться вышеупомянутой программой SSMS и T-SQL.
Подготовка к восстановлению базы данных
Перед стартом процесса восстановления нужно соблюдать ряд требований:
- Когда осуществляется процесс восстановления базы, доступ к ней может быть только у системного администратора. Для остальных пользователей доступ должен быть ограничен.
- Перед восстановлением нужно сделать резервную копию активного журнала транзакций.
- Чтобы восстановить зашифрованную базу необходим доступ к сертификату либо ассиметричному ключу, который применялся в качестве ее шифратора. Не имея доступа к ним, восстановление зашифрованной БД становится невозможным. Потому, такой сертификат следует хранить, пока может понадобиться резервное копирование.
После того, как база данных версии 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
- Открыть SSMS и произвести подключение к SQL Server Database Engine.
- Щелкнуть мышкой по имени сервера, чтобы развернулось его дерево.
- Кликнуть мышкой на Базы данных, потом – по Восстановить базу данных.
- В разделе Источник выбрать Общие, чтобы определить соответственное расположение и источник копий, подлежащих восстановлению. Пользователю предлагается выбрать нужный вариант (Базы данных либо Устройства). Особенности:
- При выборе Базы данных открывается перечень БД, где можно выбрать нужную. В нем представлены лишь те базы, у которых резервные копии создавались по журналу msdb. Стоит отметить, что для БД на целевом сервере, резервные копии которых поступили с иных серверов, подобный журнал будет отсутствовать. В таких ситуациях следует выбирать вариант Устройство. Это позволит руками прописать файл, а в случае необходимости – обозначить устройство для выполнения восстановления.
- Устройство можно выбрать, воспользовавшись кнопкой обзора (…). В результате появится окошко Выбор устройств резервного копирования. Перейти в окошко Тип носителя резервной копии, в котором из списка выбрать необходимый тип устройства. Если требуется добавить ряд устройств, это можно сделать с помощью кнопки Добавить в окошке Носитель резервной копии. Когда все необходимые устройства добавлены, необходимо вновь перейти на страницу Общие. Для этого следует нажать ОК в списке Носитель резервной копии. Обратившись к списку Источник: Устройство: База данных обозначить название БД, куда будет производиться восстановление. Пользователь может воспользоваться данным списком только при выборе Устройства. Можно выбирать лишь те БД, у которых на отобранном устройстве имеются резервные копии.
- Название новой базы для проведения восстановления автоматом сформируется в поле База данных в разделе Назначение. При желании оно может быть изменено. Для этого желаемое название вводится в окошке База данных.
- Далее перейти к Восстановить до. Пользователь может оставить значение До последней выбранной резервной копии (по умолчанию) либо кликнуть по Временной шкале. При выбре второго варианта всплывет соответствующее окошко Временная шкала …. В нем нужно указывать точное время.
- Необходимые резервные копии для восстановления можно выбрать в соответствующей сетке. В ней отражены все наборы, доступные в выбранном месте. Система сама предложит план восстановления отобранных копий, который будет использован по умолчанию. Он может быть переопределен, если в сетке изменить отобранные элементы.
- Для указания другого места расположения файлов базы, необходимо выбрать страницу Файлы после чего нажать на Переместить все файлы в папку. Следует указать вновь выбранное место расположения папок файлов данных и журнала.
- Если возникла необходимость – провести настройку параметров, как было рассказано выше.
Чтобы начать процесс, в котором будет восстанавливаться БД в новую папку с возможностью переименовывать ее, можно воспользоваться инструкциями 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, который был поврежден. Для этого необходимо:
- Скачать Recovery Toolbox for SQL Server.
- Установить программу следуя инструкциям и запустить ее.
- Из списка файлов выбрать файл *.mdf, который был поврежден.
- Осуществить предварительный просмотр тех данных, которые в процессе выполнения программы могут быть подвергнуты извлечению из базы MS SQL сервер, которая подверглась повреждению.
- Выбрать наиболее приемлемый способ, которым будут экспортироваться данные:
- сохранением на диск в качестве SQL-скрипта;
- выполнением SQL-скрипта в самой БД.
- Произвести выборку информации, требующей восстановления и сохранения.
- Начать восстановление нажатием Start recovery.
Данная программа создавалась, чтобы облегчить процесс восстановления поврежденных БД. Специально разработанная, оптимизированная для восстановления SQL Server, утилита поможет устранить ошибки и внести правки в разные типы повреждений *.mdf файлов и базы данных MS SQL Server.
Как становится понятно, для исправления ошибок и восстановления БД необходимо уметь пользоваться различными инструментами. Читайте, изучайте материалы по данной теме. Если возникнут вопросы – обязательно задавайте.
Также приглашаем на специальный курс по MS SQL в Otus.
В этой статье мы расскажем об ошибке SQL Server No Backupset Selected to Be Restored. Лучшим решением для управления реляционными базами данных является Microsoft SQL Server. Это приложение невероятно эффективно и широко используется ИТ-отделами. Это помогает в хранении и поиске важных данных от различных компаний. Когда пользователь хочет получить доступ к данным, он или она должны выполнить инструкции SQL. Пользователи SQL могли столкнуться с ошибками в результате внезапного завершения, проблемы с подключением к базе данных или временной ошибки. Когда пользователи пытались восстановить данные из файла резервной копии, сервер SQL сообщал о том, что для восстановления не выбран набор резервных копий.
- При попытке восстановить резервную копию из различных версий SQL пользователь столкнется с этой проблемой. Например, предположим, что у нас есть SQL Server 2008, и мы хотим восстановить резервную копию SQL Server 2012 или 2014.
- Если у вас есть неисправный или нечитаемый файл резервной копии, это может быть причиной ошибки сервера SQL «не выбран набор резервных копий для восстановления». Следующая команда позволяет пользователю быстро проверить вашу базу данных.
RESTORE HEADERONLY FROM DISK = «Путь к файлу резервной копии» - Другим важным фактором являются права доступа к файлу «.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.
2. К добавить файлиспользуйте инструмент восстановления SQL-сервера «Открыть» вариант.
3. Параметры сканирования доступны в SQL МДФ инструмент восстановления:
а. Быстрое сканирование б. Расширенное сканирование для восстановления поврежденных баз данных SQL Server, а также для автоматического обнаружения файлов MDF SQL Server.
4. Ты сможешь автоматическое определение файлы NDF, используя вторую вкладку, «Опция NDF».
5. Вы можете сохранить MDF-файл который был отсканирован.
6. Утилита предоставит вам предварительный просмотр восстановленных файлы базы данных (МДФ и НДФ).
7. Вы можете экспортировать база данных с помощью инструмента экспорт вариант следующим образом:
а: База данных SQL-сервера б: Скрипты, совместимые с SQL Server
8. Компоненты, которые необходимо экспортировать из восстановленной базы данных, теперь можно проверить.
Читайте также: Восстановление поврежденной базы данных SQL-сервера
Заключение
В этой статье мы узнали о проблеме и ее причинах при восстановлении файла резервной копии в SQL Server. Эта проблема возникает из-за поврежденного файла резервной копии или восстановления в более старой версии SQL Server. Невозможно восстановить поврежденные файлы резервных копий SQL вручную. В результате мы предлагаем вам использовать профессиональное решение для решения проблемы SQL Server No Backupset Selected to Be Restored. Он работает со всеми версиями Windows, включая Windows 10, 8.1 и 8.
10.11.13 — 12:48
Подскажите , пожалуйста, создаю базу на новом сервере sql и восстанавливаю в нее данные их архивной копии, сделанной со старого физического сервера sql. Пара баз восстановилась нормально, а остальные стали ругаться таким образом : для восстановления не выбран резервный набор данных. Заранее большое спасибо
1 — 10.11.13 — 12:56
2 — 10.11.13 — 12:58
Читал. На 2008 сервере я указывал при восстановлении файл базы и лога. А в 2012 он не дает, все поля не активны.
3 — 10.11.13 — 12:59
У меня просто копии, модель восстановления на всех базах простая была. А сейчас он требует журнал транзакция, как я понимаю
4 — 10.11.13 — 13:04
(3)
ерунду («требует журнал транзакция») Вы понимаете.
либо не полный список ошибок.
читайте заново
http://msdn.microsoft.com/ru-ru/library/ms186390.aspx
приведите номер ошибки.
5 — 10.11.13 — 13:04
(3) так бэкап полный или инкрементный
6 — 10.11.13 — 13:07
бекап полный
7 — 10.11.13 — 13:11
Номера ошибки нет, просто Выбираю базу данных, пустую, которую создал через 1с , дальше выбираю Задачи — Восстановить — база данных. Открывается окно гдн Источник , выбираю устройство и ище местоположения архива, Назначение — пустая база данных. А вот где Таблица с Восстанавливаемыми резервными наборами данных, которая, как я понимаю, определяет что за архив я буду разворачивать, эта таблица не активна, пустая. А когда все хорошо, она паказывает архив
8 — 10.11.13 — 13:12
9 — 10.11.13 — 13:15
Вначале пишет Чтение заголовка устройств резервного копирования, идет зеленая полоса прогресса, а потом красный крестик Для восстановления не выбран резервный набор данных. Я не понимаю почему ему не нравятся архивы?
10 — 10.11.13 — 13:16
Может установить родной 2008 с которого архивы все делались вместо 2012
11 — 10.11.13 — 13:20
select @@VERSION
что говорит ?
12 — 10.11.13 — 13:23
секундочку
13 — 10.11.13 — 13:23
(9)[Я не понимаю почему ему не нравятся архивы?]
а это к чему ?
14 — 10.11.13 — 13:24
Пишет Microsoft SQL Server 2012 — 11.0.2100.60 (X64)
Feb 10 2012 19:39:15
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
15 — 10.11.13 — 13:26
shuhard, раньше получалось же восстановить архив в любую базу, выбирал только расположение самой базы и лога транзакций и все. А сейчас он ничего не дает выбрать, все неактивно Только пишет:
для восстановления не выбран резервный набор данных
16 — 10.11.13 — 13:27
Через запрос пишу
RESTORE DATABASE IP_Bogdanova
FROM DISK = ‘C:IP_Bogdanova.bak’
WITH FILE=1, NORECOVERY;
А он пишет :
Сообщение 3154, уровень 16, состояние 4, строка 1
Резервный набор данных содержит копию базы данных, отличной от существующей базы данных «IP_Bogdanova».
Сообщение 3013, уровень 16, состояние 1, строка 1
RESTORE DATABASE прервано с ошибкой.
17 — 10.11.13 — 13:28
18 — 10.11.13 — 13:29
19 — 10.11.13 — 13:31
не перейти по ссылке (
20 — 10.11.13 — 13:36
(15) напиши ещё сто раз одно и то же
21 — 10.11.13 — 13:38
это мне адресовано?
22 — 10.11.13 — 13:41
короче задница полная, бухи останутся без работы
23 — 10.11.13 — 13:45
24 — 10.11.13 — 14:28
он не дает мне изменить параметры восстановления !
25 — 10.11.13 — 14:38
(0)
9. Если во время выполнения операции восстановления возникает ошибка 3154, перезапишите существующую базу данных используя команду RESTORE DATABASE с опцией WITH REPLACE или выполните восстановление в базу данных с другим именем.
Ошибка 3154 возникает, когда Вы пытаетесь восстановить базу поверх существующей, но существующая база данных была создана оператором CREATE DATABASE с другим набором инструкций, чем при создании базы данных, восстанавливаемой из резервной копии.
26 — 10.11.13 — 14:40
Михаил, скажите пожалуйста, так как можно восстановить в пустую базу данных данные из архива, чтобы сервер не ругался?
27 — 10.11.13 — 14:46
(26)
из (17) узнаёте параметры базы;
создаете с такими же пораметрами новую бд
восстанавливаете.
28 — 10.11.13 — 14:49
Извиняюсь, я уже просто запутался совсем. Уже установил скуль 2008 в котором первоначально все архивы делались. Он теперь пишет ЗАГОЛОВОК: Microsoft SQL Server Management Studio
——————————
При выполнении инструкции или пакета Transact-SQL возникло исключение. (Microsoft.SqlServer.ConnectionInfo)
——————————
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:
RESTORE HEADERONLY прервано с ошибкой. (Microsoft SQL Server, ошибка: 3013)
Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.00.1600&EvtSrc=MSSQLServer&EvtID=3013&LinkId=20476
——————————
КНОПКИ:
ОК
——————————
29 — 10.11.13 — 14:50
На том скриншоте, который Вы мне прислали надо параметры изменить, куда типа архив будт восстанавливаться, но он мне не дает залесть в параметры требует источник восстановления выбрать, я выбираю, а он пишет
ЗАГОЛОВОК: Microsoft SQL Server Management Studio
——————————
При выполнении инструкции или пакета Transact-SQL возникло исключение. (Microsoft.SqlServer.ConnectionInfo)
——————————
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:
RESTORE HEADERONLY прервано с ошибкой. (Microsoft SQL Server, ошибка: 3013)
Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.00.1600&EvtSrc=MSSQLServer&EvtID=3013&LinkId=20476
——————————
КНОПКИ:
ОК
——————————
30 — 10.11.13 — 14:55
Кроме архивов SQL неплохо делать стандартную выгрузку из 1С
31 — 10.11.13 — 14:55
баз много, было бы несколько — запросто
32 — 10.11.13 — 14:55
беда совсем
33 — 10.11.13 — 14:56
Никак не зайти в параметры и не выбрать местоположение базы и журнала.
34 — 10.11.13 — 14:59
Ошибка здесь — Выбираю базу данных, пустую, которую создал через 1с — создай просто пустую базу через sql менеджер — в нее востанови базу, а потом укажи путь к ней для сервера 1с
35 — 10.11.13 — 15:00
Забыл сказать, что резервные копии были сжаты средст
вами sql
36 — 10.11.13 — 15:02
маловероятно, что все копии испортились, если их хранили не на флэш.
разверните более ранние архивы.
37 — 10.11.13 — 15:02
Когда создаешь базу через 1с — она уже будет не пустой — в ней будут куча таблиц 1с. если восстанавливать из dt, то да, а если скл — то нужно просто пустая скл-база
38 — 10.11.13 — 15:03
так в пустую и восстанавливаю данные из архива
39 — 10.11.13 — 15:03
скорее всего Вы не тот скл 2008 развернули
скл 2008 и скл 2008 R2 различные версии.
40 — 10.11.13 — 15:05
(38) — пустую базу как создаешь?
41 — 10.11.13 — 15:05
Я всегда это делал, как уже говорил, через меню параметры. Там соответственно проставлял базу и журнал. Сейчас он мне зайти туда не дает пишет Выберите сначала источник восстановления. А выбираю источник пишет ЗАГОЛОВОК: Microsoft SQL Server Management Studio
——————————
При выполнении инструкции или пакета Transact-SQL возникло исключение. (Microsoft.SqlServer.ConnectionInfo)
——————————
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:
RESTORE HEADERONLY прервано с ошибкой. (Microsoft SQL Server, ошибка: 3013)
Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.00.1600&EvtSrc=MSSQLServer&EvtID=3013&LinkId=20476
——————————
КНОПКИ:
ОК
——————————
42 — 10.11.13 — 15:06
Пустую создаю через значок 1с — создание новой базы
43 — 10.11.13 — 15:06
Вы думаете лучше создавать все только скулем?
44 — 10.11.13 — 15:06
45 — 10.11.13 — 15:06
в свойствах программа пишет просто 2008 без R2
46 — 10.11.13 — 15:07
(43) — конечно
47 — 10.11.13 — 15:07
Михаил, он мне в опции не дает зайти (
48 — 10.11.13 — 15:09
Создал чере скуль — все то же самое
49 — 10.11.13 — 15:10
Михаил, как на Вашем скриншоте, я так всегда и восстанавливал в пустую базу. Но сейчас засада какая-то.
50 — 10.11.13 — 15:12
» А вот где Таблица с Восстанавливаемыми резервными наборами данных, которая, как я понимаю, определяет что за архив я буду разворачивать, эта таблица не активна, пустая.» — значит архивы битые, сразу не все прочитал, там по любому должна быть куча информация от даты создания, названия базы и пр
51 — 10.11.13 — 15:14
Как вы поняли, я не мега спец по СКУЛЮ, читаю Уильяма Станека, но прост осейчас надо все мегасрочно к завтра исправить. А что за таблица я не совсем понимаю?
52 — 10.11.13 — 15:15
Все началось с того, что все работало нормально. Начальник решил вбить в домен этот несчастный сервер. После того, как он его вбил в домен, сервер уже не узнавал сам себя. Ну а разбираться мне крайнему
53 — 10.11.13 — 15:20
Кстати вот эти архивные копии я скопировал на свой внешний жесткий диск, а хранились они на рэйде 10 ssd. Может при копировании на другой тип носителя архивная копия и глючит?
sergey1982
54 — 10.11.13 — 15:20
я уже нифига не понимаю
I have a SQL Server 2012 database with filestream enabled. However, when I backup it and try to restore it on another SQL Server 2012 instance (on another machine), I simply get this message that:
No backupset selected to be restored.
Not even a single line of more explanation. What’s wrong here?
Every other database without filestream is OK and can be restored successfully. Is it something related to filestream? Should I install a hotfix or something like that.
asked Aug 25, 2012 at 6:54
Saeed NeamatiSaeed Neamati
35.2k41 gold badges136 silver badges188 bronze badges
8
I had this problem and it turned out I was trying to restore to the wrong version of SQL. If you want more information on what’s going on, try restoring the database using the following SQL:
RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file><YourDatabase>.bak'
That should give you the error message that you need to debug this.
SteveC
15.7k23 gold badges101 silver badges173 bronze badges
answered Aug 28, 2012 at 11:40
6
My problem ended up being permissions. I’m on a dev machine and copied via Homegroup. Somehow, probably based on where I copied the file to, the permissions got messed up and Management Studio couldn’t read the file. Since this is dev I just gave Everyone permissions to the bak file and could then successfully restore via the GUI.
answered Nov 9, 2012 at 3:11
3
When running:
RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file><YourDatabase>.bak'
It gave me the following error:
The media family on device ‘C:NorthwindDB.bak’ is incorrectly formed. SQL Server cannot process this media family. RESTORE HEADERONLY is terminating abnormally. (Microsoft SQL Server, Error: 3241)
Blockquote
Turns out You cannot take a DB from a Higher SQL version to a lower one, even if the compatibility level is the same on both source and destination DB.
To check the SQL version run:
Select @@Version
To see the difference, just create a DB on your source SQL server and try to do a restore from your backup file, when you do this whit SSMS, once you pick the backup file it will show some info about it as opossed to when you open it from a lower version server that will just say «no backupset selected to be restored»
So if You still need to move your data to a lower version SQL then check This.
answered Jan 5, 2016 at 15:56
Alon OrAlon Or
7887 silver badges7 bronze badges
6
Run SQL Server Management Studio as an administrator (right-click the shortcut/exe, then select «Run as Administrator»), then try to restore.
answered Sep 25, 2014 at 20:28
KeithKeith
20.5k11 gold badges83 silver badges125 bronze badges
0
I thought I was not stupid enough to mix up the versions — however, I didn’t realize that on my new server, a SQL Server 2005 instance was already installed from birth named SQLEXPRESS
. When trying to restore my SQL Server 2008 R2 backed up database in SSMS 2012 to the SQLEXPRESS
instance, the list of backup sets was empty.
Eventually I realized that the SQLEXPRESS
instance on the server was not a 2012 instance, but a 2005. I disconnected and connected to the actual 2012 instance (in my case named SQLEXPRESS2012
), and it (obviously) worked.
answered Sep 11, 2012 at 8:21
3
My problem was that my user was in the Builtin-Administrators group and no user with Sysadmin-role on SQL Server.
I just started the Management Studio as Administrator. This way it was possible to restore the database.
answered May 12, 2014 at 7:09
LizLiz
811 silver badge1 bronze badge
1
FYI: I found that when restoring, I needed to use the same (SQL User) credentials to login to SSMS. I had first tried the restore using a Windows Authentication account.
answered May 22, 2014 at 19:05
Ben RipleyBen Ripley
2,11521 silver badges33 bronze badges
In my case, it was permissions and the fact that I used «Restore Files and Filegroups…» rather than simply «Restore Database …».
That made the difference.
answered Jan 12, 2016 at 14:41
BrianBrian
3,6531 gold badge22 silver badges33 bronze badges
For me it’s a user privilege issue.
I logged-in with sa user and its working fine.
Harry
3,0097 gold badges37 silver badges64 bronze badges
answered Jul 4, 2017 at 9:43
SharfiSharfi
3553 silver badges12 bronze badges
For me the problem was having the .BAK file located in an encrypted folder on the server. Even with full Admin rights, I could never get SSMS to read the file. Moving the .BAK to an unencrypted folder solved my problem. Note that after moving the file you may have to also change the properties on the actual file to remove encryption (right click, properties, advanced, uncheck «encrypt contents to secure data».
answered Sep 11, 2013 at 22:03
GadgetNCGadgetNC
1593 silver badges4 bronze badges
In my case (new sql server install, newly created user) my user simply didn’t have the necessary permission. I logged to the Management Studio as sa, then went to Security/Logins, right-click my username, Properties, then in the Server Roles section I checked sysadmin
.
answered Nov 23, 2015 at 10:14
Marc.2377Marc.2377
7,6877 gold badges51 silver badges95 bronze badges
I had the same issue with SQL Server 2014 (Management Studio could not see the folder in which the backup file resided, when attempting to locate it for a Restore operation). This thread held the answer that solved my problem. Quote:
The SQL Server service account can be found by Start->Control
Panel->Administrative Tools->Services. Double-click on the SQL Server
service->Log On tab. You’ll either be using the «Local System account»
or «This account» to define a specific account. If you are using the
Local System account, you won’t be able to reference backups that are
not local to the server. If, instead, you have defined the account to
use, this is the account that needs to have access to the backup file
location. Your ability to access the backups using your personal logon
is irrelevant; it is the SQL Server account that is used, even though
you are initiating the backup. Your IT people should be able to
determine what rights are granted to each account.
Hope that helps someone.
answered Jan 16, 2015 at 13:20
BCABCA
7,7243 gold badges37 silver badges52 bronze badges
0
For me, it was because the backup file was still open by another process. Here’s the event log:
BackupDiskFile::OpenMedia: Backup device ‘X:BackupsMyDatabaseMyDatabase_backup_2014_08_22_132234_8270986.bak’ failed to open. Operating system error 32(The process cannot access the file because it is being used by another process.).
Simply closing and reopening Sql Server Management Studio resolved it (so obviously it was ssms.exe that had the handle..)
answered Aug 22, 2014 at 20:05
JohnZajJohnZaj
3,0505 gold badges36 silver badges51 bronze badges
In my case, it was a permissions issue.
For the Windows user, I was using did not have dbcreator
role.
So I followed the below steps
- Connect as
sa
to the SQL server - Expand
Security
in Object Explorer - Expand
Logins
- Right click on the Windows user in question
- Click on Properties
- Select
Server Roles
fromSelect a page
options - Check
dbcreator
role for the user - Click OK
answered Sep 18, 2018 at 0:46
Devraj GadhaviDevraj Gadhavi
3,5013 gold badges38 silver badges67 bronze badges
Another potential reason for this glitch appears to be Google Drive. Google Drive is compressing bak files or something, so if you want to transfer a database backup via Google Drive, it appears you must zip it first.
answered Aug 15, 2014 at 19:13
James G.James G.
2,8423 gold badges27 silver badges52 bronze badges
If you want to replace the existing database completely use the WITH REPLACE option:
RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file><YourDatabase>.bak'
WITH REPLACE
answered Aug 23, 2018 at 11:54
Iasmini GomesIasmini Gomes
6971 gold badge9 silver badges14 bronze badges
Using SQL Server 2012 Express.
My error (from the SQL Manager — Restore Database Dialog):
No backupset selected to be restored
Further, there were no backupsets shown in the list to select.
The issue was that I had moved 1 of the 5 backup files to a folder where the SQL Server service logon user did not have permissions — I tried to add that user, but could not get the NT ServiceMSSQL$SQLEXPRESS user into the security list.
I moved the file under the Documents folder for the service user, and that enabled it to read all the files I had selected — 4 at that point — and the error changed to «media set missing» — then I looked around for another backup file, and when I added that I was able to restore.
The answers in this question helped me look in the right places and work my way to a solution.
For me, It was a permission issue. I installed SQL server using a local user account and before joining my companies domain. Later on , I tried to restore a database using my domain account which doesn’t have the permissions needed to restore SQL server databases. You need to fix the permission for your domain account and give it system admin permission on the SQL server instance you have.
answered Jan 29, 2017 at 7:49
I got the same error message even though I backup and restore on the same single machine.
The issue was from here: when backup, i had 2 item in the destination box.
So the fix would be: make sure only 1 item in the ‘destination’ box. Remove all the others if there are.
answered Aug 31, 2017 at 19:20
I have run into the same issue. Run SSMS as administrator then right click and do database restore. Should work.
answered Oct 3, 2018 at 18:48
Jonny BoyJonny Boy
1921 gold badge1 silver badge10 bronze badges
I think I get the award for the most bone headed reason to get this error. In the Restore Database dialog, the database dropdown under Source is gray and I thought it was disabled. I skipped down to the database dropdown under Destination thinking it was the source and made a selection. Doing this will cause this error message to be displayed.
answered Jan 22, 2019 at 15:34
GabeGabe
8079 silver badges13 bronze badges
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 FilesMicrosoft SQL ServerMSSQL11.CSSPMSSQLDATAYOURDATABASE.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
- In SSMS, launch the Restore Database dialog,
- Select Files, and then enable Relocate all files to folder.
- Click OK.
References
- Restore a Database Backup (SQL Server Management Studio)
Одинесю
26.05.15 — 13:14
Модель восстановления — Полная. Имеется Полная резервная копия базы. При попытке восстановления выпадает ошибка System.Data.SqlClient.SqlError: Инструкцию BACKUP LOG невозможно выполнить, так как не существует резервной копии текущей базы данных. (Microsoft.SqlServer.SmoExtended)
Подскажите, что может быть?
PS Восстанавливаю через Management Studio.
fisher
1 — 26.05.15 — 13:17
Первый раз восстанавливаешь? Тогда что-то не так сделал.
Heckfy
2 — 26.05.15 — 13:17
Телепатирую: у вас файл не фулл бекапа, а дифф.
Jaap Vduul
3 — 26.05.15 — 13:27
Наверное, включена опция «Take tail-log backup before restore»
Одинесю
4 — 26.05.15 — 13:34
(3) При создании резервной копии?
Одинесю
5 — 26.05.15 — 13:34
(2) Фулл
Alexey_Morov
6 — 26.05.15 — 13:35
(3)
Провёл восстановление своей базы при указанных параметрах (полная модель восстановления). Всё отлично и на MS SQL 2005, 2008, 2012.
Может быть проблема в том, что восстанавливается бэкап от старшей версии MS SQL на младшей (т.е. бэкап, сделанный в 2012 на, допустим, 2005ом)?
Одинесю
7 — 26.05.15 — 13:35
(1) У себя на копии делал раньше — все нормально восстанавливалось.
Одинесю
8 — 26.05.15 — 13:36
(6) Наоборот на 14 восстанавливаю копию, созданную на 2008, но я так делал уже.
Alexey_Morov
9 — 26.05.15 — 13:39
(1)
Непонятно причём тут BACKUP LOG, если делается наоборот восстановление?
leonidkorolev
10 — 26.05.15 — 13:39
скрипт сюда выложи
Jaap Vduul
11 — 26.05.15 — 13:39
(4) При восстановлении естественно.
Jaap Vduul
12 — 26.05.15 — 13:39
(9) см. (3)
Heckfy
13 — 26.05.15 — 13:40
(5) А я говорю Дифф.
Alexey_Morov
14 — 26.05.15 — 13:42
(13)
Не, при диффе должна быть другая ошибка.
(12) Выложи, пожалуйста, скриншоты.
Jaap Vduul
15 — 26.05.15 — 13:42
Одинесю
16 — 26.05.15 — 13:46
(14) Скриншот чего, я через Мэнэджмент Студио загружаю, вот полное описание ошибки, сейчас покажу окно настройки копирования
===================================
Ошибка восстановления базы данных «Aksol_UPP». (Microsoft.SqlServer.Management.RelationalEngineTasks)
——————————
Расположение программы:
в Microsoft.SqlServer.Management.RelationalEngineTasks.RestoreDatabaseTaskFormComponent.PerformTask(ITaskExecutionContext context)
в Microsoft.SqlServer.Management.RelationalEngineTasks.RestoreDatabaseTaskFormComponent.Perform(ITaskExecutionContext context)
в Microsoft.SqlServer.Management.TaskForms.TaskExecutionManager.ExecuteTaskSequence(ISfcScriptCollector collector)
===================================
System.Data.SqlClient.SqlError: Инструкцию BACKUP LOG невозможно выполнить, так как не существует резервной копии текущей базы данных. (Microsoft.SqlServer.SmoExtended)
——————————
Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=12.0.2000.8+((SQL14_RTM).140220-1752)&LinkId=20476
——————————
Расположение программы:
в Microsoft.SqlServer.Management.Smo.RestorePlan.Execute()
в Microsoft.SqlServer.Management.RelationalEngineTasks.RestoreDatabaseTaskFormComponent.PerformTask(ITaskExecutionContext context)
Jaap Vduul
17 — 26.05.15 — 13:48
(16) см. (15)
Одинесю
18 — 26.05.15 — 13:50
Одинесю
19 — 26.05.15 — 13:50
(17) Сейчас
Одинесю
20 — 26.05.15 — 13:53
Alexey_Morov
21 — 26.05.15 — 13:53
(20) Вот. Наверняка эта ошибка из-за двух галок «Создать резервную копию…»).
Alexey_Morov
22 — 26.05.15 — 13:54
Надо срочно отключить эти галки, так как они мешают при проведении восстановления полного бэкапа.
Одинесю
23 — 26.05.15 — 13:56
(22) Я пробовал…
Одинесю
24 — 26.05.15 — 13:58
(22) Вроде пошло, сделал кроме отключения галок еще и NORECOVERY, вышла уже другая ошибка, что база отличается. Спасибо, буду дальше пробовать.
Jaap Vduul
25 — 26.05.15 — 14:00
(24) Включи «Перезаписать существующую…»
Господин ПЖ
26 — 26.05.15 — 14:00
>вышла уже другая ошибка, что база отличается
у новой базы id другой поставь галку replace
Alexey_Morov
27 — 26.05.15 — 14:03
(26)
Согласен. Должно помочь.
Одинесю
28 — 26.05.15 — 14:12
(26) (27) Спасибо!
Одинесю
29 — 26.05.15 — 14:13
(25) Спасибо!
- Remove From My Forums
-
Question
-
Hi ,
I tried to restore database in sql server 2012 in windows 8. but getting this error , there are several files which already worked before in restoration now not working :
TITLE: Microsoft SQL Server Management Studio
——————————Restore of database ‘classifiedspak’ failed. (Microsoft.SqlServer.Management.RelationalEngineTasks)
——————————
ADDITIONAL INFORMATION:System.Data.SqlClient.SqlError: BACKUP LOG cannot be performed because there is no current database backup. (Microsoft.SqlServer.SmoExtended)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.2100.60+((SQL11_RTM).120210-1846+)&LinkId=20476
——————————
BUTTONS:OK
——————————
Thank You , Shan Ali Khan
Answers
-
You are getting this error because the database you are trying to restore to is not the same from which the backups were taken. The backups were taken from different database and you are trying to restore to a different database.
You have 2 options here.
- Use WITH REPLACE while using the RESTORE command. This will overwrite the existing database and restore the database state represented by the backup files.
- Delete the database to which you are trying to restore to and restore again using RESTORE command. This will create a new database with the state represented by the backup files.
Please note that in both these options you will lose the existing data of the database you are trying to restore to.
Refer to
http://blog.sqlauthority.com/2007/09/27/sql-server-fix-error-3154-the-backup-set-holds-a-backup-of-a-database-other-than-the-existing-database/ for more details about the error you are facing.Refer to http://msdn.microsoft.com/en-us/library/ms186858.aspx for more details about the WITH REPLACE option.
If this does not help, can you please share more details about your scenario. Like Which database was backed up? Where are those files? Which database are you trying to restore to?
Vatsalya — MSFT The views and opinions expressed herein are those of the author and do not necessarily reflect the views of Microsoft.
- Edited by
Saturday, November 10, 2012 4:15 PM
Added reference link. - Marked as answer by
Shan Khan
Monday, November 12, 2012 7:38 AM
- Remove From My Forums
-
Question
-
Hi ,
I tried to restore database in sql server 2012 in windows 8. but getting this error , there are several files which already worked before in restoration now not working :
TITLE: Microsoft SQL Server Management Studio
——————————Restore of database ‘classifiedspak’ failed. (Microsoft.SqlServer.Management.RelationalEngineTasks)
——————————
ADDITIONAL INFORMATION:System.Data.SqlClient.SqlError: BACKUP LOG cannot be performed because there is no current database backup. (Microsoft.SqlServer.SmoExtended)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.2100.60+((SQL11_RTM).120210-1846+)&LinkId=20476
——————————
BUTTONS:OK
——————————
Thank You , Shan Ali Khan
Answers
-
You are getting this error because the database you are trying to restore to is not the same from which the backups were taken. The backups were taken from different database and you are trying to restore to a different database.
You have 2 options here.
- Use WITH REPLACE while using the RESTORE command. This will overwrite the existing database and restore the database state represented by the backup files.
- Delete the database to which you are trying to restore to and restore again using RESTORE command. This will create a new database with the state represented by the backup files.
Please note that in both these options you will lose the existing data of the database you are trying to restore to.
Refer to
http://blog.sqlauthority.com/2007/09/27/sql-server-fix-error-3154-the-backup-set-holds-a-backup-of-a-database-other-than-the-existing-database/ for more details about the error you are facing.Refer to http://msdn.microsoft.com/en-us/library/ms186858.aspx for more details about the WITH REPLACE option.
If this does not help, can you please share more details about your scenario. Like Which database was backed up? Where are those files? Which database are you trying to restore to?
Vatsalya — MSFT The views and opinions expressed herein are those of the author and do not necessarily reflect the views of Microsoft.
- Edited by
Saturday, November 10, 2012 4:15 PM
Added reference link. - Marked as answer by
Shan Khan
Monday, November 12, 2012 7:38 AM
SQL Server 2014 Developer SQL Server 2014 Enterprise SQL Server 2014 Enterprise Core SQL Server 2014 Standard Еще…Меньше
Проблемы
Предположим, что вы создали базу данных клонов с включенным хранилищем запросов в экземпляре SQL Server 2014. При восстановлении базы данных копии в другом экземпляре SQL Server происходит сбой восстановления, и появляется следующее сообщение об ошибке:
Восстановление database_name базы данных завершилось сбоем. (Microsoft. SqlServer. Management. RelationalEngineTasks) System. Data. SqlClient. SqlError: восстановление базы данных аварийно завершается. (Microsoft.SqlServer.SmoExtended)
Кроме того, системное утверждение заносится в журнал ошибок SQL Server.
Решение
Эта проблема устранена в следующем накопительном обновлении SQL Server:
Накопительное обновление 3 для SQL Server 2014 с пакетом обновления 2
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Последнее накопительное обновление для SQL Server 2014
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе «Применяется к».
Ссылки
Ознакомьтесь с терминологией , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.
Нужна дополнительная помощь?
Perform the following commands in SQL Server Management Studio (SSMS) on the SQL Server instance you are trying to restore the database to.
Verify BAK File
RESTORE VERIFYONLY FROM DISK = 'T:DIRECTORYDATAWAREHOUSE_FULL_20200115_190000.bak'
This should provide you with a result set that looks like this:
The backup set on file 1 is valid.
Possible Errors
If the check terminates abnormally then the cause could be because one of these checks have failed:
Checks performed by RESTORE VERIFYONLY include:
- That the backup set is complete and all volumes are readable.
- Some header fields of database pages, such as the page ID (as if it were about to write the data).
- Checksum (if present on the media).
- Checking for sufficient space on destination devices.
Reference: RESTORE Statements — VERIFYONLY (Transact-SQL) (Microsoft | SQL Docs)
Check the BAK Fileheader
RESTORE HEADERONLY FROM DISK = 'T:DIRECTORYDATAWAREHOUSE_FULL_20200115_190000.bak'
This should provide you with a result set that looks like this:
BackupName BackupDescription BackupType ExpirationDate Compressed Position DeviceType UserName ServerName DatabaseName DatabaseVersion DatabaseCreationDate BackupSize FirstLSN LastLSN CheckpointLSN DatabaseBackupLSN BackupStartDate BackupFinishDate ........ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ........ NULL NULL 1 NULL 0 1 2 NT SERVICESQLSERVERAGENT NOTHING StackExchange 782 2019-07-24 09:17:00.000 1688399872 568000013810400037 568000013813600001 568000013810400037 568000013524000037 2020-01-15 19:25:27.000 2020-01-15 19:25:29.000 ........
Check the Contents of the BAK File
RESTORE FILELISTONLY FROM DISK = 'T:DIRECTORYDATAWAREHOUSE_FULL_20200115_190000.bak'
This should provide you with a result set that looks like this:
LogicalName PhysicalName Type FileGroupName Size MaxSize FileId CreateLSN DropLSN UniqueId ReadOnlyLSN ReadWriteLSN BackupSizeInBytes SourceBlockSize FileGroupId LogGroupGUID DifferentialBaseLSN DifferentialBaseGUID IsReadOnly IsPresent TDEThumbprint ------------------------ ---------------------------------------------- ---- ---------------- ------------ --------------- ------- ------------------- -------- ------------------------------------ ------------------- ------------------ ------------------ --------------- ----------- ------------- -------------------- ------------------------------------ ---------- --------- -------------- StackExchange C:SQLSQL_DATAStackExchange.mdf D PRIMARY 2623537152 35184372080640 1 0 0 725120E9-8DF3-4E09-9A89-94433A6EB49B 0 0 1687224320 4096 1 NULL 568000013524000037 707694EC-A36C-444A-8879-C807B2137455 0 1 NULL StackExchange_DefRO C:SQLSQL_DATAStackExchangeRO.ndf D DEFAULTRO 5242880 35184372080640 3 89000000045300001 0 05C6BA44-123A-4749-8FB5-A0A16EF49A51 102000000014600005 90000000013100004 131072 4096 2 NULL 568000013524000037 707694EC-A36C-444A-8879-C807B2137455 1 1 NULL StackExchange_PUBL_SNAP C:SQLSQL_DATAStackExchange_PUBL_SNAP.ndf D PUBL_SNAP_DBASE 5242880 35184372080640 4 286000001633700001 0 DCA761C4-6260-4BE3-8280-64099C98911D 0 0 131072 4096 3 NULL 568000013524000037 707694EC-A36C-444A-8879-C807B2137455 0 1 NULL StackExchange_log C:SQLSQL_LOGSStackExchange_log.ldf L NULL 21798322176 2199023255552 2 0 0 364124B1-081E-45C5-971C-2CD1CBBF13EC 0 0 0 4096 0 NULL 0 00000000-0000-0000-0000-000000000000 0 1 NULL
If the Steps Fail
If any of the above steps fail, then you will have to determine what the issue is. The RESTORE ...
command should provide enough information to assist you in finding the root cause.
Example Solutions
If the backup file is corrupt, then you will have to find a backup file that works.
If the disk is full, then you will have to add additional space.
If all else fails, then you might have to open a case with Microsoft Support.
Best Practice
(emphasis mine)
Test your backups!
You do not have a restore strategy until you have tested your backups. It is very important to thoroughly test your backup strategy for each of your databases by restoring a copy of the database onto a test system. You must test restoring every type of backup that you intend to use. It is also recommended that once you restore the backup, you perform database consistency checks via DBCC CHECKDB of the database to validate the backup media was not damaged.
Reference: Back Up and Restore of SQL Server Databases (Microsoft | SQL Docs)
- Remove From My Forums
-
Question
-
i have .bak file downloaded from internet , and i also have istalled sql server 2012.
my problem that i can not restore this .bak file and get this error massage :
TITLE: Microsoft SQL Server Management Studio
——————————
Restore of database ‘SRO_VT_SHARD’ failed. (Microsoft.SqlServer.Management.RelationalEngineTasks)
——————————
ADDITIONAL INFORMATION:
System.Data.SqlClient.SqlError: The operating system returned the error ‘5(Access is denied.)’ while attempting ‘RestoreContainer::ValidateTargetForCreation’ on ‘C:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATASRO_VT_SHARD.mdf’. (Microsoft.SqlServer.SmoExtended)For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.2100.60+((SQL11_RTM).120210-1846+)&LinkId=20476
— .bak file version = 661 10 50 1600 = sql server 2008R
— my sql version = Microsoft SQL Server 2012 — 11.0.2100.60 (Intel X86)
any help please
Answers
-
Hello Alaa — The message «System.Data.SqlClient.SqlError: The operating system returned the error
‘5(Access is denied.)’», itself indicating permission issues while restoring on the path «C:Program
FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATA»Few Possible Solutions:
- Change your SQL Server service account to an identity that has permissions. For testing purpose you can use «Local System», restart the service and perform the restoration again. It should succeed.
- OR You can create a folder on root of C or D drive & give full control to everyone and then try restoration again by changing the path of restoration file to these drives/ folders by using WITH MOVE option or by using GUI
- OR You can talk to your server support team and ask them to give full control/ permission to SQL Server service account on the folder «C:Program
FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATA» and then try your restore action again
Hope this helps !
Good Luck!
Please Mark This As Answer if it solved your issue.
Please Vote This As Helpful if it helps to solve your issue- Marked as answer by
Thursday, August 6, 2015 9:57 AM
Restoration of a database from a backup file sometimes can be very tricky. Especially when you don’t know on what server (what environment or what SQL Server version) it was taken. Sometimes you, as a DBA, are just asked to restore database from a given backup on the pointed server. You have got a backup file, you do everything as always but for some reason, the restore operation fails.
Restore of database failed
In this blog post, I describe what is the reason behind the below error.
Error message:
TITLE: Microsoft SQL Server Management Studio ------------------------------ Restore of database 'AdventureWorks2017' failed. (Microsoft.SqlServer.Management.RelationalEngineTasks) ------------------------------ ADDITIONAL INFORMATION: System.Data.SqlClient.SqlError: The database was backed up on a server running version 14.00.1000. That version is incompatible with this server, which is running version 13.00.5026. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server. (Microsoft.SqlServer.SmoExtended) For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=14.0.17254.0+((SSMS_Rel_17_4).180502-0908)&LinkId=20476 ------------------------------ BUTTONS: OK ------------------------------
So… what we can do in such case?
Let’s ask for help 🙂
First of all, as you already noticed, in the left bottom corner we have a help button. Did you try to use it? I can bet you didn’t. Let’s see how Microsoft will try to help us in our case.
As you can see the help for the first error is not available. This option in the menu is grayed out. However, the help for the second, more detailed error seems to be available. It is quite promising, isn’t it? When we click this we’re getting a new dialog with the notification that some data will be sent to Microsoft and we need to agree on that if we want to see the help for our problem.
Product Name, Product Version, and LinkId… I think I’m not afraid to share this data if that suppose to give me a solution for my problem. So what I get after clicking [Yes] button? I get nothing… New webpage opens in my browser and the only thing we get is an advertisement to buy new Surface Pro… I’m not kidding…
Additional funny thing is that Microsoft collects data about SSMS version I use: 14.0.17254.0+((SSMS_Rel_17_4).180502-0908), but why they described it as release 17.4 while I use 17.7?
Ok. Now we know that MSFT will not help us in this case.
Let’s try using T-SQL
We’re not able to restore a database using SSMS GUI so maybe it will work when using T-SQL? Let’s give it a try:
USE [master] RESTORE DATABASE [AdventureWorks2017] FROM DISK = N'C:isoDB - AdventureWorksAdventureWorks2017.bak' WITH FILE = 1, MOVE N'AdventureWorks2017' TO N'C:Program FilesMicrosoft SQL ServerMSSQL13.SS2016MSSQLDATAAdventureWorks2017.mdf', MOVE N'AdventureWorks2017_log' TO N'C:Program FilesMicrosoft SQL ServerMSSQL13.SS2016MSSQLDATAAdventureWorks2017_log.ldf', NOUNLOAD, STATS = 5 GO
No, it doesn’t work neither.
Msg 3169, Level 16, State 1, Line 2 The database was backed up on a server running version 14.00.1000. That version is incompatible with this server, which is running version 13.00.5026. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server. Msg 3013, Level 16, State 1, Line 2 RESTORE DATABASE is terminating abnormally.
That version is incompatible with this server
So what does it mean? It simply means that database backup was taken on newer SQL Server version than the SQL Server version on which you’re trying to restore it. Unfortunately, such an operation is not supported. All SQL Servers are backward compatible and you’re always able to restore a database from a backup taken on an older version to the newer one but not vice versa.
If you want to decrypt build numbers from the error message you can use this simple cheat sheet:
Build number | SQL Server version |
14.0 | SQL Server 2017 |
13.0 | SQL Server 2016 |
12.0 | SQL Server 2014 |
11.0 | SQL Server 2012 |
10.50 | SQL Server 2008 R2 |
10.0 | SQL Server 2008 |
9.0 | SQL Server 2005 |
8.0 | SQL Server 2000 |
7.0 | SQL Server 7.0 |
You can find much more details about SQL Server builds on this page: https://sqlserverbuilds.blogspot.com/. I recommend, to add it to your bookmarks in your favorite browser. It’s invaluable when you need to quickly check SQL Server version or find latest Service Pack or Cumulative Update.
Now, armed with this knowledge, you know that this database backup file has been created on SQL Server 2017. That is the reason why I cannot restore it on SQL Server 2016.
On what SQL Server version this backup was created?
You don’t have to try to restore a database from a backup file in order to check on what version it was created. You can safely verify it using simple RESTORE HEADERONLY command.
RESTORE HEADERONLY FROM DISK = 'C:isoDB - AdventureWorksAdventureWorks2017.bak'; GO
In the resultset, you will find such information as:
- Backup Name and Description
- Who created it and on what Server (Login Name, Server Name, and version)
- Database Name
- Creation Date (Start and Finish)
- and much more…
What to do when we cannot restore database from backup?
You already know that you will not be able to restore your database on the SQL Server you need. What can you do in such a situation? The solution is simple – you need to use a different database migration method. Here is a short list of few possibilities you have:
Option 1
In the case of very small databases, you can use SSMS to generate the SQL script that includes schema and data (INSERT statements). In next step, you can use this script to generate a new database on the target server.
Option 2
For bigger databases, you can generate the SQL script with the schema only and then use it to create an empty database on the target server. In the second step, you can use Import and Export Wizard or BCP command to migrate data from one database to another.
Option 3
You can also use the Export Data-Tier Application functionality to generate BACPAC file consisting of database schema and data. On the target server, you can use the Import Data-Tier Application functionality to create the new database from this file.
Do not mistake DACPAC with BACPAC. The former includes only database schema, and the latter includes database schema and data.
Option 4
Another possibility is to use the Copy Database Wizard with the SMO transfer method.
Option 5
The last solution is to use some available third-party tools that deliver Data Compare functionality.
Thanks for reading!
-Marek
Share it: