我们有一个多租户环境,我一直在尝试在所有服务器上部署标准化的维护计划。我一直在遇到正确导入维护计划的问题,以及设置正确的最小权限来运行作业的问题。
任何人都可以就如何在异构多租户环境(例如我们的环境)中部署此类备份维护计划提供一些指导。我在下面详细介绍了我的尝试,鉴于复杂程度正在迅速上升,我想知道我是否正朝着完全不正确的方向前进。
有没有更好的办法?
我正在寻找一种可以通过脚本/SQLCMD 轻松部署的解决方案,因此我可以通过 Puppet 推出它。我也希望坚持维护计划,因为我们团队中的 SQL 知识很少,并且未来对备份计划的编辑需要深入的 T-SQL 知识将是有问题的(尽管它看起来像一个 T-SQL 脚本或为了运行备份可能是最简单的方法)。
环境
我试过的
目前,我的主要尝试包括通过集成服务将我的维护计划导出到 DTSX 文件,以及作业子计划的相关 T-SQL。然后将这些导入到目标服务器中,以相同的用户名/密码运行。
一些粗略的步骤:
照常在服务器上创建维护计划。设置时间表。
在计划中配置本地服务器连接以作为我的标准化“备份”用户进行连接。
将 subplan1 作业配置为由“backup”用户拥有,并将 Subplan_1 Step 1 配置为通过相同的备份 SQL 用户进行连接。
本地连接到集成服务并将存储在 MSDB 中的维护计划导出到 DTSX 文件,指定自定义加密密码。还将 Job subplan_1 T-SQL 导出到新的 SQL 文件。
在所有数据库上授予backup …