sql server 服务账户和权限管理配置

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

大多数服务及其属性可通过使用SQL Server 配置管理器进行配置。

以下是在C 盘安装Windows 的情况下最新的四个版本的路径。

安装的服务SQL Server
根据您决定安装的组件,SQL Server 安装程序将安装以下服务:
•SQL Server Database Services - 用于SQL Server 关系数据库引擎的服务。

可执行文件为<MSSQLPATH>\MSSQL\Binn\sqlservr.exe。

•SQL Server 代理 - 执行作业、监视SQL Server、激发警报以及允许自动执行某些管理任务。

SQL Server 代理服务在SQL Server Express 的实例上存在,但处于禁用状态。

可执行文件为<MSSQLPATH>\MSSQL\Binn\sqlagent.exe。

•Analysis Services - 为商业智能应用程序提供联机分析处理(OLAP) 和数据挖掘功能。

可执行文件为<MSSQLPATH>\OLAP\Bin\msmdsrv.exe。

•Reporting Services - 管理、执行、创建、计划和传递报表。

可执行文件为<MSSQLPATH>\Reporting
Services\ReportServer\Bin\ReportingServicesService.exe。

•Integration Services - 为Integration Services 包的存储和执行提供管理支持。

可执行文件的路径是<MSSQLPATH>\130\DTS\Binn\MsDtsSrvr.exe •SQL Server Browser - 向客户端计算机提供SQL Server 连接信息的名称解析服务。

可执行文件的路径为c:\Program Files (x86)\Microsoft SQL
Server\90\Shared\sqlbrowser.exe
•全文搜索 - 对结构化和半结构化数据的内容和属性快速创建全文索引,从而为SQL Server 提供文档筛选和断字功能。

•SQL 编写器 - 允许备份和还原应用程序在卷影复制服务(VSS) 框架中运行。

•SQL Server 分布式重播控制器 - 跨多个分布式重播客户端计算机提供跟踪重播业务流程。

•SQL Server Distributed Replay 客户端 - 与Distributed Replay 控制器一起来模拟针对SQL Server 数据库引擎实例的并发工作负荷的一台或多台Distributed
Replay 客户端计算机。

•SQL Server 受信任的启动板 - 用于托管Microsoft 提供的外部可执行文件的可信服务,例如作为R Services (In-database) 的一部分安装的R 运行时。

附属进程可由
启动板进程启动,但将根据单个实例的配置进行资源调控。

启动板服务在其自己的用
户帐户下运行,特定注册运行时的各个附属进程将继承启动板的用户帐户。

附属进程
将在执行过程中按需创建和销毁。

服务属性和配置
用于启动和运行SQL Server 的启动帐户可以是域用户帐户、本地用户帐户、托管服务帐户、虚拟帐户或内置系统帐户。

若要启动和运行SQL Server 中的每项服务,这些服务都必须有一个在安装过程中配置的启动帐户。

默认服务帐户
下表列出了安装程序在安装所有组件时使用的默认服务帐户。

列出的默认帐户是建议使用的帐户,但特殊注明的除外。

独立服务器或域控制器
*当需要SQL Server 计算机外部的资源时,Microsoft 建议使用配置了必需的最小特权的托管服务帐户(MSA)。

SQL Server 故障转移群集实例
更改帐户属性
托管服务帐户、组托管服务帐户和虚拟帐户
托管服务帐户、组托管服务帐户和虚拟帐户设计用于向关键应用程序(例如SQL Server)提供其自己帐户的隔离,同时使管理员无需手动管理这些帐户的服务主体名称(SPN) 和凭据。

这就使得管理服务帐户用户、密码和SPN 的过程变得简单得多。

•托管服务帐户
托管服务帐户(MSA) 是一种由域控制器创建和管理的域帐户。

它分配给单个成员计算机以用于运行服务。

域控制器将自动管理密码。

您不能使用MSA 登录到计算机,但计算机可以使用MSA 来启动Windows 服务。

MSA 可以向Active Directory 注册服务主体名称(SPN)。

