小编mos*_*osg的帖子

向“NT AUTHORITY\SYSTEM”授予系统管理员权限

对于 SQL Server 2012 及更高版本,如SQL Server 安装中的新增功能所述:

BUILTIN\administrators本地系统( NT AUTHORITY\SYSTEM ) 不会在 sysadmin 固定服务器角色中自动配置。

就我而言,这已经成为一个问题:我有一个 WiX 安装程序,它使用Custom ActionC++ 代码来设置数据库数据(创建数据库、视图、过程、数据等)。Custom Action以 user 身份运行NT AUTHORITY\SYSTEM,但此帐户没有执行CREATE DATABASE脚本的权限。

  1. 安装软件时赋予sysadmin角色是否正确NT AUTHORITY\SYSTEM?或者也许有更好的解决方案?

  2. 如果正确,是否可以找到正确的用户名NT AUTHORITY\SYSTEM?我需要这个名字才能更改权限*。在不同的语言环境中,此名称是不同的,例如,NT AUTHORITY\SYSTEMNT AUTHORITY\???????


添加NT AUTHORITY\SYSTEMsysadmin角色:

IF NOT EXISTS
(
    SELECT name
    FROM master.sys.server_principals 
    WHERE IS_SRVROLEMEMBER ('sysadmin', name) = 1 
    AND name LIKE 'NT AUTHORITY\SYSTEM'
)
EXEC …
Run Code Online (Sandbox Code Playgroud)

sql-server scripting sql-server-2012

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

scripting ×1

sql-server ×1

sql-server-2012 ×1