Ошибка при восстановлении базы sql

Приглашаем разобраться в важных темах – устранения ошибок 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.

В этой статье мы расскажем об ошибке 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.

   sergey1982

10.11.13 — 12:48

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

   МихаилМ

1 — 10.11.13 — 12:56

   sergey1982

2 — 10.11.13 — 12:58

Читал. На 2008 сервере я указывал при восстановлении файл базы и лога. А в 2012 он не дает, все поля не активны.

   sergey1982

3 — 10.11.13 — 12:59

У меня просто копии, модель восстановления на всех базах простая была. А сейчас он требует журнал транзакция, как я понимаю

   МихаилМ

4 — 10.11.13 — 13:04

(3)

ерунду («требует журнал транзакция») Вы понимаете.

либо не полный список ошибок.

читайте заново

http://msdn.microsoft.com/ru-ru/library/ms186390.aspx

приведите номер ошибки.

   shuhard

5 — 10.11.13 — 13:04

(3) так бэкап полный или инкрементный

   sergey1982

6 — 10.11.13 — 13:07

бекап полный

   sergey1982

7 — 10.11.13 — 13:11

Номера ошибки нет, просто Выбираю базу данных, пустую, которую создал через 1с , дальше выбираю Задачи — Восстановить — база данных. Открывается окно гдн Источник , выбираю устройство и ище местоположения архива, Назначение — пустая база данных. А вот где Таблица с Восстанавливаемыми резервными наборами данных, которая, как я понимаю, определяет что за архив я буду разворачивать, эта таблица не активна, пустая. А когда все хорошо, она паказывает архив

   МихаилМ

8 — 10.11.13 — 13:12

   sergey1982

9 — 10.11.13 — 13:15

Вначале пишет Чтение заголовка устройств резервного копирования, идет зеленая полоса прогресса, а потом красный крестик Для восстановления не выбран резервный набор данных. Я не понимаю почему ему не нравятся архивы?

   sergey1982

10 — 10.11.13 — 13:16

Может установить родной 2008 с которого архивы все делались вместо 2012

   МихаилМ

11 — 10.11.13 — 13:20

select @@VERSION

что говорит ?

   sergey1982

12 — 10.11.13 — 13:23

секундочку

   shuhard

13 — 10.11.13 — 13:23

(9)[Я не понимаю почему ему не нравятся архивы?]

а это к чему ?

   sergey1982

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: )

   sergey1982

15 — 10.11.13 — 13:26

shuhard, раньше получалось же восстановить архив в любую базу, выбирал только расположение самой базы и лога транзакций и все. А сейчас он ничего не дает выбрать, все неактивно Только пишет:

  для восстановления не выбран резервный набор данных

   sergey1982

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

   sergey1982

19 — 10.11.13 — 13:31

