我有一个计划的任务(在Windows Task Scheduler中),该任务使用SMO(Windows身份验证)连接到SQL Server并创建数据库备份。到目前为止,该任务在Administrator帐户下运行,我想将其更改为使用SYSTEM帐户。
我更改了计划的任务,令我大吃一惊的是,它开箱即用。
我想了解为什么会这样。系统是Windows Server 2012 R2,数据库是SQL Server 2012(SP1)Express Edition。这是标准安装,添加了一个SQL Auth用户。
在SSMS中,这些是登录名及其相关的服务器角色:
MS_PolicyEventProcessingLogin ## (已禁用)
MS_PolicyTsqlExecutionLogin ## (已禁用)
- MyServer \ Administrator(公用,系统管理员)
- MySqlAuthUser(公共)
- BUILTIN \ Users(公共)
- NT AUTHORITY \ SYSTEM(公共)
- NT SERVICE \ MSSQLSERVER(公用,系统管理员)
- NT SERVICE \ SQLWriter(公用,系统管理员)
- NT SERVICE \ Winmgmt(公共,系统管理员)
- sa(public,sysadmin)
数据库本身具有以下用户及其角色:
- MySqlAuthUser(登录MySqlAuthUser)(db_owner)
- dbo(登录sa)(db_owner)
- 客人(已禁用)
- INFORMATION_SCHEMA (已禁用)
- sys (禁用)
查看用户NT AUTHORITY \ SYSTEM的“有效权限”将产生以下输出:
- 更改任何可用性组
- 连接SQL
- 创建可用性组
- 查看任何数据库
- 查看服务器状态
为什么NT AUTHORITY \ SYSTEM有权备份数据库?我很高兴这样做,但是我真的很想了解为什么 ...