Ful*_*oof 4 sql-server permissions sql-server-agent maintenance-plans
我有一个配置了 Windows 身份验证的维护计划
由具有所有者的 SQL Server 代理作业运行 sa

维护计划的 Windows 身份验证向谁进行身份验证,为谁和为了什么 - 为什么需要它和/或如何使用它?我应该向哪个用户授予访问备份(在维护计划中规定)目录位置的权限?
考虑到所有者sa具有 SQL Server 身份验证,SQL Server 代理作业的所有者如何参与所有这些工作?
“管理连接”对话框用于连接到您正在执行维护的数据库或实例。
因此,如果您在此处键入一个名为“bob”的 sql 身份验证用户,则用户 bob 将连接到实例以执行您指定的维护任务。
您可以通过运行 SQL Server Trace/Profiler(在开发环境中)并查看正在建立的连接来证明这一点。
这基本上是连接到 SQL Server 中的对象的用户。
在这种情况下,与文件夹和外部资源的连接将是您的 SQL Server 服务帐户运行的任何方式。
这有点令人困惑,但它的工作原理是这样的:
1.) 您的 SQL Server 代理服务帐户(或使用的代理帐户)将执行所有操作。它将调用维护计划,它将处理作业历史记录/等的作业日志记录。
2.) 当维护计划运行时——其中的任何任务将使用代理帐户拥有的任何权限,或者你在维护计划连接管理器中明确定义的任何内容——就像你所做的那样。
3.) 对于 SQL Server 之外的资源的任何访问 - SQL Server 服务帐户实际上将是交互帐户。因此,要将备份写入文件夹,您的 SQL Server 服务帐户将需要该权限。代理告诉服务器运行维护计划,告诉服务器做备份。SQL Server 服务的服务帐户然后执行它所请求的操作并写出备份。
还
你没有在这里问 - 但我会像在上一个答案中一样再次提到它。我没有得到任何推荐免费资源的东西 - 但是我在您的相关问题中提到的 Ola Hallengren 维护解决方案是一个非常好的资源。它会智能地重建/重组您的索引,因此您只需接触需要的内容,它将为您的统计更新添加更多控制和智能,它在备份方面做得很好,等等。但是最好的事情是什么?它摆脱了维护计划的黑匣子,并消除了一个变量,让您不必担心看到您试图回答的一些更高级的安全问题。