MSA 的名称中有一个$后缀,例如
DOMAIN\ACCOUNTNAME$。

在指定MSA 时,请将密码留空。

因为将MSA 分配给单个计算机,它不能用于Windows 群集的不同节点。

•组托管服务帐户
组托管服务帐户是针对多个服务器的MSA。

Windows 为在一组服务器上运行的服务管理服务帐户。

Active Directory 自动更新组托管服务帐户密码,而不重启服务。

你可以配置SQL Server 服务以使用组托管服务帐户主体。

SQL Server 2016 对于独立实例、故障转移群集实例和可用性组,在Windows Server 2012 R2 和更高版本上支持组托管服务帐户。

若要使用SQL Server 2016 或更高版本的组托管服务帐户,操作系统必须是
Windows Server 2012 R2 或更高版本。

装有Windows Server 2012 R2 的服务器需要应用KB 2998082,以便服务可以在密码更改后立即登录而不中断。

有关详细信息,请参阅组托管服务帐户
•虚拟帐户
Windows Server 2008 R2 和Windows 7 中的虚拟帐户是“托管的本地帐户”,此类帐户提供以下功能以简化服务管理。

虚拟帐户是自动管理的,并且虚拟帐户可以访
问域环境中的网络。

如果在Windows Server 2008 R2 或Windows 7 上安装SQL Server 时对服务帐户使用默认值,则将使用将实例名称用作服务名称的虚拟帐户,格式为NT SERVICE\<SERVICENAME>。

以虚拟帐户身份运行的服务通过使用计算机帐户的凭据(格式为<domain_name>\<computer_name>$)访问网络资源。

当指定一个虚拟帐户以启动SQL Server 时,应将密码留空。

如果虚拟帐户无法注册服务主体名称(SPN),则手动注册该SPN。

有关手动注册SPN 的详细信息,请参阅手动注册SPN。

下表列出了虚拟帐户名称的示例。

安全说明始终用尽可能低的用户权限运行SQL Server 服务。

就会使用MSA或virtual account。

当无法使用MSA 和虚拟帐户时,将使用特定的低特权用户帐户或域帐户,而不将共享帐户用于SQL Server 服务。

对不同的SQL Server 服务使用单独的帐户。

不要向SQL Server 服务帐户或服务组授予其他权限。

在支持服务SID 的情况下,将通过组成员身份或直接将权限授予服务SID。

防火墙端口
在大多数情况下,首次安装时,可以通过与数据库引擎安装在相同计算机上的SQL Server Management Studio 等此类工具连接SQL Server。

SQL Server 安装程序不会在Windows 防火墙中打开端口。

在将数据库引擎配置为侦听TCP 端口,并且在Windows 防火墙中打开适当的端口进行连接之前,将无法从其他计算机建立连接。

配置Windows 服务帐户和权限
SQL Server 2016
其他版本
适用于:SQL Server 2016
SQL Server 中的每个服务表示一个进程或一组进程,用于通过Windows 管理SQL Server 操作的身份验证。

本主题介绍此SQL Server版本中服务的默认配置,以及可以在SQL Server 安装过程中以及安装之后设置的SQL Server 服务的配置选项。

本主题将帮助高级用户了解服务帐户的详细信息。

大多数服务及其属性可通过使用SQL Server 配置管理器进行配置。

以下是在C 盘安装Windows 的情况下最新的四个版本的路径。

安装的服务SQL Server
根据您决定安装的组件,SQL Server 安装程序将安装以下服务:
•SQL Server Database Services - 用于SQL Server 关系数据库引擎的服务。

可执行文件为<MSSQLPATH>\MSSQL\Binn\sqlservr.exe。

•SQL Server 代理 - 执行作业、监视SQL Server、激发警报以及允许自动执行某些管理任务。

SQL Server 代理服务在SQL Server Express 的实例上存在,但处于禁用状态。

可执行文件为<MSSQLPATH>\MSSQL\Binn\sqlagent.exe。

•Analysis Services - 为商业智能应用程序提供联机分析处理(OLAP) 和数据挖掘功能。

