我正在使用 SQL Server 2012 并创建了一个维护计划,每晚将用户数据库备份到硬盘驱动器上的一个文件夹中。但是,当执行该计划时,它会失败并显示“访问被拒绝”错误。
以下是详细信息:
- 我创建了一个维护计划,添加了一个备份所有用户数据库的“备份数据库任务”任务。
- 我确认该计划设置为以“SQL Server 代理服务帐户”运行
- 当我转到 SQL Server 配置管理器并在“登录”选项卡下查看 SQL Server 代理的属性时,它显示NT Service\SQLSERVERAGENT作为用于此服务的帐户。
- 我在硬盘驱动器上创建了一个文件夹来存储这些名为C:\SQLBackups的备份,并完全控制了NT Service\SQLSERVERAGENT帐户
- 我在步骤 1 中将维护计划配置为存储到C:\SQLBackups,为每个数据库创建子文件夹。
当我运行维护计划时,出现以下错误:
执行查询“EXECUTE master.dbo.xp_create_subdir N'C:\SQLBackup...”失败并出现以下错误:“xp_create_subdir() 返回错误 5,‘访问被拒绝。’”。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或者连接建立不正确。
如果我授予 Everyone 对C:\SQLBackups文件夹的完全访问权限,那么维护计划将毫无问题地运行。
哪些帐户必须有权访问此文件夹才能进行备份?我假设我只需要授予对NT Service\SQLSERVERAGENT帐户的访问权限,但显然这是行不通的。
谢谢
解决了!
我还需要将该文件夹的权限授予NT SERVICE\MSSQLSERVER帐户。
然而,您可以授予“经过身份验证的用户”组的权限 - 它在我的案例中有效 - Windows Server Domain infrastructure