KB4578008 - 修复:当 SQL 代理系统作业在 SQL Server 2016 和 2017 中更改为“sa”以外的其他名称时,托管备份不会备份数据库

应用对象
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 2 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

症状

假设你使用 ALTER LOGIN 更改内置 [sa] 帐户的名称,以提高 SQL Server 2016 或 2017 实例的安全性。 在这种情况下,您可能会发现托管备份和自动备份不再正常工作。 例如 [msdb]。[managed_backup]。[sp_backup_config_basic] 存储过程将运行无任何错误,但不会对托管备份配置进行任何更改。 此外,即使托管备份配置看起来正确,也不会备份数据库。

      

更多信息

如果在从 [msdb] 运行存储过程时跟踪活动。[managed_backup] 架构,你可能会注意到对 [msdb] 的调用。[dbo]。[sp_sqlagent_set_job_completion_state] 参数值为@last\_outcome\_message

作业失败。 作业 smart_admin_job_[GUID] 的) (所有者没有服务器访问权限。

状态

Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。

解决方法

此问题已在 SQL Server 的以下累积更新中修复:

关于 SQL Server 的累积更新:

SQL Server 的每个新累积更新都包含上一个累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

解决方法

若要解决此问题,你可以:

  • 临时将 sa 帐户重命名为“sa”。
  • 升级到已修复问题的 SQL Server 2019。

参考资料

了解 Microsoft 用于描述软件更新的术语。