关于SQL SERVER 和SQL AGENT 服务帐号

        对于SQL SERVER 在Microsoft Window NT帐号下运行时,SQL Server会为该Windows NT帐户设置对于多种特定文件,文件夹和注册表项的Windows用户权限。如果此后使用SEM更改SQL Server & SQL agent的启动帐号,SEM会自动为您将所以所需的权限和Windows用户权限分配给新的启动帐号,所以推荐使用。
       但你使用‘管理工具’中的“服务”程序来添加帐户,你必须手动的设置一些信息:
       ●注册表项
       ●磁盘上的NTFS权限
       ●Windows 的用户权限
      

注册表项

在下面的列表中的注册表项上为 MSSQLServer 服务和 SQLServerAgent 服务的启动帐户(本地 Microsoft Windows NT 帐户或域 Windows NT 帐户)设置“完全控制”。在下面的注册表结构中,这些注册表项是在其中设置“访问控制列表”(ACL) 的项。对于群集,在群集的每个节点上执行此步骤。

“完全控制”权限适用于以下项和子项:
对于命名实例:
HKEY_LOCAL_MACHINE/Software/Clients/Mail

HKEY_LOCAL_MACHINE/Software/Microsoft/Microsoft SQL Server/80

HKEY_LOCAL_MACHINE/Software/Microsoft/Microsoft SQL Server/<实例名>

HKEY_LOCAL_MACHINE/Software/Microsoft/MSDTC

HKEY_LOCAL_MACHINE/Software/Microsoft/Search
对于默认实例:
HKEY_LOCAL_MACHINE/Software/Clients/Mail

HKEY_LOCAL_MACHINE/Software/Microsoft/Microsoft SQL Server/80

HKEY_LOCAL_MACHINE/Software/Microsoft/MSSQLServer/Cluster

HKEY_LOCAL_MACHINE/Software/Microsoft/MSSQLServer/MSSQLServer

HKEY_LOCAL_MACHINE/Software/Microsoft/MSSQLServer/Providers

HKEY_LOCAL_MACHINE/Software/Microsoft/MSSQLServer/Replication

HKEY_LOCAL_MACHINE/Software/Microsoft/MSSQLServer/Setup

HKEY_LOCAL_MACHINE/Software/Microsoft/MSSQLServer/SQLServerAgent

HKEY_LOCAL_MACHINE/Software/Microsoft/MSSQLServer/Tracking

HKEY_LOCAL_MACHINE/Software/Microsoft/MSDTC

HKEY_LOCAL_MACHINE/Software/Microsoft/Search

注意:对于下面的项有一个例外,该项中没有设置子项的权限:

HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/Perflib

    磁盘上的 NTFS 权限

在这些 NTFS 文件夹上为 MSSQLServer 服务和 SQLServerAgent 服务的启动帐户(本地 Microsoft Windows NT 帐户或域 Windows NT 帐户)设置“完全控制”。对于群集,您必须还要修改每个计算机节点上的相应的路径。

下面是一个用于命名实例的示例:
D:/Program Files/Microsoft SQL Server/MSSQL$_instancename_/
下面是一个用于默认实例的示例:
D:/Program Files/Microsoft SQL Server/MSSQL/
子文件夹和文件也必须具有相同的权限。
      

Windows 用户权限

通常,操作系统的默认安装会赋予 本地管理员组 SQL Server 正常工作所需的所有用户权限。因此,要成为 SQL Server 服务的启动帐户、而且已经被添加到 本地管理员组的本地 Windows NT 帐户或域帐户,具有它们所需要的所有用户权限。但是,建议您不要在这么高的用户权限下运行 SQL Server。

如果您不希望 SQL Server 或 SQL Server 代理启动帐户成为 本地管理员组的成员,那么,MSSQLServer 服务和 SQLServerAgent 服务的启动帐户(本地 Windows NT 帐户或域 Windows NT 帐户)必须具有以下用户权限:

作为操作系统的一部分操作 = SeTcbPrivilege
绕开遍历检查 = SeChangeNotify
增加配额 = SeIncreaseQuotaPrivilege
锁定内存页 = SeLockMemory
作为批处理作业登录= SeBatchLogonRight
作为服务登录 = SeServiceLogonRight
替换进程级令牌 = SeAssignPrimaryTokenPrivilege

注意:为了便于编程,在用户权限全名的旁边放置了 Microsoft Windows NT 用户权限名。  
如果 MSSQLServer 服务将要启动的帐户:
不是计算机本地管理员组的成员。

- 或 -
BUILTIN/Administrators SQL Server 登录已被删除。
您必须将 MSSQLServer 和 SQLServerAgent 服务的启动帐户(或这两者)添加到 SQL Server 系统管理员 ( sysadmin) 角色。授予 [域/NT帐户] 用户对 SQL Server 的登录权。例如:

EXEC sp_grantlogin [Example/test]
然后,将该帐户添加到 sysadmin 角色:
EXEC sp_addsrvrolemember @loginame = [Example/test]
, @rolename = 'sysadmin'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值