![通过 Mintenance Plan 进行 SQL Server 备份的权限问题](https://linux22.com/image/799129/%E9%80%9A%E8%BF%87%20Mintenance%20Plan%20%E8%BF%9B%E8%A1%8C%20SQL%20Server%20%E5%A4%87%E4%BB%BD%E7%9A%84%E6%9D%83%E9%99%90%E9%97%AE%E9%A2%98.png)
我正在使用 SQL Server 2012,并创建了一个维护计划,以便每晚将用户数据库备份到硬盘上的文件夹中。但是,执行该计划时会失败,并出现“访问被拒绝”错误。
以下是详细信息:
- 我创建了一个维护计划,添加了一个备份所有用户数据库的“备份数据库任务”任务。
- 我已验证该计划已设置为以“SQL Server 代理服务帐户”身份运行
- 当我进入 SQL Server 配置管理器并在“登录”选项卡下查看 SQL Server 代理的属性时,它显示NT 服务\SQLSERVERAGENT作为用于此服务的帐户。
- 我在硬盘上创建了一个文件夹来存储这些备份,名为C:\SQL备份并完全控制了NT 服务\SQLSERVERAGENT帐户
- 我在步骤 1 中配置了维护计划以存储到C:\SQL备份,为每个数据库创建子文件夹。
当我运行维护计划时出现以下错误:
执行查询“EXECUTE master.dbo.xp_create_subdir N'C:\SQLBackup...”失败,错误如下:“xp_create_subdir() 返回错误 5,‘拒绝访问’”。可能的失败原因:查询存在问题,“ResultSet”属性设置不正确、参数设置不正确或连接建立不正确。
如果我授予每个人完全访问权限C:\SQL备份文件夹,则维护计划运行不会出现问题。
哪些账户必须有权访问此文件夹才能进行备份?我假设我只需要授予NT 服务\SQLSERVERAGENT帐户,但显然这不起作用。
谢谢
答案1
解决了!
我需要授予文件夹的权限NT 服务\MSSQLSERVER帐户。
答案2
但是,您可以授予“经过身份验证的用户”组权限 - 在我的情况下有效 - Windows Server 域基础结构