【问题标题】:Cannot open backup '' Operating system error 5(Access is denied.)无法打开备份 '' 操作系统错误 5(访问被拒绝。)
【发布时间】:2015-09-08 14:24:51
【问题描述】:

我正在尝试将.bak 文件从一台服务器恢复到另一台服务器。请看我的语法:

RESTORE DATABASE [NewDB]
FROM DISK = '\\aps-sql111\D$\MSSQL\Backup\OLDDB.bak'
WITH 
MOVE 'OLDDB' TO 'M:\MSSQL\NewDB.mdf',
MOVE 'OLDDB_log' TO 'M:\MSSQL\NewDB.ldf',
REPLACE,
STATS=10

我一直看到的是:

无法打开备份设备“”。操作系统错误 5(访问被拒绝。)。

有什么帮助吗?

【问题讨论】:

    标签: sql-server


    【解决方案1】:

    您似乎正在尝试通过网络进行恢复,访问目标服务器不是本地的 bak 文件:使用默认 sql 配置您无法做到这一点。

    默认设置是以本地用户身份运行 sql 服务(通常是网络服务或本地服务):本地用户无法访问远程机器上的资源。

    至少有3个解决方案:

    • 将文件复制到本地文件夹中,供 sql 服务使用的用户访问
    • 将 sql 服务的配置更改为可以通过网络访问备份文件夹的用户运行(我不会在生产系统上这样做)
    • 将 bak 文件复制到可移动存储上以将数据从源移动到目标(或将 bak 复制到可以映射到目标服务器的 SAN/NAS)

    【讨论】:

    • 这里的问题是这里的 .bak 文件大约有 600gb 大。我有空间问题。没有其他方法可以运行该脚本吗?
    • 使 sql 服务以可以通过网络访问该文件夹的用户身份运行。这不是一个微不足道的改变,或者我会在生产环境中做的事情。查看我的编辑
    • @user3424320:关于空间问题,备份文件是用原生SQL压缩的吗?
    【解决方案2】:

    一种方法是在 SQL Server 配置中将登录类型从内置帐户更改为用户帐户,并使用具有足够网络权限的用户。

    • 打开 SQL Server 配置管理
    • 转到 SQL Server 服务
    • 选择 SQL Server([您的实例名称])
    • 右键单击服务并单击属性
    • 选择标签登录
    • 更改为此帐户
    • 浏览具有网络目录访问权限的用户
    • 设置用户和密码
    • 重启服务

    如果您需要处理 JOB 备份,请在 SQL Server 代理服务上设置此用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-26
      • 1970-01-01
      • 2020-07-10
      • 2020-10-24
      • 1970-01-01
      • 2023-03-11
      • 2013-10-04
      • 2020-02-08
      相关资源
      最近更新 更多