小编Gee*_*man的帖子

在多租户环境中部署 SQL Server 备份维护计划

我们有一个多租户环境,我一直在尝试在所有服务器上部署标准化的维护计划。我一直在遇到正确导入维护计划的问题,以及设置正确的最小权限来运行作业的问题。

任何人都可以就如何在异构多租户环境(例如我们的环境)中部署此类备份维护计划提供一些指导。我在下面详细介绍了我的尝试,鉴于复杂程度正在迅速上升,我想知道我是否正朝着完全不正确的方向前进。

有没有更好的办法?

我正在寻找一种可以通过脚本/SQLCMD 轻松部署的解决方案,因此我可以通过 Puppet 推出它。我也希望坚持维护计划,因为我们团队中的 SQL 知识很少,并且未来对备份计划的编辑需要深入的 T-SQL 知识将是有问题的(尽管它看起来像一个 T-SQL 脚本或为了运行备份可能是最简单的方法)。

环境

  • 现在我们主要运行 Windows 2008 R2 和 SQL Server 2008 R2 Standard
  • 但是,支持 Windows 2012 和 SQL Server 2012/2014 的解决方案将是目标
  • 我们为多个客户支持许多 SQL Server,所有这些都是隔离的。
  • 一些客户在他们自己的 Active Directory 林中运行,而其他客户则运行没有 AD 的独立 SQL Server。因此,在 AD 身份验证方面没有共同因素。
  • 所有客户都被隔离在他们自己的网段中,但我们可以在防火墙中打孔以进行备份。
  • 现在,我们使用 Puppet 进行跨服务器的基本配置管理。基本上,这转化为以标准方式在服务器上部署新文件、运行脚本、SQL(通过 SQLCMD)和设置权限/用户的简单能力。

我试过的

目前,我的主要尝试包括通过集成服务将我的维护计划导出到 DTSX 文件,以及作业子计划的相关 T-SQL。然后将这些导入到目标服务器中,以相同的用户名/密码运行。

一些粗略的步骤:

  1. 照常在服务器上创建维护计划。设置时间表。

  2. 在计划中配置本地服务器连接以作为我的标准化“备份”用户进行连接。

  3. 将 subplan1 作业配置为由“backup”用户拥有,并将 Subplan_1 Step 1 配置为通过相同的备份 SQL 用户进行连接。

  4. 本地连接到集成服务并将存储在 MSDB 中的维护计划导出到 DTSX 文件,指定自定义加密密码。还将 Job subplan_1 T-SQL 导出到新的 SQL 文件。

  5. 在所有数据库上授予backup …

sql-server-2008 sql-server backup maintenance-plans

5
推荐指数
1
解决办法
2327
查看次数