为什么NT AUTHORITY \ SYSTEM可以创buildSQL Server数据库备份?

我有一个计划任务(在Windows任务计划程序中)使用SMO(Windows身份validation)连接到SQL Server并创build数据库备份。 到目前为止,这个任务是在pipe理员帐户下运行的,我想改为使用SYSTEM帐户。

我改变了计划中的任务,而且让我非常吃惊的是,它开箱即用。

我想明白为什么会这样。 系统是Windows Server 2012 R2,数据库是SQL Server 2012(SP1)Express Edition。 这是一个标准安装,添加了一个SQL Auth用户。

在SSMS中,这些是login及其相关的服务器angular色:

  • MS_PolicyEventProcessingLogin ## (禁用)

  • MS_PolicyTsqlExecutionLogin ## (禁用)

  • MyServer \ Administrator(公共,系统pipe理员)
  • MySqlAuthUser(公共)
  • BUILTIN \ Users(公共)
  • NT AUTHORITY \ SYSTEM(公共)
  • NT SERVICE \ MSSQLSERVER(公共,系统pipe理员)
  • NT SERVICE \ SQLWriter(public,sysadmin)
  • NT SERVICE \ Winmgmt(public,sysadmin)
  • sa(公共,系统pipe理员)

数据库本身具有以下用户及其angular色:

  • MySqlAuthUser(Login MySqlAuthUser)(db_owner)
  • dbo(loginsa)(db_owner)
  • 客人(残疾人)
  • INFORMATION_SCHEMA (禁用)
  • sys (禁用)

查看用户NT AUTHORITY \ SYSTEM的“有效权限”会得到以下输出:

  • 改变任何可用性组
  • CONNECT SQL
  • 创build可用性组
  • 查看任何数据库
  • 查看服务器状态

为什么NT AUTHORITY \ SYSTEM有权限备份数据库? 我很高兴它,但我真的想明白为什么

备份数据库的最低权限是服务器级别的PUBLIC和数据库级别的DB_BACKUPOPERATOR

在SQL Server 2005中,Microsoft build议不要从sysadminangular色中删除NT AUTHORITY\SYSTEM

NT AUTHORITY \ SYSTEM帐户也被授予SQL Serverlogin名。 NT AUTHORITY \ SYSTEM帐户在SYSADMIN固定服务器angular色中进行设置。 不要删除此帐户,也不要将其从SYSADMIN固定服务器angular色中删除。 Microsoft AUTHORITY \ SYSTEM帐户由Microsoft Update和Microsoft SMS使用,以将Service Pack和修补程序应用于SQL Server 2005安装。 NT AUTHORITY \ SYSTEM帐户也由SQL编写器服务使用。

这在2012年已经不再是这种情况了。我重新检查了我自己的2012 Express实例: NT AUTHORITY\SYSTEM不是系统pipe理员。 但是, SQL Service VSS Writer 正在运行NT AUTHORITY\SYSTEM并且一个系统pipe理员。

我无法find任何备份链接,这就是为什么NT AUTHORITY\SYSTEM被允许备份数据库,但我相信是这样的。