无法打开备份设备。操作系统错误5

下面是我用来备份(创建 .bak)我的数据库的查询。

但是,无论何时运行它,我总是会收到这个错误消息:

味精3201,16层,状态1,线路1
无法打开备份设备‘ C: Users Me Desktop Backup MyDB.Bak’。操作系统错误5(拒绝访问。)。

味精3013,16层,状态1,线路1
备份数据库异常终止。

这是我的疑问:

BACKUP DATABASE AcinsoftDB
TO DISK = 'C:\Users\Me\Desktop\Backup\MyDB.Bak'
WITH FORMAT,
MEDIANAME = 'C_SQLServerBackups',
NAME = 'Full Backup of MyDB';
305085 次浏览

SQLServer 服务帐户没有写入文件夹 C:\Users\Kimpoy\Desktop\Backup\的权限

我也有过类似的问题。控件中添加了写权限。Bak 文件本身,以及我正在为 NETWORKSERVICE 用户写备份的文件夹。要添加权限,只需右键单击要更改的文件/目录,选择 security 选项卡,并在其中添加适当的用户/权限。

是的,我刚得到这个。

开始 > 管理 > 服务

在名为: SQLServer (MSSQLSERVER)的列表中查找服务,查找“ LogOn As”列(如果列表中不存在该列,则需要添加该列)。

这是您需要给予目录权限的帐户,右键单击 Explorer > properties > Shares (And Security)

注意 : 如果要通过网络访问,请记住将权限授予实际目录 AND 和共享。

应用并等待权限传播,再次尝试备份。

注意2 : 如果你在网络上进行备份,而你的 SQL 是以“本地服务”的方式运行的,那么你就有麻烦了... ... 你可以尝试分配权限,或者在 SQL Server 之外(一小时后)进行本地备份和 xcopy 可能更容易。

注意3 : 如果您运行的是网络服务,那么有时候远程计算机将无法识别 SQL Server 上的网络服务。如果是这种情况,您需要为实际的计算机本身添加权限,例如。我的服务器。

转到“开始”菜单中的“ SQL 服务器”文件夹,单击“配置工具” 选择 SQLServer 配置管理器 在 SQL 服务器服务上,在所需的实例上将(LogOn as)更改为本地系统

我最近也遇到了这个问题,但是我从服务器 A 运行备份作业,但是备份的数据库在服务器 B 上到服务器 C 上的文件共享。当服务器 A 上的代理告诉服务器 B 运行备份 t-sql 命令时,sql 实际上是在 SERVER B 上运行的服务帐户,它尝试将备份写入服务器 C。

请记住,执行实际 BACKUP DATABASE 命令的 sql 服务器的服务帐户需要文件系统上的特权,而不是代理。

味精3201,16层,状态1,线路1 无法打开备份设备‘ C: BackupAdventures _ 20120720 _ 1024AM. trn’。操作系统错误5(拒绝访问。)。 味精3013,16层,状态1,线路1 备份日志异常终止。

我验证了 C 驱动器上的备份文件夹,新服务帐户是否具有完全控制访问权限?,我意识到“测试 Kiran”服务帐户没有完全控制安全许可。

请按照以下步骤完全控制服务帐户:

  1. 转到 C 盘,右键单击“备份”文件夹。
  2. 选择“安全”选项卡。
  3. 单击“编辑”按钮,将打开新窗口。
  4. 点击添加按钮,并进入测试 Kiran 用户帐户,点击检查名称按钮,这将验证您输入的用户是否存在,如果它是存在的,它将显示用户在窗口,选择确定。
  5. 选择您输入的用户名,并选中“允许”下的“完全控制”复选框。

请检查对驱动器的访问。首先创建一个文件夹并转到文件夹属性,

你可以找到安全标签,点击那个检查你的用户 ID 是否有访问权限。

如果找不到您的 ID,请点击添加按钮,并给予用户名完全访问。

我自己也在经历这些。我已经确保我的 MSSQLSERVER 登录用户有 full access,但它仍然造成问题。只有当我将目的地移到 C 的根目录时,它才能工作。更重要的是,从一个用户文件夹(即使我有一个完全权限的共享-甚至尝试“每个人”作为一个测试)。

我不知道我是否认为我的问题“固定”,但它是“工作”。

仅供其他遇到此线程的用户参考。

我知道这不是一个精确的解决方案,但使用外部驱动器路径解决这个问题。

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

我在 Windows10上的 SQLExpress2014SP1也面临同样的问题。

