3

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

enter image description here

enter image description here

+1

, чтобы быть уверенным ... вы попытались выбрать опцию «Все файлы» из выпадающего над кнопкой ОК? Значение по умолчанию: .bak, .trn. Pehaps расширение файла не является .bak – objectNotFound

+0

Все изменения разрешения безопасности, которые вы делаете, должны выполняться в родительском каталоге, а не в файле .bak, а не в файле bak. В вашем случае файл bak присутствует в корневом каталоге диска C: \, поэтому вам нужно будет внести изменения на диск 'C: \', который содержит ваш файл bak. Изменение разрешений на корневой каталог 'C: \' не считается хорошей практикой, так как обычно это загрузочный диск. Таким образом, безопасный подход будет заключаться в создании папки на диске C: \, переместите ваш файл bak в новую папку и вместо этого измените права доступа к новой папке. – RBT

ответ

3

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

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

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

  • /отключения SSMS
  • переместить файл из корня в некоторых разрешений папки и грантовых в эту папку
  • использовать TSQL скрипт для восстановления вместо SSMS
+0

Я дал 'Read & execute',' List содержимое папки' и 'Read' разрешения для' \ Users', и тогда это сработало для меня. Предоставление разрешений для «NT Service \ MSSQLServer» было одинаково полезно. – RBT

+0

Предоставление одинаковых прав доступа к встроенному пользователю «Каждый» также помогает. – RBT

+0

Для именованного экземпляра SQL-сервера учетная запись службы имеет формат 'NT Service \ MSSQL $ ' – RBT