可执行文件为<MSSQLPATH>\OLAP\Bin\msmdsrv.exe。

•Reporting Services - 管理、执行、创建、计划和传递报表。

可执行文件为<MSSQLPATH>\Reporting
Services\ReportServer\Bin\ReportingServicesService.exe。

•Integration Services - 为Integration Services 包的存储和执行提供管理支持。

可执行文件的路径是<MSSQLPATH>\130\DTS\Binn\MsDtsSrvr.exe
•SQL Server Browser - 向客户端计算机提供SQL Server 连接信息的名称解析服务。

可执行文件的路径为c:\Program Files (x86)\Microsoft SQL
Server\90\Shared\sqlbrowser.exe
•全文搜索 - 对结构化和半结构化数据的内容和属性快速创建全文索引,从而为SQL Server 提供文档筛选和断字功能。

•SQL 编写器 - 允许备份和还原应用程序在卷影复制服务(VSS) 框架中运行。

•SQL Server 分布式重播控制器 - 跨多个分布式重播客户端计算机提供跟踪重播业务流程。

•SQL Server Distributed Replay 客户端 - 与Distributed Replay 控制器一起来模拟针对SQL Server 数据库引擎实例的并发工作负荷的一台或多台Distributed
Replay 客户端计算机。

•SQL Server 受信任的启动板 - 用于托管Microsoft 提供的外部可执行文件的可信服务,例如作为R Services (In-database) 的一部分安装的R 运行时。

附属进程可由启动板进程启动,但将根据单个实例的配置进行资源调控。

启动板服务在其自己的用户帐户下运行,特定注册运行时的各个附属进程将继承启动板的用户帐户。

附属进程将在执行过程中按需创建和销毁。

服务属性和配置
用于启动和运行SQL Server 的启动帐户可以是域用户帐户、本地用户帐户、托管服务帐户、虚拟帐户或内置系统帐户。

若要启动和运行SQL Server 中的每项服务,这些服务都必须有一个在安装过程中配置的启动帐户。

此部分介绍可配置为启动SQL Server 服务的帐户、SQL Server 安装程序使用的默认值、Per-service SID 的概念、启动选项以及配置防火墙。

•默认服务帐户
•自动启动
•配置服务启动类型
•防火墙端口
默认服务帐户
下表列出了安装程序在安装所有组件时使用的默认服务帐户。

列出的默认帐户是建议使用的帐户,但特殊注明的除外。

独立服务器或域控制器
*当需要SQL Server 计算机外部的资源时,Microsoft 建议使用配置了必需的最小特权的托管服务帐户(MSA)。

SQL Server 故障转移群集实例
更改帐户属性
托管服务帐户、组托管服务帐户和虚拟帐户
托管服务帐户、组托管服务帐户和虚拟帐户设计用于向关键应用程序(例如SQL Server)提供其自己帐户的隔离,同时使管理员无需手动管理这些帐户的服务主体名称(SPN) 和凭据。

这就使得管理服务帐户用户、密码和SPN 的过程变得简单得多。

•托管服务帐户
托管服务帐户(MSA) 是一种由域控制器创建和管理的域帐户。

它分配给单个成员计算机以用于运行服务。

域控制器将自动管理密码。

您不能使用MSA 登录到计算机,但计算机可以使用MSA 来启动Windows 服务。

MSA 可以向Active Directory 注
册服务主体名称(SPN)。

MSA 的名称中有一个$后缀,例
如DOMAIN\ACCOUNTNAME$。

在指定MSA 时,请将密码留空。

因为将MSA 分配给单个计算机,它不能用于Windows 群集的不同节点。

•组托管服务帐户
组托管服务帐户是针对多个服务器的MSA。

Windows 为在一组服务器上运行的服务管理服务帐户。

Active Directory 自动更新组托管服务帐户密码,而不重启服务。

你可以配置SQL Server 服务以使用组托管服务帐户主体。

SQL Server 2016 对于独立实例、故障转移群集实例和可用性组,在Windows Server 2012 R2 和更高版本上支持组托管服务帐户。

