У меня есть база данных SQL Server 2012 с включенным filestream. Однако, когда я делаю резервную копию и пытаюсь восстановить его на другом экземпляре SQL Server 2012 (на другой машине), я просто получаю это сообщение:
Не выбрано резервное копирование для восстановления.
ни одной строчки больше объяснений. Что здесь не так?
все остальные базы данных без filestream в порядке и могут быть успешно восстановлены. Это что-то связанное с файлового потока? Должен ли я установить исправление или что-то в этом роде.
4577
21
21 ответов:
У меня была эта проблема, и оказалось, что я пытался восстановить неправильную версию SQL. Если вы хотите получить дополнительную информацию о том, что происходит, попробуйте восстановить базу данных с помощью следующего SQL:
RESTORE DATABASE <YourDatabase> FROM DISK='<the path to your backup file><YourDatabase>.bak'
Это должно дать вам сообщение об ошибке, что нужно отладить это.
моя проблема оказалась разрешения. Я нахожусь на машине dev и копирую через домашнюю группу. Каким-то образом, вероятно, основываясь на том, куда я скопировал файл, разрешения были перепутаны, и Management Studio не смогла прочитать файл. Так как это Дев я просто дал все разрешения в файл bak и затем может успешно восстановить через графический интерфейс.
при запуске:
RESTORE DATABASE <YourDatabase> FROM DISK='<the path to your backup file><YourDatabase>.bak'
это дало мне следующую ошибку:
семейство носителей на устройстве ‘C:NorthwindDB.бак ‘ неправильно сформирован. SQL Server не может обработать это семейство носителей. Восстановление HEADERONLY завершается ненормально. (Microsoft SQL Server, ошибка: 3241)
Цитатаоказывается, вы не можете взять БД из более высокой версии SQL в более низкую, даже если уровень совместимости одинаков как для источника, так и для назначения ДЕЦИБЕЛ.
Чтобы проверить версию SQL выполните:Select @@Version
чтобы увидеть разницу, просто создайте БД на вашем источник SQL server и попробуйте выполнить восстановление из файла резервной копии, когда вы сделаете это с помощью SSMS, как только вы выберете файл резервной копии, он покажет некоторую информацию об этом, как opossed, когда вы откроете его с сервера более низкой версии, который просто скажет » нет резервного набора данных, выбранного для восстановления»
так если вам все еще нужно, чтобы переместить данные для более низкой версии SQL затем проверьте этой.
запустите SQL Server Management Studio администратор (щелкните правой кнопкой мыши > Запуск от имени администратора), затем попробуйте восстановить.
Я думал, что не настолько глуп, чтобы перепутать версии-однако я не понимал, что на моем новом сервере экземпляр SQL Server 2005 уже был установлен с рождения с именем
SQLEXPRESS
. При попытке восстановить мою резервную копию базы данных SQL Server 2008 R2 в SSMS 2012 вSQLEXPRESS
экземпляр, список резервных наборов данных был пуст.В конце концов я понял, что
SQLEXPRESS
экземпляр на сервере был не 2012 экземпляр, а 2005. Я отключился и подключился к фактический 2012 экземпляр (в моем случае с именемSQLEXPRESS2012
), и это (очевидно) сработало.
моя проблема заключалась в том, что мой пользователь был в группе встроенных администраторов и не имел пользователя с ролью Sysadmin на SQL Server.
Я только что начал студию управления в качестве администратора. Таким образом можно было восстановить базу данных.
Извините, но я только что зарегистрировался и не могу добавить комментарий, поэтому просто копирую ответ Тайлера Форсайта здесь, что именно сработало для меня.
«моя проблема в конечном итоге права. Я нахожусь на машине dev и копирую через домашнюю группу. Каким-то образом, вероятно, основываясь на том, куда я скопировал файл, разрешения были перепутаны, и Management Studio не смогла прочитать файл. Поскольку это dev, я просто дал всем разрешения на файл bak и затем мог успешно восстановить его через графический интерфейс.» Тайлер Форсайт
и чтобы уточнить, я восстанавливаю резервную копию с экземпляра 2008 до 2012 года, разных машин (prodution vs local dev). Резервная копия-это автоматическая резервная копия, мне не нужно было создавать ее вручную, чтобы этот процесс работал. Просто измените разрешения (все проще всего для локальной машины dev), и SSMS теперь может правильно прочитать файл резервной копии и восстановить его на моей локальной машине dev.
в моем случае это были разрешения и тот факт, что я использовал «восстановление файлов и файловых групп…»а не просто «восстановить базу данных …».
это имело значение.
для меня проблема была .Файл BAK находится в зашифрованной папке на сервере. Даже с полными правами администратора я никогда не мог заставить SSMS прочитать файл. Переезд .Бак в незашифрованную папку решил мою проблему. Обратите внимание, что после перемещения файла вам может потребоваться также изменить свойства фактического файла, чтобы удалить шифрование (щелкните правой кнопкой мыши, свойства, дополнительно, снимите флажок «шифровать содержимое для защиты данных».
FYI: я обнаружил, что при восстановлении мне нужно было использовать те же учетные данные (SQL User) для входа в SSMS. Сначала я попытался восстановить с помощью учетной записи проверки подлинности Windows.
У меня была такая же проблема с SQL Server 2014 (среда Management Studio не могла видеть папку, в которой находился файл резервной копии, при попытке найти его для операции восстановления). этой теме держал ответ, который решил мою проблему. Цитата:
учетная запись службы SQL Server можно найти с помощью Start — > Control
Панель — > Администрирование — > Службы. Дважды щелкните на SQL Server
сервис- > вкладка вход. Вы либо будете использовать » локальную системную учетную запись»
или «эта учетная запись», чтобы определить конкретную учетную запись. Если вы используете
Локальная системная учетная запись, вы не сможете ссылаться на копии
не локально для сервера. Если вместо этого вы определили учетную запись
используйте, это учетная запись, которая должна иметь доступ к файлу резервной копии
местоположение. Возможность доступа к резервным копиям с помощью личного входа
не имеет значения; это учетная запись SQL Server, которая используется, хотя
вы осуществляете резервное копирование. Ваши ИТ-специалисты должны уметь
определите, какие права предоставляются каждой учетной записи.надеюсь, что это кому-то поможет.
в моем случае (новая установка sql server, вновь созданный пользователь) у моего пользователя просто не было необходимого разрешения. Я вошел в студию управления как sa, затем перейдите в раздел Безопасность / логины, щелкните правой кнопкой мыши мое имя пользователя, свойства, а затем в разделе роли сервера я проверил
sysadmin
.
для меня, это было потому, что файл резервной копии был еще открыт другим процессом. Вот журнал событий:
BackupDiskFile:: OpenMedia: устройство резервного копирования ‘X:BackupsMyDatabaseMyDatabase_backup_2014_08_22_132234_8270986.бак’ не удалось открыть. Ошибка операционной системы 32(процесс не может получить доступ к файлу, так как он используется другим процессом.).
просто закрытие и повторное открытие SQL Server Management Studio разрешило его (так что, очевидно, это была ssms.exe, который имел ручка..)
для меня это вопрос привилегий пользователей.
Я вошел в систему с пользователем sa и его работа в порядке.
еще одной потенциальной причиной этого сбоя, по-видимому, является Google Диск. Google Диск сжимает файлы bak или что-то еще, поэтому, если вы хотите перенести резервную копию базы данных через Google Диск, похоже, вы должны сначала ее заархивировать.
С помощью SQL Server 2012 Express.
моя ошибка (из диалогового окна SQL Manager — Restore Database):
No backupset selected to be restored
кроме того, в списке не было показано никаких резервных наборов данных для выбора.
проблема заключалась в том, что я переместил 1 из 5 резервных файлов в папку, где у пользователя входа в службу SQL Server не было разрешений — я попытался добавить этого пользователя, но не смог получить пользователя NT ServiceMSSQL$SQLEXPRESS в список безопасности.
I переместил файл в папку » Документы «для пользователя службы, и это позволило ему прочитать все файлы, которые я выбрал — 4 в этот момент — и ошибка изменилась на» media set missing » — затем я огляделся в поисках другого файла резервной копии, и когда я добавил, что мне удалось восстановить.
ответы на этот вопрос помогли мне искать в нужных местах и работать мой путь к решению.
для меня это был вопрос разрешения. Я установил SQL server с помощью локальной учетной записи пользователя и перед присоединением к домену моих компаний. Позже я попытался восстановить базу данных с помощью моей учетной записи домена, которая не имеет разрешений, необходимых для восстановления баз данных SQL server. Вам необходимо исправить разрешение для вашей учетной записи домена и предоставить ей разрешение системного администратора на экземпляре SQL server, который у вас есть.
Я получил то же сообщение об ошибке, хотя я резервное копирование и восстановление на одной машине.
проблема была отсюда: при резервном копировании у меня было 2 элемента в поле назначения.
таким образом, исправление будет: убедитесь, что только 1 элемент в поле «Назначение». Удалите все остальные, если есть.
Если вы хотите полностью заменить существующую базу данных, используйте С ЗАМЕНОЙ:
RESTORE DATABASE <YourDatabase> FROM DISK='<the path to your backup file><YourDatabase>.bak' WITH REPLACE
в моем случае это была проблема с разрешениями.
для пользователя Windows, я использовал не было
dbcreator
роль.так что я следовал ниже шаги
- подключиться
sa
к SQL server- расширения
Security
в Обозревателе объектов- расширения
Logins
- щелкните правой кнопкой мыши на соответствующем пользователе Windows
- нажмите на Свойства
- выберите
Server Roles
СSelect a page
опции- Регистрация
dbcreator
роль- Нажмите кнопку ОК
Я столкнулся с той же проблемой. Запустите SSMS от имени администратора, затем щелкните правой кнопкой мыши и выполните восстановление базы данных. Должен работать.
В этой статье мы расскажем об ошибке 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.
У меня есть база данных SQL Server 2012 с включенным фильтром. Однако, когда я делаю резервное копирование и пытаюсь восстановить его на другом экземпляре SQL Server 2012 (на другом компьютере), я просто получаю это сообщение:
Нет резервной копии, выбранной для восстановления.
Даже одна строка больше объяснений. Что здесь не так?
Любая другая база данных без фидбеста в порядке и может быть успешно восстановлена. Это что-то связано с filestream? Должен ли я установить исправление или что-то в этом роде.
Ответ 1
У меня была эта проблема, и оказалось, что я пытался восстановить неправильную версию SQL. Если вам нужна дополнительная информация о том, что происходит, попробуйте восстановить базу данных, используя следующий SQL:
RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file><YourDatabase>.bak'
Это должно дать вам сообщение об ошибке, которое нужно отладить.
Ответ 2
Моя проблема оказалась правами. Я нахожусь на dev-машине и скопирован через Homegroup. Как-то, возможно, на основе того, где я скопировал файл, разрешения были перепутаны, и Management Studio не смог прочитать файл. Поскольку это dev, я просто предоставил все разрешения для файла bak и смог затем успешно восстановить его через графический интерфейс.
Ответ 3
При запуске:
RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file><YourDatabase>.bak'
Это дало мне следующую ошибку:
Неправильно сформирован семейство носителей на устройстве C:NorthwindDB.bak. SQL Server не может обработать это семейство мультимедиа. RESTORE HEADERONLY заканчивается ненормально. (Microsoft SQL Server, ошибка: 3241) Blockquote
Выключено Вы не можете взять БД из более высокой версии SQL в более низкую, даже если уровень совместимости одинаковый как в исходной, так и в целевой БД.
Чтобы проверить запуск SQL-версии:
Select @@Version
Чтобы увидеть разницу, просто создайте БД на SQL Server источника и попытайтесь выполнить восстановление из файла резервной копии, когда вы сделаете это с помощью SSMS, как только вы выберете файл резервной копии, он будет покажите некоторую информацию об этом, как описано, когда вы открываете ее с сервера с более низкой версией, который просто скажет: «no backupset выбрано для восстановления»
Значит, если вам по-прежнему нужно переместить свои данные в более низкую версию SQL, тогда проверьте Это.
Ответ 4
Запустите SQL Server Management Studio в качестве администратора (щелкните правой кнопкой мыши > Запуск от имени администратора), затем попробуйте восстановить.
Ответ 5
Я думал, что я не настолько глуп, чтобы перепутать версии, но я не понял, что на моем новом сервере экземпляр SQL Server 2005 уже был установлен с рождения с именем SQLEXPRESS
, При попытке восстановить резервную базу данных SQL Server 2008 R2 в SSMS 2012 до экземпляра SQLEXPRESS
список наборов резервных копий был пуст.
В конце концов я понял, что экземпляр SQLEXPRESS
на сервере не был экземпляром 2012 года, но в 2005 году я отключен и подключен к реальному экземпляру 2012 года (в моем случае с именем t23 > ), и он (очевидно) работал.
Ответ 6
Моя проблема заключалась в том, что мой пользователь был в группе Builtin-Administrators и без пользователя с Sysadmin-ролью на SQL Server.
Я только что запустил Management Studio в качестве администратора. Таким образом удалось восстановить базу данных.
Ответ 7
Извините, но я только что подписался и не могу добавить комментарий, поэтому просто копируем Тайлера Форсайта, который отвечает именно тем, что сработало для меня.
«Моя проблема в конечном итоге была разрешением. Я нахожусь в dev-машине и скопирован с помощью Homegroup. Как-то, возможно, на основе того, где я скопировал этот файл, разрешения были перепутаны, а Management Studio не смог прочитать файл. Поскольку это dev, я просто предоставил все разрешения для файла bak и смог успешно восстановить его через графический интерфейс». Тайлер Форсайт
И чтобы уточнить, я восстанавливаю резервную копию с экземпляра 2008 до 2012 года, разные машины (prodution vs local dev). Резервное копирование — это автоматическое резервное копирование, мне не нужно было вручную его создавать, чтобы этот процесс работал. Просто измените разрешения (каждый из них самый простой для локальной машины-разработчика), и SSMS теперь может правильно прочитать файл резервной копии и восстановить его на локальной машине-разработчике.
Ответ 8
FYI: Я обнаружил, что при восстановлении мне нужно было использовать те же (SQL User) учетные данные для входа в SSMS. Сначала я попробовал восстановление с помощью учетной записи Windows Authentication.
Ответ 9
В моем случае это были разрешения и тот факт, что я использовал «Восстановить файлы и файловые группы…», а не просто «Восстановить базу данных…».
Это имело значение.
Ответ 10
Для меня проблема заключалась в том, что файл .BAK находится в зашифрованной папке на сервере. Даже с полными правами администратора я никогда не смог получить SSMS для чтения файла. Перемещение .BAK в незашифрованную папку решило мою проблему. Обратите внимание, что после перемещения файла вам, возможно, придется также изменить свойства фактического файла для удаления шифрования (щелчок правой кнопкой мыши, свойства, расширенный, снимите флажок «зашифровать содержимое для защиты данных».
Ответ 11
У меня была такая же проблема с SQL Server 2014 (Management Studio не смогла увидеть папку, в которой находился файл резервной копии, при попытке найти его для операции восстановления). Этот поток содержал ответ, который решил мою проблему. Цитата:
Учетную запись службы SQL Server можно найти в меню Пуск- > Управление Панель- > Административные инструменты- > Услуги. Дважды щелкните на SQL Server service- > Вход в систему. Вы будете либо использовать «Локальную учетную запись системы», или «Эта учетная запись» для определения конкретной учетной записи. Если вы используете Локальная учетная запись системы, вы не сможете ссылаться на резервные копии, которые не локально к серверу. Если вместо этого вы определили это учетная запись, которая должна иметь доступ к файлу резервной копии место нахождения. Возможность доступа к резервным копиям с помощью личного входа в систему не имеет значения; используется учетная запись SQL Server, хотя вы инициируете резервное копирование. Ваши ИТ-специалисты должны иметь возможность определить, какие права предоставляются каждой учетной записи.
Надеюсь, что это поможет кому-то.
Ответ 12
В моем случае (новая установка сервера sql, только что созданный пользователь) у моего пользователя просто не было необходимого разрешения. Я зашел в Management Studio как sa, затем перешел в раздел «Безопасность/логины», щелкните правой кнопкой мыши мое имя пользователя, «Свойства», а затем в разделе «Роли сервера» я проверил sysadmin
.
Ответ 13
Для меня это вопрос привилегий пользователя. Я вошел в систему с пользователем sa, и он работает нормально.
Ответ 14
Для меня это было потому, что резервный файл все еще был открыт другим процессом. Здесь журнал событий:
BackupDiskFile:: OpenMedia: устройство резервного копирования ‘X:BackupsMyDatabaseMyDatabase_backup_2014_08_22_132234_8270986.bak’ не удалось открыть. Ошибка операционной системы 32 (процесс не может получить доступ к файлу, потому что он используется другим процессом.).
Простое закрытие и повторное открытие Sql Server Management Studio разрешило его (очевидно, это был ssms.exe, у которого был дескриптор.)
Ответ 15
Еще одна потенциальная причина этого сбоя — это Google Диск. Диск Google сжимает файлы BAK или что-то в этом роде, поэтому, если вы хотите перенести резервную копию базы данных с помощью Google Диска, вам следует сначала закрепить его.
Ответ 16
Использование SQL Server 2012 Express.
Моя ошибка (из SQL Manager — Восстановить диалог базы данных):
No backupset selected to be restored
Кроме того, в списке не было выбранных резервных копий.
Проблема заключалась в том, что я переместил 1 из 5 файлов резервных копий в папку, в которой пользователь входа в систему SQL Server не имел прав доступа — я попытался добавить этого пользователя, но не смог получить пользователя NT ServiceMSSQL $SQLEXPRESS в список безопасности.
Я переместил файл в папке «Документы» для пользователя службы и включил его для чтения всех файлов, которые я выбрал, — 4 в этой точке, — и ошибка изменилась на «отсутствующий набор носителей» — тогда я огляделся вокруг другой файл резервной копии, и когда я добавил, что мне удалось восстановить.
Ответы в этом вопросе помогли мне заглянуть в нужные места и поработать над решением.
Ответ 17
Для меня это была проблема с разрешением. Я установил SQL-сервер, используя локальную учетную запись пользователя, и перед тем, как присоединиться к домену моих компаний. Позже я попытался восстановить базу данных с помощью моей учетной записи домена, у которой нет разрешений, необходимых для восстановления баз данных SQL Server. Вам необходимо исправить разрешение для вашей учетной записи домена и предоставить ему разрешение системного администратора на экземпляре сервера SQL, который у вас есть.
Ответ 18
Я получил то же сообщение об ошибке, даже если я создаю резервную копию и восстанавливаю на одной и той же машине.
Проблема была здесь: при резервном копировании у меня было 2 элемента в поле назначения.
Итак, исправление будет: убедитесь, что в поле «destination» указано только 1 элемент. Удалите все остальные, если они есть.
Ответ 19
Если вы хотите полностью заменить существующую базу данных, используйте параметр WITH REPLACE:
RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file><YourDatabase>.bak'
WITH REPLACE
Ответ 20
В моем случае это была проблема с разрешениями.
Для пользователя Windows, я использовал не роль dbcreator
.
Итак, я следовал за нижеперечисленными шагами
- Подключитесь как
sa
к серверу SQL - Разверните
Security
в Обозревателе объектов - Развернуть
Logins
- Щелкните правой кнопкой мыши на пользователя Windows в вопросе
- Нажмите на свойства
- Выберите
Server Roles
изSelect a page
параметрыSelect a page
- Проверьте роль
dbcreator
для пользователя - Нажмите ОК
Ответ 21
Я столкнулся с той же проблемой. Запустите SSMS от имени администратора, затем щелкните правой кнопкой мыши и выполните восстановление базы данных. Должно сработать.
Ответ 22
Я думаю, что получаю награду за самую тупую причину, чтобы получить эту ошибку. В диалоговом окне «Восстановить базу данных» раскрывающийся список «База данных» выделен серым цветом, и я подумал, что он отключен. Я перешел к раскрытию базы данных в пункте «Назначение», думая, что это был источник, и сделал выбор. Это приведет к отображению этого сообщения об ошибке.
У меня есть база данных SQL Server 2012 с включенным filestream. Однако, когда я делаю резервную копию и пытаюсь восстановить ее на другом экземпляре SQL Server 2012 (на другой машине), я просто получаю это сообщение:
backupset не выбран для восстановления.
даже ни одной строки больше объяснения. Что здесь не так?
любая другая база данных без filestream в порядке и может быть успешно восстановлена. Это что-то связанное с файлового потока? Должен ли я установить исправление или что-то в этом роде.
21 ответов
У меня была эта проблема, и оказалось, что я пытался восстановить неправильную версию SQL. Если вам нужна дополнительная информация о происходящем, попробуйте восстановить базу данных с помощью следующего SQL:
RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file><YourDatabase>.bak'
Это должно дать вам сообщение об ошибке,которое вам нужно отладить.
моя проблема в конечном итоге разрешения. Я на машине dev и скопирован через домашнюю группу. Каким-то образом, вероятно, основываясь на том, куда я скопировал файл, разрешения перепутались, и Management Studio не смогла прочитать файл. Поскольку это Дев, я просто дал все разрешения в файл bak и затем может успешно восстановить через GUI.
при запуске:
RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file><YourDatabase>.bak'
это дало мне следующую ошибку:
семейство носителей на устройстве ‘C:NorthwindDB — … бак ‘ неправильно сформирован. SQL Server не может обработать это семейство носителей. Восстановление HEADERONLY завершается аномально. (Microsoft SQL Server, ошибка: 3241)
Blockquote
оказывается, вы не можете взять БД из более высокой версии SQL в более низкую, даже если уровень совместимости одинаков как для источника, так и для назначения ДЕЦИБЕЛ.
Чтобы проверить версию SQL, выполните:
Select @@Version
чтобы увидеть разницу, просто создайте DB на своем источник SQL server и попытаться сделать восстановление из файла резервной копии, когда вы делаете это whit SSMS, как только вы выбираете файл резервной копии он покажет некоторую информацию о нем, как opossed, когда вы открываете его с сервера более низкой версии, который просто скажет «нет backupset выбран для восстановления»
так если вам все еще нужно, чтобы переместить данные в более низкую версию SQL, затем проверьте этой.
запустите SQL Server Management Studio администратор (щелкните правой кнопкой мыши > Запуск от имени администратора), затем попробуйте восстановить.
Я думал, что я не настолько глуп, чтобы перепутать версии-однако я не понимал, что на моем новом сервере экземпляр SQL Server 2005 уже установлен с рождения с именем SQLEXPRESS
. При попытке восстановить резервную копию базы данных SQL Server 2008 R2 в SSMS 2012 в SQLEXPRESS
экземпляр, список резервных наборов данных был пуст.
В конце концов я понял, что SQLEXPRESS
экземпляр на сервере был не экземпляром 2012, а 2005. Я отключился и подключился к фактический 2012 экземпляр (в моем случае с именем SQLEXPRESS2012
), и это (очевидно) сработало.
9
автор: Frederik Struck-Schøning
моя проблема заключалась в том, что мой пользователь был в группе встроенных администраторов и не имел пользователя с ролью Sysadmin на SQL Server.
Я только что запустил Management Studio в качестве администратора. Таким образом удалось восстановить базу данных.
Извините, но я только что зарегистрировался и не могу добавить комментарий, поэтому просто скопируйте ответ Тайлера Форсайта здесь, что именно сработало для меня.
» моя проблема оказалась разрешениями. Я на машине dev и скопирован через домашнюю группу. Каким-то образом, вероятно, основываясь на том, куда я скопировал файл, разрешения перепутались, и Management Studio не смогла прочитать файл. Поскольку это dev, я просто дал всем разрешения на файл bak и затем мог успешно восстановить его через GUI.» Тайлер Форсайт!—1—>
и чтобы уточнить, я восстанавливаю резервную копию с экземпляра 2008 до 2012, разных машин (prodution vs local dev). Резервная копия-это автоматическая резервная копия, мне не нужно было создавать ее вручную, чтобы этот процесс работал. Просто измените разрешения (все проще всего для локальной машины dev), и SSMS теперь может правильно прочитать файл резервной копии и восстановить его на моей локальной машине dev.
в моем случае это были разрешения и тот факт, что я использовал «восстановить файлы и файловые группы…»а не просто «восстановить базу данных …».
это имело значение.
для меня проблема была .Файл BAK находится в зашифрованной папке на сервере. Даже с полными правами администратора я никогда не мог заставить SSMS читать файл. Перемещение .Бак в незашифрованную папку решил мою проблему. Обратите внимание, что после перемещения файла вам также может потребоваться изменить свойства фактического файла, чтобы удалить шифрование (щелкните правой кнопкой мыши, свойства, дополнительно, снимите флажок «шифровать содержимое для защиты данных».
FYI: я обнаружил, что при восстановлении мне нужно использовать те же учетные данные (пользователь SQL) для входа в SSMS. Сначала я попытался восстановить с помощью учетной записи проверки подлинности Windows.
У меня была та же проблема с SQL Server 2014 (среда Management Studio не могла видеть папку, в которой находился файл резервной копии, при попытке найти его для операции восстановления). этой теме держал ответ, который решил мою проблему. Цитата:
учетную запись службы SQL Server можно найти с помощью Start — >Control
Панель — >Администрирование — >Службы. Дважды щелкните по SQL Server
сервис- > вкладка вход. Вы либо будете использовать » локальную системную учетную запись»
или «эта учетная запись», чтобы определить конкретную учетную запись. Если вы используете
Учетная запись локальной системы, вы не сможете ссылаться на резервные копии, которые
не локально для сервера. Если вместо этого вы определили учетную запись для
use, это учетная запись, которая должна иметь доступ к файлу резервной копии
местоположение. Возможность доступа к резервным копиям с помощью личного входа
не имеет значения; это учетная запись SQL Server, которая используется, хотя
вы осуществляете резервное копирование. Ваши люди должны быть в состоянии
определите, какие права предоставляются каждому аккаунту.
надеюсь, что это кому-то поможет.
в моем случае (новая установка sql server, вновь созданный пользователь) у моего пользователя просто не было необходимого разрешения. Я вошел в Management Studio как sa, затем пошел в Security / Logins, щелкните правой кнопкой мыши мое имя пользователя, Свойства, затем в разделе роли сервера я проверил sysadmin
.
для меня, это было потому, что файл резервной копии был еще открыт другим процессом. Вот журнал событий:
BackupDiskFile:: OpenMedia: устройство резервного копирования X:BackupsMyDatabaseMyDatabase_backup_2014_08_22_132234_8270986 — … бак не смог открыться. Ошибка операционной системы 32(процесс не может получить доступ к файлу, так как он используется другим процессом.).
просто закрывать и открывать библиотеку решили (очевидно, среда SSMS.exe, который имел ручка..)
для меня это проблема привилегий пользователя.
Я вошел в систему с пользователем sa и его работа в порядке.
другой потенциальной причиной этого сбоя, по-видимому, является Google Drive. Google Drive сжимает файлы bak или что-то еще, поэтому, если вы хотите передать резервную копию базы данных через Google Drive, похоже, вы должны сначала ее zip.
использование SQL Server 2012 Express.
моя ошибка (из диалогового окна SQL Manager — Restore Database):
No backupset selected to be restored
далее, не было backupsets отображается в списке для выбора.
проблема заключалась в том, что я переместил 1 из 5 файлов резервных копий в папку, где у пользователя входа в службу SQL Server не было разрешений — я попытался добавить этого пользователя, но не смог получить пользователя NT ServiceMSSQL$SQLEXPRESS в список безопасности.
I переместил файл в папку » Документы «для пользователя службы, и это позволило ему прочитать все файлы, которые я выбрал — 4 в тот момент — и ошибка изменилась на» media set missing » — затем я огляделся в поисках другого файла резервной копии, и когда я добавил, что я смог восстановить.
ответы в этом вопросе помогли мне посмотреть в нужных местах и работать над решением.
для меня это был вопрос разрешения. Я установил SQL server с помощью локальной учетной записи пользователя и перед присоединением к домену моих компаний. Позже я попытался восстановить базу данных с помощью учетной записи домена, которая не имеет разрешений, необходимых для восстановления баз данных SQL server. Необходимо исправить разрешение для учетной записи домена и предоставить ей разрешение системного администратора на имеющемся экземпляре SQL server.
Я получил то же сообщение об ошибке, хотя я резервное копирование и восстановление на одной машине.
проблема была отсюда: при резервном копировании у меня было 2 элемента в поле назначения.
таким образом, исправление будет: убедитесь, что только 1 элемент в поле «Назначение». Уберите все остальные, если они есть.
Если вы хотите полностью заменить существующую базу данных, используйте С ЗАМЕНОЙ:
RESTORE DATABASE <YourDatabase>
FROM DISK='<the path to your backup file><YourDatabase>.bak'
WITH REPLACE
в моем случае это была проблема с разрешениями.
для пользователя Windows, который я использовал, не было dbcreator
роль.
поэтому я последовал нижеприведенным шагам
- подключиться
sa
на SQL server - расширения
Security
в Обозревателе объектов - расширения
Logins
- щелкните правой кнопкой мыши на соответствующем пользователе Windows
- нажмите на Свойства
- выберите
Server Roles
СSelect a page
опции - Регистрация
dbcreator
роль - нажмите OK
Я столкнулся с той же проблемой. Запустите SSMS от имени администратора, затем щелкните правой кнопкой мыши и выполните восстановление базы данных. Должен работать.