Ниже приведен запрос, который я использую для резервного копирования (создания .bak
) моей базы данных.
Однако всякий раз, когда я запускаю его, я всегда получаю это сообщение об ошибке:
Msg 3201, уровень 16, состояние 1, строка 1
Не удается открыть устройство резервного копирования «C: \ Users \ Me \ Desktop \ Backup \ MyDB.Bak». Ошибка операционной системы 5 (Доступ запрещен).Msg 3013, уровень 16, состояние 1, строка 1
BACKUP DATABASE аварийно завершает работу.
Это мой запрос:
BACKUP DATABASE AcinsoftDB
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';
Ответы:
Да, я только что забил этот.
Поищи в Windows Services. Пуск> Администрирование> Службы
Найдите Службу в списке под названием: SQL Server (MSSQLSERVER) найдите столбец «Вход в систему как» (необходимо добавить его, если его нет в списке).
Это учетная запись, которая вам нужна, чтобы предоставить разрешения для каталога, щелкните правой кнопкой мыши в проводнике> свойства> Общие ресурсы (и безопасность)
ПРИМЕЧАНИЕ . Не забудьте предоставить разрешения для фактического каталога И для общего ресурса, если вы выходите по сети.
Подайте заявку и дождитесь распространения разрешений, повторите попытку резервного копирования.
ПРИМЕЧАНИЕ 2 : если вы выполняете резервное копирование по сети и ваш SQL работает как «Локальная служба», тогда у вас проблемы ... вы можете попробовать назначить разрешения, или может быть проще выполнить локальное резервное копирование и xcopy за пределами SQL Server ( час спустя).
ПРИМЕЧАНИЕ 3. Если вы работаете как сетевая служба, ИНОГДА удаленная машина не распознает сетевую службу на вашем SQL Server. В этом случае вам необходимо добавить разрешения для самого компьютера, например. MyServer $.
источник
Перейдите в папку SQL-сервера в меню «Пуск» и нажмите «Инструменты настройки». Выберите диспетчер конфигурации SQL-сервера. В службах SQL-сервера на желаемом экземпляре измените («Войти как») на локальную систему.
источник
Учетная запись службы SQL Server не имеет разрешений на запись в папку.
C:\Users\Kimpoy\Desktop\Backup\
источник
У меня тоже была эта проблема недавно, однако я выполнял задание резервного копирования с сервера A, но резервная копия базы данных находилась на сервере B в файловом ресурсе на сервере C. Когда агент на сервере A сообщает серверу B запустить резервную копию t -sql, на самом деле это учетная запись службы, под которой sql запущен на СЕРВЕРЕ B, который пытается записать резервную копию на сервер C.
Просто помните, что именно учетная запись службы sql-сервера, выполняющая фактическую команду BACKUP DATABASE, - это то, что требует привилегий в файловой системе, а не для агента.
источник
Я просто сам через это проходил. Я убедился, что у моего пользователя MSSQLSERVER был логин,
full access
но он все еще вызывал проблемы. Это сработало только после того, как я переместил место назначения в корень C. Что еще более важно, из папки пользователя (хотя у меня был общий ресурс с полными разрешениями - даже попробовал «Все» в качестве теста).Не знаю, считаю ли я свою проблему «исправленной», но она «работает».
Просто к сведению всех пользователей, которые сталкиваются с этой веткой.
источник
У меня такая же проблема с SQL Express 2014 SP1 в Windows 10.
Решение, которое работает
источник
Чтобы узнать, какому пользователю нужно дать разрешение на процесс восстановления, вы можете выполнить следующие шаги:
Вам нужно перейти на свой сервер, на котором установлен SQL Server. Найдите диспетчер конфигурации SQL Server
Далее вам нужно перейти в «Службы SQL Server»
Под вашим экземпляром SQL Server (MSSQLSERVER) будет учетная запись со столбцом «Logon As», в моем случае это NT Service \ MSSQLSERVER .
Это учетная запись, которую вам нужно добавить на вкладке «Безопасность» исходного местоположения .bak и предоставить этому пользователю права «Чтение», чтобы можно было прочитать файл резервной копии.
Допустим, ваш файл резервной копии находится в папке «D: \ Shared», тогда вам нужно предоставить такие разрешения:
источник
У меня была аналогичная проблема. Я добавил права на запись в сам файл .bak и свою папку, в которую я делал резервную копию для пользователя NETWORK SERVICE. Чтобы добавить разрешения, просто щелкните правой кнопкой мыши файл / каталог, который вы хотите изменить, выберите вкладку безопасности и добавьте туда соответствующих пользователей / разрешения.
источник
Вот что я сделал, чтобы обойти проблему.
1) Перейти в резервную копию
2) Удалите путь к файлу назначения на диск
3) Нажмите Добавить
4) В поле Имя файла: установите флажок вручную введите имя резервной копии после .. \ backup, как показано ниже, где Yourdb.bak - имя резервной копии базы данных.
C: \ Program Files \ Microsoft SQL Server \ MSSQL11.MSSQLSERVER \ MSSQL \ Backup \ Yourdb.bak
5) Нажмите ОК.
Надеюсь это поможет!
источник
Одна из причин, по которой это происходит, заключается в том, что вы используете службу MSSQLSERVER, не используя локальную систему. Чтобы решить эту проблему, выполните следующие действия.
Надеюсь, это поможет вам, как и мне. Ура!
источник
Я знаю, что это не точное решение, но использование внешних путей решает эту проблему.
BACKUP DATABASE AcinsoftDB TO DISK = 'E:\MyDB.Bak' WITH FORMAT, MEDIANAME = 'C_SQLServerBackups', NAME = 'Full Backup of MyDB';
источник
SQL Server не может получить доступ (записать) резервную копию в указанное место.
Сначала вам нужно проверить учетную запись службы, на которой работает сервер Sql. Это можно сделать с помощью диспетчера конфигураций или Services.msc.
или
Используйте запрос ниже:
Теперь посмотрите на столбец service_account и запишите его.
Перейдите в то место, где вы пытаетесь сделать резервную копию, в вашем случае: C: \ Users \ Me \ Desktop \ Backup.
Щелкните правой кнопкой мыши -> Свойства -> Безопасность ->
Добавьте учетную запись службы и предоставьте разрешения на чтение / запись. Это решит проблему.
источник
У меня была такая же проблема, и приведенный ниже URL мне действительно помог.
Это может помочь и вам.
http://blog.sqlauthority.com/2011/04/13/sql-server-fix-error-msg-3201-level-16-cannot-open-backup-device-operating-system-error-5access-is- отказано /
источник
Msg 3201, уровень 16, состояние 1, строка 1 Не удается открыть устройство резервного копирования «C: \ Backup \ Adventure_20120720_1024AM.trn». Ошибка операционной системы 5 (Доступ запрещен). Msg 3013, уровень 16, состояние 1, строка 1 BACKUP LOG ненормально завершается.
Я проверил резервную папку на диске C. Имеет ли новая учетная запись службы разрешение на полный доступ или нет? Я понял, что учетная запись службы «Test \ Kiran» не имеет разрешения на полный доступ.
Выполните следующие шаги, чтобы предоставить полный контроль над учетной записью службы:
источник
Пожалуйста, проверьте доступ к дискам. Сначала создайте одну папку и перейдите в свойства папки,
Вы можете найти вкладку безопасности, нажмите на нее и проверьте, имеет ли ваш идентификатор пользователя доступ или нет.
Если не удалось найти свой идентификатор, нажмите кнопку добавления и укажите имя пользователя с полным доступом.
источник
Поделитесь этой папкой и используйте UNC-путь, например: \ pc \ backups \ mydb.bak
Тогда вы можете перестать делиться.
Не очень элегантно, но решает все проблемы с разрешениями (вам также необходимо предоставить разрешения для совместного использования, как упоминалось выше)
источник
У меня возникла эта проблема, когда файл .BAK временно хранился в папке, зашифрованной с помощью BitLocker. Он сохранил шифрование после того, как был перемещен в другую папку.
Учетная запись NETWORK SERVICE не смогла расшифровать файл и выдала это полностью информативное сообщение об ошибке.
Удаление шифрования BitLocker (снятие флажка «Зашифровать содержимое для защиты данных» в свойствах файла) для файла .BAK решило проблему.
источник
У меня такая же ошибка. Следующие изменения помогли мне это исправить.
источник
Привет, вам нужно изменить запрос с:
BACKUP DATABASE AcinsoftDB TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'
к
BACKUP DATABASE AcinsoftDB TO DISK = N'C:\Users\Me\Desktop\Backup\MyDB.Bak'
Вы должны добавить N перед тем, как путь работает для меня.
источник
В моем случае я забыл назвать файл резервной копии, и он продолжал выдавать мне ту же ошибку разрешения: /
источник
Я решил ту же проблему с помощью следующих 3 шагов:
источник