Eri*_*gum 2 sql-server backup permissions service-accounts
系统管理员为我提供了一个特定的域帐户来处理备份。我有点困惑,因为我过去从未获得过单独的域帐户来处理备份。我仍然想使用 Agent 来处理这个问题,所以我认为他们正在考虑以下问题:
如果您在代理帐户下运行作业,则代理必须是域帐户。将该帐户添加到 sysadmin 服务器角色并授予它对目录和网络共享的完全控制权。
所以我已经完成了我认为上面描述的事情,我添加了域帐户作为登录名,我创建了一个凭证和代理,并且我将作业步骤创建为 CmdExec 以在代理下运行,但我仍然得到:
操作系统错误 5(访问被拒绝。)。
直到我授予对运行 SQL Server 服务的服务帐户的访问权限后,我才能备份到此网络共享。我还担心恢复,我想利用代理来处理清理任务并将文件随着时间的推移移动到各个目录。
所以我不确定这里发生了什么,但我认为服务帐户至少需要写访问权限?一位系统管理员说他知道有人将备份过程作为“单独的服务”进行,我不太明白,除非它像 ApexSQL 备份之类的东西......
如果您正在执行本机 SQL Server 备份,则运行 SQL Server 数据库引擎的服务帐户必须有权访问备份位置。代理作业可以在代理下运行以启动作业本身,但引擎仍然执行备份,因此仍然需要访问。
将备份以其他用户身份写入磁盘的唯一方法是使用第三方工具,该工具通过 SQL VDI 接口接收备份数据并将其以适当的用户身份写入磁盘。
从文档:
备份设备物理文件的所有权和权限问题可能会干扰备份操作。SQL Server 必须能够读取和写入设备;运行 SQL Server 服务的帐户必须具有写入权限。
为了在备份后管理文件,您可以为此使用 SQL Server 代理,以确保您使用正确的帐户进行文件系统访问。