не перейти по ссылке (

   shuhard

20 — 10.11.13 — 13:36

(15) напиши ещё сто раз одно и то же

   sergey1982

21 — 10.11.13 — 13:38

это мне адресовано?

   sergey1982

22 — 10.11.13 — 13:41

короче задница полная, бухи останутся без работы

   МихаилМ

23 — 10.11.13 — 13:45

   sergey1982

24 — 10.11.13 — 14:28

он не дает мне изменить параметры восстановления !

   МихаилМ

25 — 10.11.13 — 14:38

(0)

9. Если во время выполнения операции восстановления возникает ошибка 3154, перезапишите существующую базу данных используя команду RESTORE DATABASE с опцией WITH REPLACE или выполните восстановление в базу данных с другим именем.

Ошибка 3154 возникает, когда Вы пытаетесь восстановить базу поверх существующей, но существующая база данных была создана оператором CREATE DATABASE с другим набором инструкций, чем при создании базы данных, восстанавливаемой из резервной копии.

   sergey1982

26 — 10.11.13 — 14:40

Михаил, скажите пожалуйста, так как можно восстановить в пустую базу данных данные из архива, чтобы сервер не ругался?

   МихаилМ

27 — 10.11.13 — 14:46

(26)

из (17) узнаёте параметры базы;

создаете с такими же пораметрами новую бд

восстанавливаете.

   sergey1982

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

——————————

КНОПКИ:

ОК

——————————

   sergey1982

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С

   sergey1982

31 — 10.11.13 — 14:55

баз много, было бы несколько — запросто

   sergey1982

32 — 10.11.13 — 14:55

беда совсем

   sergey1982

33 — 10.11.13 — 14:56

Никак не зайти в параметры и не выбрать местоположение базы и журнала.

   ilkoder

34 — 10.11.13 — 14:59

Ошибка здесь — Выбираю базу данных, пустую, которую создал через 1с — создай просто пустую базу через sql менеджер — в нее востанови базу, а потом укажи путь к ней для сервера 1с

   sergey1982

35 — 10.11.13 — 15:00

Забыл сказать, что резервные копии были сжаты средст

вами sql

   МихаилМ

36 — 10.11.13 — 15:02

маловероятно, что все копии испортились, если их хранили не на флэш.

разверните более ранние архивы.

   ilkoder

37 — 10.11.13 — 15:02

Когда создаешь базу через 1с — она уже будет не пустой — в ней будут куча таблиц 1с. если восстанавливать из dt, то да, а если скл — то нужно просто пустая  скл-база

   sergey1982

38 — 10.11.13 — 15:03

так в пустую и восстанавливаю данные из архива

   МихаилМ

39 — 10.11.13 — 15:03

скорее всего Вы не тот скл 2008 развернули

скл 2008 и скл 2008 R2 различные версии.

   ilkoder

40 — 10.11.13 — 15:05

(38) — пустую базу как создаешь?

   sergey1982

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

——————————

КНОПКИ:

ОК

——————————

   sergey1982

42 — 10.11.13 — 15:06

Пустую создаю через значок 1с — создание новой базы

   sergey1982

43 — 10.11.13 — 15:06

Вы думаете лучше создавать все только скулем?

   МихаилМ

44 — 10.11.13 — 15:06

   sergey1982

45 — 10.11.13 — 15:06

в свойствах программа пишет просто 2008 без R2

   ilkoder

46 — 10.11.13 — 15:07

(43) — конечно

   sergey1982

47 — 10.11.13 — 15:07

Михаил, он мне в опции не дает зайти (

   sergey1982

48 — 10.11.13 — 15:09

Создал чере скуль — все то же самое

   sergey1982

49 — 10.11.13 — 15:10

Михаил, как на Вашем скриншоте, я так всегда и восстанавливал в пустую базу. Но сейчас засада какая-то.

   ilkoder

50 — 10.11.13 — 15:12

» А вот где Таблица с Восстанавливаемыми резервными наборами данных, которая, как я понимаю, определяет что за архив я буду разворачивать, эта таблица не активна, пустая.» — значит архивы битые, сразу не все прочитал, там по любому должна быть куча информация от даты создания, названия базы и пр

   sergey1982

51 — 10.11.13 — 15:14

Как вы поняли, я не мега спец по СКУЛЮ, читаю Уильяма Станека, но прост осейчас надо все мегасрочно к завтра исправить. А что за таблица я не совсем понимаю?

   sergey1982

52 — 10.11.13 — 15:15

Все началось с того, что все работало нормально. Начальник решил вбить в домен этот несчастный сервер. После того, как он его вбил в домен, сервер уже не узнавал сам себя. Ну а разбираться мне крайнему

   sergey1982

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 Neamati's user avatar

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's user avatar

SteveC

15.7k23 gold badges101 silver badges173 bronze badges

answered Aug 28, 2012 at 11:40

user489998's user avatar

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

Tyler Forsythe's user avatar

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»
enter image description here

So if You still need to move your data to a lower version SQL then check This.

Community's user avatar

answered Jan 5, 2016 at 15:56

Alon Or's user avatar

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

Keith's user avatar

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

Frederik Struck-Schøning's user avatar

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

Liz's user avatar

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 Ripley's user avatar

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.

enter image description here

answered Jan 12, 2016 at 14:41

Brian's user avatar

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's user avatar

Harry

3,0097 gold badges37 silver badges64 bronze badges

answered Jul 4, 2017 at 9:43

Sharfi's user avatar

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

GadgetNC's user avatar

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.2377's user avatar

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

BCA's user avatar

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

JohnZaj's user avatar

JohnZajJohnZaj

3,0505 gold badges36 silver badges51 bronze badges

In my case, it was a permissions issue.

enter image description here

For the Windows user, I was using did not have dbcreator role.

So I followed the below steps

  1. Connect as sa to the SQL server
  2. Expand Security in Object Explorer
  3. Expand Logins
  4. Right click on the Windows user in question
  5. Click on Properties
  6. Select Server Roles from Select a page options
  7. Check dbcreator role for the user
  8. Click OK

enter image description here

answered Sep 18, 2018 at 0:46

Devraj Gadhavi's user avatar

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.'s user avatar

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 Gomes's user avatar

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

Anas Ghanem's user avatar

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

Danniel Little's user avatar

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 Boy's user avatar

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

Gabe's user avatar

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

  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)

  

Одинесю

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.

    1. Use WITH REPLACE while using the RESTORE command. This will overwrite the existing database and restore the database state represented by the backup files.
    2. 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.

    1. Use WITH REPLACE while using the RESTORE command. This will overwrite the existing database and restore the database state represented by the backup files.
    2. 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.

SSMS GUI 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.

SSMS GUI error - get help 01

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.

SSMS GUI error - get help 02

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…

SSMS GUI error - surface

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?

SSMS version

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…

SQL Server RESTORE HEADERONLY

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:

  • Ошибка при восстановлении базы postgresql
  • Ошибка при восстановлении айфона через айтюнс 4010
  • Ошибка при восстановлении айфона через айтюнс 3194
  • Ошибка при включении духовки safe
  • Ошибка при включении доты 2