Не удается открыть устройство резервного копирования. Ошибка операционной системы 5

Ниже приведен запрос, который я использую для резервного копирования (создания .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';

Спасибо заранее.

Ответ 1

Да, я просто забил этот.

Посмотрите в Windows Services. Пуск > Администрирование > Службы

Найдите службу в списке, который называется: SQL Server (MSSQLSERVER) ищет столбец "Вход в систему" ​​(необходимо добавить его, если он не существует в списке).

Это учетная запись, которую вам нужно предоставить разрешениям для каталога, щелкните правой кнопкой мыши в explorer > properties > Shares (And Security)

ПРИМЕЧАНИЕ. Не забудьте предоставить разрешения для фактического каталога и для общего ресурса, если вы переходите через сеть.

Применить и дождаться разрешения на протагонирование, повторите попытку резервного копирования.

ПРИМЕЧАНИЕ 2: если вы выполняете резервное копирование по сети и ваш SQL работает как "Локальная служба", тогда у вас есть проблемы... вы можете попробовать назначить разрешения, или может быть проще резервное копирование локально и xcopy за пределами SQL Server (через час).

ПРИМЕЧАНИЕ 3. Если вы работаете как сетевая служба, то ПОСЛЕДУЕТ, что удаленный компьютер не будет распознавать сетевой сервер на вашем SQL Server. Если это так, вам нужно добавить разрешения для собственно компьютера, например. MyServer $.

Ответ 2

Перейдите в папку сервера SQL в меню "Пуск" и выберите инструменты настройки Выберите диспетчер конфигурации SQL Server В службах SQL Server на нужном экземпляре измените (Лог вкл.) На локальную систему

Ответ 3

У учетной записи службы SQL Server нет разрешений для записи в папку C:\Users\Kimpoy\Desktop\Backup\

Ответ 4

У меня была и эта проблема недавно, однако я запускал задание резервного копирования с сервера A, но резервная копия базы данных находилась на сервере B в общем доступе к файлу на сервере C. Когда агент на сервере A сообщает серверу B резервная команда t-sql, фактически ее учетная запись службы, на которой выполняется sql, находится на сервере SERVER B, который пытается записать резервную копию на сервер C.

Просто помните, что его учетная запись службы SQL-сервера, выполняющая фактическую команду BACKUP DATABASE, - это то, что требует прав на файловую систему, а не на агента.

Ответ 5

Я просто переживал это сам. Я убедился, что у моего пользователя MSSQLSERVER был full access, но он все еще вызывал проблемы. Он работал только после того, как я переместил пункт назначения в корень C. Что еще более важно из пользовательской папки (хотя у меня был общий доступ с полными разрешениями, даже попробовал "Everyone" в качестве теста).

Я не знаю, считаю ли я свою проблему "исправленной", однако она "работает".

Просто FYI для других пользователей, которые сталкиваются с этим потоком.

Ответ 6

Я сталкиваюсь с той же проблемой с SQL Express 2014 SP1 в Windows 10.

Решение, которое работает

  • Открыть службу, набрав службы
  • Найдите и откройте SQL Server (SQLExpress)
  • Перейдите на вкладку LogOn
  • Выберите "Локальная системная учетная запись" (также проверьте, разрешено ли службам взаимодействовать с рабочим столом)
  • Нажмите "ОК". Остановите службу. Перезапустите службу.
  • Проблема решена.

Ответ 7

Чтобы узнать, какому пользователю необходимо дать разрешение на выполнение процесса восстановления, вы можете выполнить следующие шаги:

Вам нужно перейти на ваш сервер, где установлен SQL Server. Найти диспетчер конфигурации SQL Server

enter image description here

Далее вам нужно перейти в "Службы SQL Server"

enter image description here

Под вашим экземпляром SQL Server (MSSQLSERVER) будет учетная запись со столбцом "Вход в систему как", в моем случае это NT Service\MSSQLSERVER.

Это учетная запись, которую необходимо добавить на вкладке "Безопасность" исходного местоположения .bak и дать этому пользователю права "Чтение", чтобы можно было прочитать файл резервной копии.

Допустим, ваш файл резервной копии находится в папке "D:\Shared", тогда вам нужно дать такие разрешения:

enter image description here

Ответ 8

У меня была аналогичная проблема. Я добавил права на запись в файл .bak и мою папку, в которой я пишу резервную копию для пользователя NETWORK SERVICE. Чтобы добавить разрешения, просто щелкните правой кнопкой мыши, какой файл/каталог вы хотите изменить, выберите вкладку безопасности и добавьте туда соответствующих пользователей/разрешений.

Ответ 9

Вот что я сделал, чтобы обойти проблему.

1) Перейти к резервной копии

2) Удалите путь к файлу назначения на диск

3) Нажмите "Добавить"

4) В поле "Имя файла:" введите вручную имя резервной копии после.. \backup, как показано ниже, где Yourdb.bak - это имя резервной копии базы данных

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup\Yourdb.bak