若要使用SQL Server 2016 或更高版本的组托管服务帐户,操作系统必须是
Windows Server 2012 R2 或更高版本。

装有Windows Server 2012 R2 的服务器需要应用KB 2998082,以便服务可以在密码更改后立即登录而不中断。

有关详细信息,请参阅组托管服务帐户
•虚拟帐户
Windows Server 2008 R2 和Windows 7 中的虚拟帐户是“托管的本地帐户”,此类帐户提供以下功能以简化服务管理。

虚拟帐户是自动管理的,并且虚拟帐户可以访问域环境中的网络。

如果在Windows Server 2008 R2 或Windows 7 上安装SQL Server 时对服务帐户使用默认值,则将使用将实例名称用作服务名称的虚拟帐户,格式为NT SERVICE\<SERVICENAME>。

以虚拟帐户身份运行的服务通过使用计算机帐户的凭据(格式为<domain_name>\<computer_name>$)访问网络资源。

当指定一个虚拟帐户以启动SQL Server 时,应将密码留空。

如果虚拟帐户无法注册服务主体名称(SPN),则手动注册该SPN。

有关手动注册SPN 的详细信息,请参阅手动注册SPN。

下表列出了虚拟帐户名称的示例。

有关托管服务帐户和虚拟帐户的详细信息,请参阅服务帐户分步指南的托管服务和虚拟帐户概念部分以及托管服务帐户常见问题解答(FAQ)。

安全说明始终用尽可能低的用户权限运行SQL Server 服务。

就会使用MSA或virtual account。

当无法使用MSA 和虚拟帐户时,将使用特定的低特权用户帐户或域帐户,而不将共享帐户用于SQL Server 服务。

对不同的SQL Server 服务使用单独的帐户。

不要向SQL Server 服务帐户或服务组授予其他权限。

在支持服务SID 的情况下,将通过组成员身份或直接将权限授予服务SID。

自动启动
除了具有用户帐户外,每项服务还有用户可控制的三种可能的启动状态:
•已禁用服务已安装但当前未运行。

•手动服务已安装,但仅当另一个服务或应用程序需要该服务的功能时才启动。

•自动服务由操作系统自动启动。

在安装过程中,启动状态处于选中状态。

当安装命名实例时,SQL Server Browser 服务应设置为自动启动。

在无人参与的安装过程中配置服务
下表显示了可以在安装过程中配置的SQL Server 服务。

对于无人参与的安装,可以在配置文件中或在命令提示符下使用开关。

*有关无人参与安装的详细信息和示例语法,请参阅从命令提示符安装SQL Server 2016。

**SQL Server 代理服务在SQL Server Express 实例和具有高级服务的SQL Server Express 实例上处于禁用状态。

防火墙端口
在大多数情况下,首次安装时,可以通过与数据库引擎安装在相同计算机上的SQL Server Management Studio 等此类工具连接SQL Server。

SQL Server 安装程序不会在Windows 防火墙中打开端口。

在将数据库引擎配置为侦听TCP 端口,并且在Windows 防火墙中打开适当的端口进行连接之前,将无法从其他计算机建立连接。

有关详细信息,请参阅配置Windows 防火墙以允许SQL Server 访问。

服务权限
服务配置和访问控制
SQL Server 2016 会为它的每项服务启用Per-service SID,以提供深层服务隔离与防御。

Per-service SID 从服务名称派生得到,对该服务是唯一的。

例如,数据库引擎服务的服务SID 名称可能是NT Service\MSSQL$<InstanceName>。

通过服务隔离,可直接访问特定的对
象,而无需运行高特权帐户,也不会削弱为对象提供的安全保护水平。

通过使用包含服务SID 的访问控制项,SQL Server 服务可限制对其资源的访问。

说明:在Windows 7 和Windows Server 2008(可能为英文页面)R2 上,Per-service SID 可以是服务使用的虚拟帐户。

Windows 特权和权限
为启动服务分配的帐户需要对于服务的启动、停止和暂停权限。

SQL Server 安装程序将自动分配此权限。