解决哪个工作

  1. 输入“服务”开放服务
  2. 找到并打开 SQLServer (SQLExpress)
  3. 转到登录选项卡
  4. 选择本地系统帐户(还要检查允许服务与桌面交互)
  5. 单击“确定”。停止服务。重新启动服务。
  6. 问题解决了

以下是我绕过这个问题所做的工作。

1)启动备份

2)删除到磁盘的目标文件路径

3)点击添加

4)在“文件名:”复选框中手动键入后备名称。.备份,如下所示,Yourdb.bak 是数据库备份名称

C: 程序文件 Microsoft SQL Server 为 MSSQL11.MSSQLSERVER MSSQL Backup Yourdb.bak

5)点击 OK

希望这个能帮上忙!

共享此文件夹并使用 UNC 路径,例如: pc 备份 mydb.bak

然后你就可以停止分享了。

不是很优雅,但它解决了所有权限问题(您还需要给予共享权限,如上所述)

我经历过这个问题。BAK 文件暂时存储在用 BitLocker 加密的文件夹中。在移动到另一个文件夹后,它保留了加密。

NETWORKSERVICE 帐户无法解密该文件,并给出了这个完全信息性的错误消息。

上删除 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。

我也有同样的错误。以下更改帮助我修复了这个错误。

我必须检查服务器管理器-> 工具-> 服务,并找到用户(“ Log “ As”列上的服务: SQLServer (SQLEXPRESS)。

我转到本地文件夹(C: Users Me Desktop Backup)并添加了“ NT “ ServiceMSSQL $SQLEXPRESS”作为用户授予写权限。

为了找出需要授予哪个用户执行还原过程的权限,您可以执行以下步骤:

您需要转到安装 SQLServer 的服务器

enter image description here

接下来,需要转到“ SQLServer 服务”

enter image description here

在您的 SQLServer (MSSQLSERVER)实例下将有一个具有列“ LogonAs”的帐户,在我的示例中是 服务

这是您需要添加到源代码的“安全”选项卡下的帐户。Bak 位置,并给予该用户“读”权限,以便备份文件可以读取。

假设您的备份文件位于“ D: Shared”文件夹中,那么您需要像下面这样给出权限:

enter image description here

发生这种情况的原因之一是您运行的 MSSQLSERVER 服务没有使用本地系统。要修复此问题,请使用以下步骤。

  1. 使用 Windows + R 打开运行
  2. 输入 services.msc,就会打开一个服务对话框
  3. 查找 SQLServer (MSSQLSERVER)
  4. 右键单击并单击属性。
  5. 转到选项卡上的日志
  6. 选择本地系统帐户,然后点击“应用”和“确定”
  7. 通过选择“ SQLServer (MSSQLSERVER)”单击左面板上的 Stop 链接,并在完全停止后再次启动它。
  8. 好好享受你的后援吧。

希望对你有帮助,就像对我一样,干杯!

SQLServer 无法将备份访问(写入)到指定的位置。

首先,您需要验证运行 Sql 服务器的服务帐户。这可以通过使用 Configuration manager 或 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

右击-> 属性-> 安全性->

添加服务帐户并提供读/写权限。这将解决问题。

在我的例子中,我忘了给备份文件命名,它总是给我相同的权限错误:/

TO DISK N'{path}\WRITE_YOUR_BACKUP_FILENAME_HERE.bak'

我用以下三个步骤解决了同样的问题:

  1. 我将备份文件存储在其他工作正常的文件夹路径中。
  2. 查看不同的安全标签两个文件夹(如下图)。
  3. 编辑安全选项卡文件夹中工作不正常的权限。

enter image description here

我的问题是“文件所有权”设置为我的公司。我把它改成了“个人”而且成功了。右键单击该文件并单击“文件所有权 >”选项,然后将其更改为“个人”。我相信所有通过微软团队发送的文件都会发生这种情况。

如果备份目的地路径位于您的本地机器上,将“ SQL Server”服务的帐户更改为“ Local System Account”,那么所有问题都必须解决,请记住“ SQL Server”实例服务负责访问备份目的地,因此它正在运行的帐户必须访问您的备份的目的地路径。

确保您实际上是保存到一个文件而不是一个文件夹,

我的问题是,我只是简单地把文件夹路径,而不是文件路径

你想要这个

'F:\Database Backup\Pharmacy\data.bak';

你不会想这样的

'F:\Database Backup\Pharmacy';