bak-файл не виден при попытке восстановить базу данных

Я пытаюсь запустить классический проект asp в визуальной студии и поэтому пытаюсь восстановить базу данных. Кажется, я не могу найти файл .bak при попытке восстановить его. На диске С его не было видно. Я просмотрел его и увидел, что это как-то связано с разрешениями. Я попытался включить разрешения после свойства> безопасность файла .bak для «Все», это не сработало. Я также пробовал NT Service\MSSQLSERVER. Пожалуйста, смотрите следующее ниже.

введите здесь описание изображения

введите здесь описание изображения


person e0001304    schedule 05.08.2016    source источник
comment
просто чтобы убедиться ... вы пытались выбрать опцию «Все файлы» в раскрывающемся списке над кнопкой «ОК»? По умолчанию это .bak, .trn. Возможно, расширение файла не .bak   -  person objectNotFound    schedule 05.08.2016
comment
Все изменения разрешений безопасности, которые вы делаете, должны выполняться в родительском каталоге, который содержит файл *.bak, а не сам файл bak. В вашем случае файл bak находится в корневом каталоге диска C:` drive so you will have to make permission changes on the C:`, который содержит ваш файл bak. Изменение прав доступа к корневому каталогу диска C: не рекомендуется, так как обычно это загрузочный диск. Таким образом, более безопасным подходом было бы создать папку на диске C: \, переместить файл bak в новую папку и вместо этого изменить разрешения безопасности для новой папки.   -  person RBT    schedule 28.03.2017


Ответы (4)


Вы также должны включить разрешения для папки, в которой находится файл. SSMS сначала нужно просмотреть папку, а затем прочитать файл.

В вашем случае SQL-сервер пытается получить доступ к папке, используя учетную запись NT Service\MSSQLSERVER, поэтому разрешения должны быть предоставлены этой учетной записи, нет необходимости давать дополнительные разрешения (всем).

Также попробуйте ниже, если выше не помогает:

  • закрыть/открыть SSMS
  • переместите файл из корня в какую-либо папку и предоставьте разрешения на эту папку
  • использовать сценарий TSQL для восстановления базы данных вместо SSMS
person Anton    schedule 05.08.2016
comment
Я дал разрешения Read & execute, List folder contents и Read группе пользователей <localhostComputer>\Users, и тогда это сработало для меня. Предоставление разрешений NT Service\MSSQLServer было одинаково полезным. - person RBT; 28.03.2017
comment
Предоставление одинаковых прав доступа встроенному пользователю Everyone также помогает. - person RBT; 14.07.2017
comment
Для именованного экземпляра SQL-сервера учетная запись службы имеет формат NT Service\MSSQL$<SqlServerInstancename>. - person RBT; 14.07.2017

Я была такая же проблема. Я узнаю, что это была проблема с разрешениями.

Вот следующие шаги для решения этой проблемы

Откройте Панель управления > Администрирование > Службы и дважды щелкните службы. скопируйте журнал имени учетной записи службы sql, как показано на рисунке.

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

Нажмите на добавить

Вставьте сюда имя учетной записи входа в систему учетной записи службы sql, которую вы скопировали ранее. затем нажмите кнопку «Проверить имя».

Выберите MSSQLSERVER, затем нажмите «ОК».

Теперь вы получите имя своей учетной записи сервера sql на вкладке безопасности.

Выберите имя учетной записи сервера sql и в поле разрешений выберите «Разрешить» во всех флажках (я добавил «Полный доступ»), затем нажмите «Применить».

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

person Kuldeep Singh    schedule 12.04.2019

Я столкнулся с более простой проблемой для автономной корпоративной версии sql server 2014, установленной в моей домашней системе. Я пробовал все возможности, представленные в разных статьях, но, как ни странно, проблема связана с моим 2-м именованным экземпляром. Я могу восстановить базу данных на своем экземпляре по умолчанию с помощью запроса и графического интерфейса. Я попытался изменить вход в систему в качестве учетной записи службы сервера sql для именованного экземпляра на «сетевую службу» или «локальную систему» ​​и предоставить им полное разрешение на резервное копирование папки хранения.

person AbIr Chanda    schedule 10.04.2019

вы можете скопировать папку резервного копирования в папку C:\Users\MSSQL$HCMIS\Desktop sql server users. Теперь она будет доступна

person Aschalew    schedule 02.03.2020