首先,安装远程服务器管理工具(RSAT)
下表说明SQL Server 安装程序为SQL Server 组件使用的Per-service SID 或本地Windows 组请求的权限。

*SQL Server 代理服务在SQL Server Express 的实例上处于禁用状态。

授予SQL Server Per-service SID 或本地Windows 组的文件系统权限
SQL Server 服务帐户必须具有对资源的访问权限。

为Per-service SID 或本地Windows 组设置了访问控制列表。

下表显示了SQL Server 安装程序设置的ACL:
SQL Server 代理服务在SQL Server Express 实例和具有高级服务的SQL Server Express 实例上处于禁用状态。

当数据库文件存储在用户定义的位置时,您必须授予每个服务SID 访问该位置的权限。

导航到该文件夹位置,然后给相应的账户相应的权限.
授予其他Windows 用户帐户或组的文件系统权限
可能还必须向内置帐户或其他SQL Server 服务帐户授予某些访问控制权限。

下表列出了SQL Server 安装程序设置的其他ACL。

与非寻常磁盘位置相关的文件系统权限
当安装tempdb 或用户数据库时,默认的安装位置驱动器为systemdrive,通常是驱动器C。

非默认的驱动器
当安装到不是默认驱动器的本地驱动器时,Per-service SID 必须对文件位置具有访问权限。

SQL Server 安装程序将设置所需的访问权限。

网络共享
当数据库安装到网络共享时,服务帐户必须对用户数据库和tempdb 数据库的文件位置具有访问权限。

SQL Server 安装程序无法设置对于网络共享的访问权限。

用户必须为服务帐户设置对tempdb 位置的访问权限,然后才能运行安装程序。

用户必须设置对用户数据库位置的访问权限,然后才能创建数据库。

设置
此部分介绍如何在各种SQL Server 组件内设置帐户
•数据库引擎设置
o Windows 主体
o sa 帐户
o SQL Server Per-service SID 登录名和特权
o SQL Server 代理程序登录名和特权
o HADRON 和SQL 故障转移群集实例和特权
o SQL 编写器和特权
o SQL WMI 和特权
•SSAS 设置
•SSRS 设置
数据库引擎设置
以下帐户将作为登录名添加到SQL Server 数据库引擎中。

Windows 主体
在安装过程中,SQL Server 安装程序要求至少将一个用户帐户命名为sysadmin固定服务器角色的成员。

sa 帐户
sa帐户始终作为数据库引擎登录名存在,它是sysadmin固定服务器角色的成员。

当仅使用Windows 身份验证安装数据库引擎时(也即,当未启用SQL Server 身份验证时),sa登录名仍然存在,但处于禁用状态
数据库引擎设置
以下帐户将作为登录名添加到SQL Server 数据库引擎中。

Windows 主体
在安装过程中,SQL Server 安装程序要求至少将一个用户帐户命名为sysadmin固定服务器角色的成员。

sa 帐户
sa帐户始终作为数据库引擎登录名存在,它是sysadmin固定服务器角色的成员。

当仅使用Windows 身份验证安装数据库引擎时(也即,当未启用SQL Server 身份验证时),sa登录名仍然存在,但处于禁用状态。

有关启用sa帐户的信息,请参阅更改服务器身份验证模式。

SQL Server Per-service SID 登录名和特权
SQL Server 服务的Per-service SID 设置为一个数据库引擎登录名。

Per-service SID 登录名是sysadmin固定服务器角色的成员。

SQL Server 代理程序登录名和特权
SQL Server 代理服务的Per-service SID 设置为一个数据库引擎登录名。

Per-service SID 登录名是sysadmin固定服务器角色的成员。

Always On 可用性组和SQL 故障转移群集实例和特权
当将数据库引擎安装为Always On 可用性组或SQL 故障转移群集实例(SQL FCI) 时,将在数据库引擎中设置LOCAL SYSTEM。

LOCAL SYSTEM登录名被授予ALTER ANY AVAILABILITY GROUP权限(对于Always On 可用性组)以及VIEW SERVER STATE权限(对于SQL FCI)。

相关文档
最新文档