в MSSQL '5(отказано в доступе.)' ошибка при восстановлении базы данных
Я хочу восстановить базу данных из файла (задачи->восстановить->база данных; после выбора из устройства и выберите файл) через SQL server management studio.
после этого, я получаю эту ошибку:
операционная система вернула ошибку ' 5(Доступ запрещен.) при попытке 'RestoreContainer:: ValidateTargetForCreation' on 'E:Program файлыMicrosoft SQL Иметь значение mssql10 сервер.ИМЯ MSSQLSERVERMSSQL ДАННЫХДАННЫЕХХХХХХ.МДФ". Msg 3156, Уровень 16, Состояние 8, сервер XXXX, Строка 2
Как исправить эту проблему? Это ошибка безопасности?
12 ответов
учетная запись, под которой работает sql server, не имеет доступа к местоположению, в котором находится файл резервной копии, или пытается восстановить базу данных. Вы можете использовать диспетчер конфигурации SQL Server найти, какая учетная запись используется для запуска экземпляра SQL Server, а затем убедитесь, что учетная запись имеет полный контроль над .Файл BAK и папка, в которую будет восстановлен MDF.
У меня недавно была эта проблема. Исправление для меня состояло в том, чтобы перейти на страницу файлов диалогового окна восстановления базы данных и проверить "переместить все файлы в папку".
Ну, в моем случае решение было довольно простым и прямым.
мне пришлось изменить только значение log On As
значение.
действия разрешения-
- открыть
Sql Server Configuration manager
- право
click on SQL Server (MSSQLSERVER
) - на
Properties
- изменить
log On As
значениеLocalSystem
надеюсь, что это поможет вам тоже:)
Я просто столкнулся с этой же проблемой, но другим исправить. По сути, на моем компьютере были установлены SQL Server и SQL Server Express. Это не сработает, когда я попытаюсь восстановить SQL Express, но работал правильно, когда я восстановил его на SQL Server.
Я нашел это, и это сработало для меня:
CREATE LOGIN BackupRestoreAdmin WITH PASSWORD='$tr0ngP@$$w0rd'
GO
CREATE USER BackupRestoreAdmin FOR LOGIN BackupRestoreAdmin
GO
EXEC sp_addsrvrolemember 'BackupRestoreAdmin', 'dbcreator'
GO
EXEC sp_addrolemember 'db_owner','BackupRestoreAdmin'
GO
Если вы присоединяете базу данных, посмотрите на сетку "базы данных для присоединения" и, в частности, в столбце владелец после того, как вы указали свой .файл mdf. Обратите внимание на учетную запись и дайте ей полные разрешения для файлов mdf и ldf.
Я попробовал приведенный выше сценарий и получил ту же ошибку 5 (доступ запрещен). Я глубоко нырнул и обнаружил, что файл .бак должен иметь доступ к учетной записи службы SQL. Если вы не уверены, введите services.msc в меню Пуск - > Выполнить, затем проверьте учетную запись входа в службу SQL.
затем перейдите к файлу, щелкните правой кнопкой мыши и выберите вкладку Безопасность в свойствах, затем отредактируйте, чтобы добавить нового пользователя.
наконец, затем дать полное разрешение на него, чтобы дать полный доступ.
затем из SSMS попробуйте восстановить резервную копию.
Я получал ту же ошибку при попытке восстановить SQL 2008 R2 backup db в SQL 2012 DB. Я предполагаю, что ошибка связана с недостаточными разрешениями для размещения .MDF и. файлы ldf на диске C. Я попробовал одну простую вещь, затем мне удалось успешно восстановить ее.
попробуйте это:
в окне мастера восстановления БД перейдите на вкладку файлы, измените назначение восстановления С C: на другой диск. Затем продолжайте обычный процесс восстановления. Он обязательно получит восстанавливается успешно!
надеюсь, это вам тоже поможет. Ура :)
в моем случае мне пришлось поставить галочку в Overwrite the existing database (WITH REPLACE)
под Options
tab on Restore Database
страница.
надеюсь, это поможет кому-то.
У меня была точно такая же проблема, но мое исправление было другим - моя компания шифрует все файлы на моих машинах. После расшифровки файла MSSQL не возникло никаких проблем с доступом и создана БД. Просто щелкните правой кнопкой мыши .файл bak ->свойства ->дополнительно... ->шифровать содержимое для защиты данных.
Это случилось со мной ранее сегодня, я был членом группы администратора локального сервера и имел беспрепятственный доступ, или я так думал. Я также отметил опцию "заменить", хотя в экземпляре нет такой БД.
выяснил, что раньше там была БД с тем же именем, а файлы MDF и LDF по-прежнему физически расположены в папках данных и журналов сервера, но фактические метаданные отсутствуют в sys.база данных. учетная запись службы SQL server также не может ovewrwrite существующие файлы. Узнал также, что владелец файлов "неизвестен", мне пришлось сменить владельца на 2 файла выше, чтобы теперь он принадлежал группе администраторов локального сервера, а затем переименовал его.
затем, наконец, это сработало.
Я получил эту ошибку, потому что я проверил "перераспределить все файлы в папку" на вкладке "файлы" окна "восстановить базу данных", но путь по умолчанию не существовал на моей локальной машине. У меня были файлы ldf/mdf в другой папке, как только я изменил, что я смог восстановить.