Я пытаюсь запустить классический проект asp в визуальной студии и поэтому пытаюсь восстановить базу данных. Кажется, я не могу найти файл .bak
при попытке восстановить его. На диске С его не было видно. Я просмотрел его и увидел, что это как-то связано с разрешениями. Я попытался включить разрешения после свойства> безопасность файла .bak
для «Все», это не сработало. Я также пробовал NT Service\MSSQLSERVER
. Пожалуйста, смотрите следующее ниже.
bak-файл не виден при попытке восстановить базу данных
Ответы (4)
Вы также должны включить разрешения для папки, в которой находится файл. SSMS сначала нужно просмотреть папку, а затем прочитать файл.
В вашем случае SQL-сервер пытается получить доступ к папке, используя учетную запись NT Service\MSSQLSERVER
, поэтому разрешения должны быть предоставлены этой учетной записи, нет необходимости давать дополнительные разрешения (всем).
Также попробуйте ниже, если выше не помогает:
- закрыть/открыть SSMS
- переместите файл из корня в какую-либо папку и предоставьте разрешения на эту папку
- использовать сценарий TSQL для восстановления базы данных вместо SSMS
Read & execute
, List folder contents
и Read
группе пользователей <localhostComputer>\Users
, и тогда это сработало для меня. Предоставление разрешений NT Service\MSSQLServer
было одинаково полезным.
- person RBT; 28.03.2017
Everyone
также помогает.
- person RBT; 14.07.2017
NT Service\MSSQL$<SqlServerInstancename>
.
- person RBT; 14.07.2017
Я была такая же проблема. Я узнаю, что это была проблема с разрешениями.
Вот следующие шаги для решения этой проблемы
Откройте Панель управления > Администрирование > Службы и дважды щелкните службы. скопируйте журнал имени учетной записи службы sql, как показано на рисунке.
Перейдите в папку с резервной копией, щелкните правой кнопкой мыши и выберите свойства. Выполните шаги, как показано на рисунке. После нажатия на редактирование вы получите новое окно.
Нажмите на добавить
Вставьте сюда имя учетной записи входа в систему учетной записи службы sql, которую вы скопировали ранее. затем нажмите кнопку «Проверить имя».
Выберите MSSQLSERVER, затем нажмите «ОК». а>
Теперь вы получите имя своей учетной записи сервера sql на вкладке безопасности.
Выберите имя учетной записи сервера sql и в поле разрешений выберите «Разрешить» во всех флажках (я добавил «Полный доступ»), затем нажмите «Применить».
Теперь вы сможете выбрать и восстановить файл резервной копии.
Я столкнулся с более простой проблемой для автономной корпоративной версии sql server 2014, установленной в моей домашней системе. Я пробовал все возможности, представленные в разных статьях, но, как ни странно, проблема связана с моим 2-м именованным экземпляром. Я могу восстановить базу данных на своем экземпляре по умолчанию с помощью запроса и графического интерфейса. Я попытался изменить вход в систему в качестве учетной записи службы сервера sql для именованного экземпляра на «сетевую службу» или «локальную систему» и предоставить им полное разрешение на резервное копирование папки хранения.
вы можете скопировать папку резервного копирования в папку C:\Users\MSSQL$HCMIS\Desktop sql server users. Теперь она будет доступна
C:` drive so you will have to make permission changes on the
C:`, который содержит ваш файл bak. Изменение прав доступа к корневому каталогу диска C: не рекомендуется, так как обычно это загрузочный диск. Таким образом, более безопасным подходом было бы создать папку на диске C: \, переместить файл bak в новую папку и вместо этого изменить разрешения безопасности для новой папки. - person RBT   schedule 28.03.2017