5) Нажмите OK

Надеюсь, это поможет!

Ответ 11

Я знаю, что это не точное решение, но использование внешних путей диска решает эту проблему.

BACKUP DATABASE AcinsoftDB
TO DISK = 'E:\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';

Ответ 12

Msg 3201, уровень 16, состояние 1, строка 1 Не удается открыть устройство резервного копирования 'C:\Backup\Adventure_20120720_1024AM.trn'. Ошибка операционной системы 5 (Доступ запрещен.). Msg 3013, уровень 16, состояние 1, строка 1 BACKUP LOG заканчивается ненормально.

Я проверил резервную папку на диске C, У новой учетной записи службы есть полное разрешение на доступ к управлению или нет? Я понял, что учетная запись службы "Test\Kiran" не имеет разрешения на полную защиту.

Следуйте приведенным ниже инструкциям, чтобы полностью контролировать учетную запись службы:

  • Перейдите на диск C, щелкните правой кнопкой мыши папку Backup.
  • Выберите вкладку "Безопасность".
  • Нажмите кнопку "Изменить", откроется новое окно.
  • Нажмите кнопку "Добавить" и введите учетную запись Test\Kiran и нажмите кнопку "Проверить имя", это подтвердит, что введенный пользователь существует или нет, если он существует, он отобразит окно пользователя, выберите "ОК".
  • Выберите введенное имя пользователя и установите флажок Полный доступ при разрешении.

Ответ 13

Проверьте доступ к дискам. Сначала создайте одну папку и перейдите в свойства папки,

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

если вы не смогли найти свой идентификатор, нажмите кнопку "Добавить" и введите имя пользователя с полным доступом.

Ответ 14

Поделитесь этой папкой и используйте UNC-путь, например:\pc\backups\mydb.bak

Затем вы можете остановить общий доступ.

Не очень элегантный, но он разрешает все проблемы с разрешениями (вам также нужно предоставить разрешения для совместного использования, как указано выше)

Ответ 15

Я столкнулся с этой проблемой, когда файл .BAK был временно сохранен в папке, зашифрованной с помощью BitLocker. Он сохранил шифрование после его перемещения в другую папку.

Учетная запись NETWORK SERVICE не смогла расшифровать файл и сообщила об этом полностью информативное сообщение об ошибке.

Удаление шифрования BitLocker (путем снятия отметки "Зашифровать содержимое для защиты данных" в свойствах файла) в файле .BAK устранена проблема.

Ответ 16

Привет, вам нужно изменить запрос с:

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, прежде чем путь работает для меня.

Ответ 17

У меня такая же ошибка. Следующие изменения помогли мне исправить это.

Мне нужно было проверить Server Manager- > Tool- > Services и найти пользователя ( "Log On As" ) для обслуживания: SQL Server (SQLEXPRESS).

Я пошел в локальную папку (C:\Users\Me\Desktop\Backup) и добавил "NT Service\MSSQL $SQLEXPRESS", поскольку пользователь должен предоставить разрешения на запись.

Ответ 18

Одна из причин, по которой это происходит, заключается в том, что вы используете службу MSSQLSERVER, не используя локальную систему. Чтобы устранить эту проблему, выполните следующие действия.

  1. Открыть запустить с помощью Windows + R
  2. Введите services.msc и откроется диалоговое окно служб
  3. Найти SQL Server (MSSQLSERVER)
  4. Щелкните правой кнопкой мыши и выберите свойства.
  5. Перейти на вкладку Вход
  6. Выберите учетную запись локальной системы и нажмите "Применить" и "ОК"
  7. Нажмите на ссылку "Остановить" на левой панели, выбрав "SQL Server (MSSQLSERVER)" и запустите ее снова после полной остановки.
  8. Наслаждайтесь вашей резервной копией.

Надеюсь, это поможет вам, как и мне. Ура!

Ответ 19

SQL Server не может получить доступ (записать) резервную копию в указанное место.

Сначала вам необходимо проверить учетную запись службы, на которой работает сервер Sql. Это можно сделать с помощью диспетчера конфигурации или Services.msc.

или

Используйте запрос ниже:

SELECT  DSS.servicename,
    DSS.startup_type_desc,
    DSS.status_desc,
    DSS.last_startup_time,
    DSS.service_account,
    DSS.is_clustered,
    DSS.cluster_nodename,
    DSS.filename,
    DSS.startup_type,
    DSS.status,
    DSS.process_id FROM    sys.dm_server_services AS DSS;

Теперь посмотрите на столбец service_account и запишите его.

Перейдите в место, где вы пытаетесь создать резервную копию. В вашем случае: C:\Users\Me\Desktop\Backup

Справа click--> Свойства → Безопасность ->

Добавьте учетную запись службы и предоставьте разрешения на чтение/запись. Это решит проблему.