配置 Windows 服务帐户和权限

SQL Server 中的每个服务表示一个进程或一组进程,用于通过 Windows 管理 SQL Server 操作的身份验证。 本主题介绍此 SQL Server 版本中服务的默认配置,以及可以在 SQL Server 安装过程中以及安装之后设置的 SQL Server 服务的配置选项。

内容

本主题分为以下几个部分:

  • SQL Server 安装的服务

  • 服务属性和配置

    • 默认服务帐户

      • 更改帐户属性
    • 可用于 Windows 7 和 Windows Server 2008 R2 的新帐户类型

    • 自动启动

    • 在无人参与的安装过程中配置服务

    • 防火墙端口

  • 服务权限

    • 服务配置和访问控制

    • Windows 特权和权限

    • 授予 SQL Server Per-service SID 或本地 Windows 组的文件系统权限

    • 授予其他 Windows 用户帐户或组的文件系统权限

    • 与非寻常磁盘位置相关的文件系统权限

    • 查看其他注意事项

    • 注册表权限

    • WMI

    • Named Pipes

  • 设置

    • 数据库引擎设置

      • Windows 主体

      • sa 帐户

      • SQL Server Per-service SID 登录名和特权

      • SQL Server 代理程序登录名和特权

      • HADRON 和 SQL 故障转移群集实例和特权

      • SQL 编写器和特权

      • SQL WMI 和特权

    • SSAS 设置

    • SSRS 设置

  • 从早期版本升级

  • 附录

    • 服务帐户的描述

    • 辨别识别实例的服务和不识别实例的服务

    • 本地化的服务名称

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>\110\DTS\Binn\MsDtsSrvr.exe

  • SQL Server Browser - 向客户端计算机提供 SQL Server 连接信息的名称解析服务。 可执行文件的路径为 c:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe

  • 全文搜索 - 对结构化和半结构化数据的内容和属性快速创建全文索引,从而为 SQL Server 提供文档筛选和断字功能。

  • SQL 编写器 - 允许备份和还原应用程序在 Volume Shadow Copy Service (VSS) 框架中运行。

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

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

返回页首

服务属性和配置

用于启动和运行 SQL Server 的启动帐户可以是域用户帐户、本地用户帐户、托管服务帐户、虚拟帐户或内置系统帐户。 若要启动和运行 SQL Server 中的每项服务,这些服务都必须有一个在安装过程中配置的启动帐户。

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

  • 默认服务帐户

  • 自动启动

  • 配置服务启动类型

  • 防火墙端口

默认服务帐户

下表列出了安装程序在安装所有组件时使用的默认服务帐户。 列出的默认帐户是建议使用的帐户,但特殊注明的除外。

独立服务器或域控制器

组件

Windows Vista 和Windows Server 2008

Windows 7 和 Windows Server 2008 R2

数据库引擎

NETWORK SERVICE

虚拟帐户*

SQL Server Agent

NETWORK SERVICE

虚拟帐户*

SSAS

NETWORK SERVICE

虚拟帐户*

SSIS

NETWORK SERVICE

虚拟帐户*

SSRS

NETWORK SERVICE

虚拟帐户*

SQL Server 分布式重播控制器

NETWORK SERVICE

虚拟帐户*

SQL Server 分布式重播客户端

NETWORK SERVICE

虚拟帐户*

FD 启动器(全文搜索)

LOCAL SERVICE

虚拟帐户

SQL Server Browser

LOCAL SERVICE

LOCAL SERVICE

SQL Server VSS 编写器

LOCAL SYSTEM

LOCAL SYSTEM

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

SQL Server 故障转移群集实例

组件

Windows Server 2008

Windows Server 2008 R2

数据库引擎

无。 提供域用户帐户。

提供域用户帐户。

SQL Server Agent

无。 提供域用户帐户。

提供域用户帐户。

SSAS

无。 提供域用户帐户。

提供域用户帐户。

SSIS

NETWORK SERVICE

虚拟帐户

SSRS

NETWORK SERVICE

虚拟帐户

FD 启动器(全文搜索)

LOCAL SERVICE

虚拟帐户

SQL Server Browser

LOCAL SERVICE

LOCAL SERVICE

SQL Server VSS 编写器

LOCAL SYSTEM

LOCAL SYSTEM

返回页首

更改帐户属性

重要说明重要提示
  • 始终使用 SQL Server 工具(例如 SQL Server 配置管理器)来更改 SQL Server 数据库引擎 或 SQL Server 数据库引擎 代理服务使用的帐户,或更改帐户的密码。 除了更改帐户名称以外,SQL Server 配置管理器还可以执行其他配置,例如,更新保护数据库引擎的服务主密钥的 Windows 本地安全存储区。 其他工具(例如 Windows 服务控制管理器)可以更改帐户名称,但不更改所有必需的设置。

  • 对于您在 SharePoint 场中部署的 Analysis Services 实例,始终使用 SharePoint 管理中心为 PowerPivot 服务应用程序和 Analysis Services 服务更改服务器帐户。 使用管理中心时,关联的设置和权限将更新为使用新的帐户信息。

  • 若要更改 Reporting Services 选项,请使用 Reporting Services 配置工具。

返回页首

可用于 Windows 7 和 Windows Server 2008 R2 的新帐户类型

Windows 7 和 Windows Server 2008 R2 有两种新类型的服务帐户:托管服务帐户 (MSA) 和虚拟帐户。托管服务帐户和虚拟帐户旨在向至关重要的应用程序(如 SQL Server)提供对其自己帐户的隔离,同时不再需要管理员手动管理这些帐户的服务主体名称 (SPN) 和凭据。 这就使得管理服务帐户用户、密码和 SPN 的过程变得简单得多。

  • 托管服务帐户

    托管服务帐户 (MSA) 是一种由域控制器创建和管理的域帐户。 它分配给单个成员计算机以用于运行服务。 域控制器将自动管理密码。 您不能使用 MSA 登录到计算机,但计算机可以使用 MSA 来启动 Windows 服务。 MSA 可以向 Active Directory 注册服务主体名称 (SPN)。 MSA 的名称中有一个 $ 后缀,例如 DOMAIN\ACCOUNTNAME$。 在指定 MSA 时,请将密码留空。 因为将 MSA 分配给单个计算机,它不能用于 Windows 群集的不同节点。

    注意注意

    域管理员必须先在 Active Directory 中创建 MSA,然后 SQL Server 安装程序才能将其用于 SQL Server 服务。

    注意注意

    当前不支持组托管服务帐户。

  • 虚拟帐户

    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 的详细信息,请参阅为 Kerberos 连接注册服务主体名称

    注意注意

    虚拟帐户不能用于 SQL Server 故障转移群集实例,因为虚拟帐户在群集的每个节点上的 SID 不同。

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

    服务

    虚拟帐户名称

    数据库引擎服务的默认实例

    NT SERVICE\MSSQLSERVER

    名为 PAYROLL 的数据库引擎服务的命名实例

    NT SERVICE\MSSQL$PAYROLL

    SQL Server 代理服务,位于以下默认实例上:SQL Server

    NT SERVICE\SQLSERVERAGENT

    名为 PAYROLL 的 SQL Server 实例上的SQL Server 代理服务

    NT SERVICE\SQLAGENT$PAYROLL

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

安全说明:  始终用尽可能低的用户权限运行 SQL Server 服务。只要可能,就会使用 MSA 或虚拟帐户。 当无法使用 MSA 和虚拟帐户时,将使用特定的低特权用户帐户或域帐户,而不将共享帐户用于 SQL Server 服务。 对不同的 SQL Server 服务使用单独的帐户。 不要向 SQL Server 服务帐户或服务组授予其他权限。 在支持服务 SID 的情况下,将通过组成员身份或直接将权限授予服务 SID。

自动启动

除了具有用户帐户外,每项服务还有用户可控制的三种可能的启动状态:

  • 已禁用 服务已安装但当前未运行。

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

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

在安装过程中,启动状态处于选中状态。 当安装命名实例时,SQL Server Browser 服务应设置为自动启动。

在无人参与的安装过程中配置服务

下表显示了可以在安装过程中配置的 SQL Server 服务。 对于无人参与的安装,可以在配置文件中或在命令提示符下使用开关。

SQL Server 服务名称

无人参与安装的开关1

MSSQLSERVER

SQLSVCACCOUNT、SQLSVCPASSWORD、SQLSVCSTARTUPTYPE

SQLServerAgent2

AGTSVCACCOUNT、AGTSVCPASSWORD、AGTSVCSTARTUPTYPE

MSSQLServerOLAPService

ASSVCACCOUNT、ASSVCPASSWORD、ASSVCSTARTUPTYPE

ReportServer

RSSVCACCOUNT、RSSVCPASSWORD、RSSVCSTARTUPTYPE

Integration Services

ISSVCACCOUNT、ISSVCPASSWORD、ISSVCSTARTUPTYPE

SQL Server 分布式重播控制器

DRU_CTLR、CTLRSVCACCOUNT、CTLRSVCPASSWORD、CTLRSTARTUPTYPE、CTLRUSERS

SQL Server 分布式重播客户端

DRU_CLT、CLTSVCACCOUNT、CLTSVCPASSWORD、CLTSTARTUPTYPE、CLTCTLRNAME、CLTWORKINGDIR、CLTRESULTDIR

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

2在 SQL Server Express 实例和 SQL Server Express with Advanced Services 实例上,SQL Server 代理服务已禁用。

防火墙端口

在大多数情况下,首次安装时,可以通过与 SQL Server 安装在相同计算机上的 SQL Server Management Studio 等此类工具连接数据库引擎。 SQL Server 安装程序不会在 Windows 防火墙中打开端口。 在将数据库引擎配置为侦听 TCP 端口,并且在 Windows 防火墙中打开适当的端口进行连接之前,将无法从其他计算机建立连接。 有关详细信息,请参阅配置 Windows 防火墙以允许 SQL Server 访问

返回页首

服务权限

此部分介绍 SQL Server 安装程序为 SQL Server 服务的 Per-service SID 配置的权限。

  • 服务配置和访问控制

  • Windows 特权和权限

  • 授予 SQL Server Per-service SID 或 SQL Server 本地 Windows 组的文件系统权限

  • 授予其他 Windows 用户帐户或组的文件系统权限

  • 与非寻常磁盘位置相关的文件系统权限

  • 查看其他注意事项

  • 注册表权限

  • WMI

  • Named Pipes

服务配置和访问控制

SQL Server 2012 会为它的每项服务启用 Per-service SID,以提供深层服务隔离与防御。 Per-service SID 从服务名称派生得到,对该服务是唯一的。 例如,数据库引擎服务的服务 SID 名称可能是 NT Service\MSSQL$<InstanceName>。 通过服务隔离,可直接访问特定的对象,而无需运行高特权帐户,也不会削弱为对象提供的安全保护水平。 通过使用包含服务 SID 的访问控制项,SQL Server 服务可限制对其资源的访问。

注意注意

在 Windows 7 和 Windows Server 2008R2 上,Per-service SID 可以是服务使用的虚拟帐户。

对于大多数组件,SQL Server 直接为 Per-service 帐户配置 ACL,因此,无需重复资源 ACL 过程即可更改此服务帐户。

当安装 SSAS 时,将创建 Analysis Services 服务的 Per-service SID。 将创建一个本地 Windows 组,其名称格式为 **SQLServerMSASUser$computer_name$**instance_name。 Per-service SID NT SERVICE\MSSQLServerOLAPService 已被授予本地 Windows 组中的成员资格,而本地 Windows 组在 ACL 中被授予了适当的权限。 如果更改了用来启动 Analysis Services 服务的帐户,SQL Server 配置管理器必须更改某些 Windows 权限(如作为服务登录的权限),但分配给本地 Windows 组的权限将仍可用且没有任何更新,因为 Per-service SID 没发生变化。 此方法允许在升级过程中重命名 Analysis Services 服务。

在 SQL Server 安装过程中,SQL Server 安装程序为 SSAS 和 SQL Server Browser 服务创建一个本地 Windows 组。 对于这些服务,SQL Server 将为此本地 Windows 组配置 ACL。

在安装或升级期间,系统可能会将服务或服务 SID 的服务帐户添加为服务组的成员,具体取决于服务配置。

Windows 特权和权限

为启动服务分配的帐户需要对于服务的启动、停止和暂停权限。 SQL Server 安装程序将自动分配此权限。 首先,安装远程服务器管理工具 (RSAT)。 请参阅 Remote Server Administration Tools for Windows 7(Windows 7 的远程服务器管理工具)。

下表说明 SQL Server 安装程序为 SQL Server 组件使用的 Per-service SID 或本地 Windows 组请求的权限。

SQL Server 服务

SQL Server 安装程序授予的权限

SQL Server 数据库引擎:

(所有权限都将授予 Per-service SID。 默认实例:NT SERVICE\MSSQLSERVER。 命名实例:NT SERVICE\MSSQL$InstanceName。)

以服务身份登录 (SeServiceLogonRight)

替换进程级别标记 (SeAssignPrimaryTokenPrivilege)

跳过遍历检查 (SeChangeNotifyPrivilege)

调整进程的内存配额 (SeIncreaseQuotaPrivilege)

启动 SQL 编写器的权限

读取事件日志服务的权限

读取远程过程调用服务的权限

SQL Server 代理:1

(所有权限都将授予 Per-service SID。 默认实例:NT Service\SQLSERVERAGENT。 命名实例:NT Service\SQLAGENT$InstanceName。)

以服务身份登录 (SeServiceLogonRight)

替换进程级别标记 (SeAssignPrimaryTokenPrivilege)

跳过遍历检查 (SeChangeNotifyPrivilege)

调整进程的内存配额 (SeIncreaseQuotaPrivilege)

SSAS:

(所有权限都授予本地 Windows 组。 默认实例:SQLServerMSASUser$ComputerName$MSSQLSERVER。 命名实例:SQLServerMSASUser$ComputerName$InstanceName。 PowerPivot for SharePoint 实例:SQLServerMSASUser$ComputerName$PowerPivot。)

以服务身份登录 (SeServiceLogonRight)

仅适用于表格:

“增加进程工作集”(SeIncreaseWorkingSetPrivilege)

“调整进程的内存配额”(SeIncreaseQuotaSizePrivilege)

锁定内存页 (SeLockMemoryPrivilege) – 仅当完全关闭分页时才需要。

仅适用于故障转移群集安装:

提高计划优先级 (SeIncreaseBasePriorityPrivilege)

SSRS:

(所有权限都将授予 Per-service SID。 默认实例:NT SERVICE\ReportServer。 命名实例:NT SERVICE\$InstanceName。)

以服务身份登录 (SeServiceLogonRight)

SSIS:

(所有权限都将授予 Per-service SID。 默认实例和命名实例:NT SERVICE\MsDtsServer110。 Integration Services 没有针对命名实例的单独进程。)

以服务身份登录 (SeServiceLogonRight)

应用程序事件日志的写入权限。

跳过遍历检查 (SeChangeNotifyPrivilege)

身份验证后模拟客户端 (SeImpersonatePrivilege)

全文搜索:

(所有权限都将授予 Per-service SID。 默认实例:NT Service\MSSQLFDLauncher。 命名实例:NT Service\MSSQLFDLauncher$InstanceName。)

以服务身份登录 (SeServiceLogonRight)

调整进程的内存配额 (SeIncreaseQuotaPrivilege)

跳过遍历检查 (SeChangeNotifyPrivilege)

SQL Server Browser:

(所有权限都授予本地 Windows 组。 默认实例或命名实例:SQLServer2005SQLBrowserUser$ComputerName。 SQL Server Browser 没有针对命名实例的单独进程。)

以服务身份登录 (SeServiceLogonRight)

SQL Server VSS 编写器:

(所有权限都将授予 Per-service SID。 默认实例或命名实例:NT Service\SQLWriter。 SQL Server VSS 编写器没有针对命名实例的单独进程。)

SQLWriter 服务在具有所需的所有权限的 LOCAL SYSTEM 帐户下运行。 SQL Server 安装程序不检查此服务或为其授予权限。

SQL Server 分布式重播控制器:

以服务身份登录 (SeServiceLogonRight)

SQL Server 分布式重播客户端:

以服务身份登录 (SeServiceLogonRight)

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

返回页首

授予 SQL Server Per-service SID 或本地 Windows 组的文件系统权限

SQL Server 服务帐户必须具有对资源的访问权限。 为 Per-service SID 或本地 Windows 组设置了访问控制列表。

重要说明重要提示

对于故障转移群集安装,必须为本地帐户的 ACL 设置共享磁盘上的资源。

下表显示了 SQL Server 安装程序设置的 ACL:

服务帐户针对

文件和文件夹

访问权限

MSSQLServer

Instid\MSSQL\backup

完全控制

 

Instid\MSSQL\binn

读取和执行

 

Instid\MSSQL\data

完全控制

 

Instid\MSSQL\FTData

完全控制

 

Instid\MSSQL\Install

读取和执行

 

Instid\MSSQL\Log

完全控制

 

Instid\MSSQL\Repldata

完全控制

 

110\shared

读取和执行

 

Instid\MSSQL\Template Data(仅限 SQL Server Express)

SQLServerAgent1

Instid\MSSQL\binn

完全控制

 

Instid\MSSQL\binn

完全控制

 

Instid\MSSQL\Log

读取、写入、删除和执行

 

110\com

读取和执行

 

110\shared

读取和执行

 

110\shared\Errordumps

读取和写入

ServerName\EventLog

完全控制

FTS

Instid\MSSQL\FTData

完全控制

 

Instid\MSSQL\FTRef

读取和执行

 

110\shared

读取和执行

 

110\shared\Errordumps

读取和写入

 

Instid\MSSQL\Install

读取和执行

Instid\MSSQL\jobs

读取和写入

MSSQLServerOLAPservice

110\shared\ASConfig

完全控制

 

Instid\OLAP

读取和执行

 

Instid\Olap\Data

完全控制

 

Instid\Olap\Log

读取和写入

 

Instid\OLAP\Backup

读取和写入

 

Instid\OLAP\Temp

读取和写入

 

110\shared\Errordumps

读取和写入

SQLServerReportServerUser

Instid\Reporting Services\Log Files

读取、写入、删除

 

Instid\Reporting Services\ReportServer

读取和执行

 

Instid\Reportingservices\Reportserver\global.asax

完全控制

 

Instid\Reportingservices\Reportserver\Reportserver.config

 

Instid\Reporting Services\reportManager

读取和执行

 

Instid\Reporting Services\RSTempfiles

读取、写入、执行、删除

 

110\shared

读取和执行

 

110\shared\Errordumps

读取和写入

MSDTSServer100

110\dts\binn\MsDtsSrvr.ini.xml

 

110\dts\binn

读取和执行

 

110\shared

读取和执行

 

110\shared\Errordumps

读取和写入

SQL Server Browser

110\shared\ASConfig

 

110\shared

读取和执行

 

110\shared\Errordumps

读取和写入

SQLWriter

不适用(以 Local System 身份运行)

 

用户

Instid\MSSQL\binn

读取和执行

 

Instid\Reporting Services\ReportServer

读取、执行和列出文件夹内容

 

Instid\Reportingservices\Reportserver\global.asax

 

Instid\Reporting Services\ReportManager

读取和执行

 

Instid\Reporting Services\ReportManager\pages

 

Instid\Reporting Services\ReportManager\Styles

 

110\dts

读取和执行

 

110\tools

读取和执行

100\tools

读取和执行

 

90\tools

读取和执行

 

80\tools

读取和执行

 

110\sdk

 

Microsoft SQL Server\110\Setup Bootstrap

读取和执行

SQL Server 分布式重播控制器

<ToolsDir>\DReplayController\Log\(空目录)

读取、执行和列出文件夹内容

<ToolsDir>\DReplayController\DReplayController.exe

读取、执行和列出文件夹内容

<ToolsDir>\DReplayController\resources\

读取、执行和列出文件夹内容

<ToolsDir>\DReplayController\{all dlls}

读取、执行和列出文件夹内容

<ToolsDir>\DReplayController\DReplayController.config

读取、执行和列出文件夹内容

<ToolsDir>\DReplayController\IRTemplate.tdf

读取、执行和列出文件夹内容

<ToolsDir>\DReplayController\IRDefinition.xml

读取、执行和列出文件夹内容

SQL Server 分布式重播客户端

<ToolsDir>\DReplayClient\Log\

读取、执行和列出文件夹内容

<ToolsDir>\DReplayClient\DReplayClient.exe

读取、执行和列出文件夹内容

<ToolsDir>\DReplayClient\resources\

读取、执行和列出文件夹内容

<ToolsDir>\DReplayClient\(所有 dll)

读取、执行和列出文件夹内容

<ToolsDir>\DReplayClient\DReplayClient.config

读取、执行和列出文件夹内容

<ToolsDir>\DReplayClient\IRTemplate.tdf

读取、执行和列出文件夹内容

<ToolsDir>\DReplayClient\IRDefinition.xml

读取、执行和列出文件夹内容

1在 SQL Server Express 实例和 SQL Server Express with Advanced Services 实例上,SQL Server 代理服务已禁用。

当数据库文件存储在用户定义的位置时,您必须授予每个服务 SID 访问该位置的权限。 有关将文件系统权限授予每个服务 SID 的详细信息,请参阅配置数据库引擎访问的文件系统权限

返回页首

授予其他 Windows 用户帐户或组的文件系统权限

可能还必须向内置帐户或其他 SQL Server 服务帐户授予某些访问控制权限。 下表列出了 SQL Server 安装程序设置的其他 ACL。

请求组件

帐户

资源

权限

MSSQLServer

性能日志用户

Instid\MSSQL\binn

列出文件夹内容

 

Performance Monitor Users

Instid\MSSQL\binn

列出文件夹内容

 

性能日志用户、性能监视器用户

\WINNT\system32\sqlctr110.dll

读取和执行

 

仅限于管理员

\\. \root\Microsoft\SqlServer\ServerEvents\<sql_instance_name>1

完全控制

 

管理员和系统

\tools\binn\schemas\sqlserver\2004\07\showplan

完全控制

 

用户

\tools\binn\schemas\sqlserver\2004\07\showplan

读取和执行

Reporting Services

<报表服务器 Web 服务帐户>

<install>\Reporting Services\LogFiles

DELETE

READ_CONTROL

SYNCHRONIZE

FILE_GENERIC_READ

FILE_GENERIC_WRITE

FILE_READ_DATA

FILE_WRITE_DATA

FILE_APPEND_DATA

FILE_READ_EA

FILE_WRITE_EA

FILE_READ_ATTRIBUTES

FILE_WRITE_ATTRIBUTES

 

报表管理器应用程序池标识、ASP.NET 帐户、Everyone

<install>\Reporting Services\ReportManager、<install>\Reporting Services\ReportManager\Pages\*.*、<install>\Reporting Services\ReportManager\Styles\*.*、<install>\Reporting Services\ReportManager\webctrl_client\1_0\*.*

 

报表管理器应用程序池标识

<install>\Reporting Services\ReportManager\Pages\*.*

 

<报表服务器 Web 服务帐户>

<install>\Reporting Services\ReportServer

 

<报表服务器 Web 服务帐户>

<install>\Reporting Services\ReportServer\global.asax

完全

 

Everyone

<install>\Reporting Services\ReportServer\global.asax

READ_CONTROL

FILE_READ_DATA

FILE_READ_EA

FILE_READ_ATTRIBUTES

 

Network Service

<install>\Reporting Services\ReportServer\ReportService.asmx

完全

 

Everyone

<install>\Reporting Services\ReportServer\ReportService.asmx

READ_CONTROL

SYNCHRONIZE FILE_GENERIC_READ

FILE_GENERIC_EXECUTE

FILE_READ_DATA

FILE_READ_EA

FILE_EXECUTE

FILE_READ_ATTRIBUTES

 

ReportServer Windows 服务帐户

<install>\Reporting Services\ReportServer\RSReportServer.config

DELETE

READ_CONTROL

SYNCHRONIZE

FILE_GENERIC_READ

FILE_GENERIC_WRITE

FILE_READ_DATA

FILE_WRITE_DATA

FILE_APPEND_DATA

FILE_READ_EA

FILE_WRITE_EA

FILE_READ_ATTRIBUTES

FILE_WRITE_ATTRIBUTES

 

Everyone

报表服务器密钥(Instid 配置单元)

查询值

枚举子项

通知

读取控制

 

终端服务用户

报表服务器密钥(Instid 配置单元)

查询值

设置值

创建子项

枚举子项

通知

删除

读取控制

 

超级用户

报表服务器密钥(Instid 配置单元)

查询值

设置值

创建子项

枚举子项

通知

删除

读取控制

1这是 WMI 提供程序命名空间。

返回页首

与非寻常磁盘位置相关的文件系统权限

安装的默认驱动器为 systemdrive,通常为驱动器 C。 当安装 tempdb 或用户数据库时

非默认的驱动器

当安装到不是默认驱动器的本地驱动器时,Per-service SID 必须对文件位置具有访问权限。 SQL Server 安装程序将设置所需的访问权限。

网络共享

当数据库安装到网络共享时,服务帐户必须对用户数据库和 tempdb 数据库的文件位置具有访问权限。 SQL Server 安装程序无法设置对于网络共享的访问权限。 用户必须为服务帐户设置对 tempdb 位置的访问权限,然后才能运行安装程序。 用户必须设置对用户数据库位置的访问权限,然后才能创建数据库。

注意注意

虚拟帐户无法通过身份验证,因而无法访问远程位置。 所有虚拟帐户均使用计算机帐户的权限。 以 <domain_name>\<computer_name>$ 格式设置计算机帐户。

查看其他注意事项

下表显示了 SQL Server 服务提供其他功能时所需的权限:

服务/应用程序

功能

必需的权限

SQL Server (MSSQLSERVER)

使用 xp_sendmail 写入邮件槽。

网络写入权限。

SQL Server (MSSQLSERVER)

运行用户而不是 SQL Server 管理员的 xp_cmdshell。

充当操作系统的一部分以及替换进程级别标记。

SQL Server 代理 (MSSQLSERVER)

使用自动重新启动功能。

必须是本地 Administrators 组的成员。

数据库引擎优化顾问

优化数据库以获得最佳查询性能。

第一次使用时,拥有系统管理员权限的用户必须初始化该应用程序。 初始化后,dbo 用户可使用数据库引擎优化顾问仅优化他们拥有的那些表。 有关详细信息,请参阅 SQL Server 联机丛书中的“在第一次使用时初始化数据库引擎优化顾问”。

重要说明重要提示

在升级 SQL Server 之前,请先为 SQL Server 代理启用 Windows 身份验证,并验证所需的默认配置:SQL Server 代理服务帐户是否是 SQL Server sysadmin 组的成员。

返回页首

注册表权限

将在 HKLM\Software\Microsoft\Microsoft SQL Server\<Instance_ID> 下为识别实例的组件创建注册表配置单元。 例如:

  • HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL11.MyInstance

  • HKLM\Software\Microsoft\Microsoft SQL Server\MSASSQL11.MyInstance

  • HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.110

注册表还维护实例 ID 到实例名的映射。 实例 ID 到实例名的映射按如下方式维护:

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\SQL] "InstanceName"="MSSQL11"

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\OLAP] "InstanceName"="MSASSQL11"

  • [HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\RS] "InstanceName"="MSRSSQL11"

WMI

Windows Management Instrumentation (WMI) 必须能够连接到数据库引擎。 为了支持这一点,应在数据库引擎中提供 Windows WMI 提供程序 (NT SERVICE\winmgmt) 的 Per-service SID。

SQL WMI 提供程序需要以下权限:

  • msdb 数据库的 db_ddladmindb_owner 固定服务器角色中的成员资格。

  • 服务器中的 CREATE DDL EVENT NOTIFICATION 权限。

  • 数据库引擎中的 CREATE TRACE EVENT NOTIFICATION 权限。

  • VIEW ANY DATABASE 服务器级别权限。

    SQL Server 安装程序创建一个 SQL WMI 命名空间,并向 SQL Server 代理服务 SID 授予读取权限。

返回页首

Named Pipes

在所有安装中,SQL Server 安装程序都通过共享内存协议(这是一种本地命名管道)提供针对 SQL Server 数据库引擎的访问权限。

返回页首

设置

此部分介绍如何在各种 SQL Server 组件内设置帐户。

  • 数据库引擎设置

    • Windows 主体

    • sa 帐户

    • SQL Server Per-service SID 登录名和特权

    • SQL Server 代理程序登录名和特权

    • HADRON 和 SQL 故障转移群集实例和特权

    • SQL 编写器和特权

    • SQL WMI 和特权

  • SSAS 设置

  • SSRS 设置

数据库引擎设置

以下帐户将作为登录名添加到 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 固定服务器角色的成员。

AlwaysOn 可用性组 和 SQL 故障转移群集实例和特权

当将数据库引擎安装为 AlwaysOn 可用性组 或 SQL 故障转移群集实例 (SQL FCI) 时,将在数据库引擎中设置 LOCAL SYSTEMLOCAL SYSTEM 登录名被授予 ALTER ANY AVAILABILITY GROUP 权限(对于 AlwaysOn 可用性组)以及 VIEW SERVER STATE 权限(对于 SQL FCI)。

SQL 编写器和特权

SQL Server VSS 编写器服务的 Per-service SID 设置为一个数据库引擎登录名。 Per-service SID 登录名是 sysadmin 固定服务器角色的成员。

SQL WMI 和特权

SQL Server 安装程序将 NT SERVICE\Winmgmt 帐户设置为数据库引擎登录名,并将其添加到 sysadmin 固定服务器角色中。

SSRS 设置

在安装过程中指定的帐户将设置为 RSExecRole 数据库角色的成员。 有关详细信息,请参阅配置报表服务器服务帐户

返回页首

SSAS 设置

SSAS 服务帐户要求各不相同,具体取决于您如何部署服务器。 如果您正在安装 PowerPivot for SharePoint,SQL Server 安装程序会要求您将 Analysis Services 服务配置在域帐户下运行。 为了支持 SharePoint 中内置的托管帐户功能,需要域帐户。 为此,SQL Server 安装程序没有为 PowerPivot for SharePoint 安装提供默认服务帐户,如虚拟帐户。 有关设置 PowerPivot for SharePoint 的详细信息,请参阅配置 PowerPivot 服务帐户

对于所有其他独立 SSAS 安装,您可以将服务设置为在域帐户、内置系统帐户、托管帐户或虚拟帐户下运行。 有关帐户设置的详细信息,请参阅配置服务帐户 (Analysis Services)

对于群集安装,您必须指定一个域帐户或一个内置系统帐户。 SSAS 故障转移群集既不支持托管帐户,也不支持虚拟帐户。

所有 SSAS 安装均要求您指定 Analysis Services 实例的系统管理员。 管理员特权在 Analysis Services 的**“服务器”**角色中设置。

SSRS 设置

在安装过程中指定的帐户将在数据库引擎中设置为 RSExecRole 数据库角色的成员。 有关详细信息,请参阅配置报表服务器服务帐户

返回页首

从早期版本升级

此部分介绍在从先前版本的 SQL Server 升级的过程中进行的更改。

  • SQL Server 2012 要求 Windows Vista、Windows 7、Windows Server 2008 或 Windows Server 2008 R2。 任何在 Windows XP 或 Windows Server 2003 上运行的 SQL Server 先前版本在升级 SQL Server 之前,都必须升级操作系统。

  • 在将 SQL Server 2005 升级到 SQL Server 2012 的过程中,SQL Server 安装程序将按以下方式配置 SQL Server。

    • 数据库引擎使用 Per-service SID 的安全上下文运行。 将向 Per-service SID 授予针对 SQL Server 实例的文件夹(如 DATA)和 SQL Server 注册表项的访问权限。

    • 数据库引擎的 Per-service SID 在数据库引擎中设置为 sysadmin 固定服务器角色的成员。

    • Per-service SID 将添加到本地 SQL Server Windows 组中,除非 SQL Server 是故障转移群集实例。

    • SQL Server 资源保持设置为本地 SQL Server Windows 组。

    • 服务的本地 Windows 组从 SQLServer2005MSSQLUser$<computer_name>$<instance_name> 重命名为 SQLServerMSSQLUser$<computer_name>$<instance_name>。 已迁移的数据库的文件位置将具有本地 Windows 组的访问控制项 (ACE)。 新数据库的文件位置将具有 Per-service SID 的 ACE。

  • 从 SQL Server 2008 进行升级的过程中,SQL Server 安装程序将保留 SQL Server 2008 Per-service SID 的 ACE。

  • 对于 SQL Server 故障转移群集实例,将保留为服务配置的域帐户的 ACE。

返回页首

附录

本节包含有关 SQL Server 的其他信息。

  • 服务帐户的描述

  • 辨别识别实例的服务和不识别实例的服务

  • 本地化的服务名称

服务帐户的描述

服务帐户是用来启动 Windows 服务的帐户,如 SQL Server 数据库引擎。

可用于任何操作系统的帐户

除了前面介绍的新的 MSA 和虚拟帐户之外,还可以使用以下帐户。

Domain User 帐户

如果服务必须与网络服务进行交互,则访问类似于文件共享的域资源;如果服务使用到运行 SQL Server 的其他计算机的链接服务器连接,则可以使用具有最低特权的域帐户。 许多服务器到服务器的活动只能使用域用户帐户来执行。 此帐户应由域管理员在您的环境内预先创建。

注意注意

如果您将应用程序配置为使用域帐户,则可以隔离应用程序的特权,但必须手动管理密码或创建自定义解决方案以管理这些密码。 许多服务器应用程序使用此策略以增强安全性,但此策略要求额外的管理和复杂性。 在这些部署中,服务管理员将在维护任务方面花费大量时间,如管理服务密码和服务主体名称 (SPN),但这些维护服务是 Kerberos 身份验证所必需的。 此外,这些维护任务可能会中断服务。

Local User 帐户

如果计算机不在域中,则建议您使用不具有 Windows 管理员权限的本地用户帐户。

Local Service 帐户

Local Service 帐户是一个内置帐户,与 Users 组的成员具有相同级别的资源和对象访问权限。 如果有个别服务或进程的安全性受到威胁,则此有限访问权限有助于保护系统的安全性。 以 Local Service 帐户身份运行的服务将以一个没有凭据的 Null 会话形式访问网络资源。 请注意,SQL Server 或 SQL Server 代理服务不支持 Local Service 帐户。 不支持将 Local Service 作为运行这些服务的帐户,因为该服务是一个共享服务,并且任何在 Local Service 下运行的其他服务都对 SQL Server 具有系统管理员访问权限。 该帐户的实际名称为 NT AUTHORITY\LOCAL SERVICE

Network Service 帐户

Network Service 帐户是一个内置帐户,比 Users 组的成员拥有更多的对资源和对象的访问权限。 以 Network Service 帐户运行的服务通过使用计算机帐户的凭据(格式为 <domain_name>\<computer_name>$)访问网络资源。 该帐户的实际名称为 NT AUTHORITY\NETWORK SERVICE

Local System 帐户

Local System 是一个具有高特权的内置帐户。 它对本地系统拥有许多特权并作为网络上的计算机。 该帐户的实际名称为 NT AUTHORITY\SYSTEM

辨别识别实例的服务和不识别实例的服务

识别实例的服务与特定 SQL Server 实例相关联,并具有自己的注册表配置单元。 通过为每个组件或服务运行 SQL Server 安装程序,可以安装识别实例的服务的多个副本。 不识别实例的服务由所有已安装的 SQL Server 实例共享。 它们不与特定实例相关联,仅安装一次且不能并行安装。

SQL Server 中识别实例的服务包括:

  • SQL Server

  • SQL Server Agent

    请注意,在 SQL Server Express 实例和 SQL Server Express with Advanced Services 实例上 SQL Server 代理服务已禁用。

  • Analysis Services 1

  • Reporting Services

  • 全文搜索

SQL Server 中不识别实例的服务包括:

  • Integration Services

  • SQL Server Browser

  • SQL 编写器

1SharePoint 集成模式下的 Analysis Services 以作为单个命名实例的 PowerPivot 运行。 实例名称是固定不变的。 您不能指定其他名称。 您可以在每台物理服务器上安装作为 PowerPivot 运行的一个 Analysis Services 实例。

返回页首

本地化的服务名称

下表列出了 Windows 的本地化版本所显示的服务名称。

语言

Local Service 的名称

Network Service 的名称

Local System 的名称

Admin Group 的名称

英语

简体中文

繁体中文

朝鲜语

日语

NT AUTHORITY\LOCAL SERVICE

NT AUTHORITY\NETWORK SERVICE

NT AUTHORITY\SYSTEM

BUILTIN\Administrators

德国

NT-AUTORITÄT\LOKALER DIENST

NT-AUTORITÄT\NETZWERKDIENST

NT-AUTORITÄT\SYSTEM

VORDEFINIERT\Administratoren

法语

AUTORITE NT\SERVICE LOCAL

AUTORITE NT\SERVICE RÉAU

AUTORITE NT\SYSTEM

BUILTIN\Administrators

意大利

NT AUTHORITY\SERVIZIO LOCALE

NT AUTHORITY\SERVIZIO DI RETE

NT AUTHORITY\SYSTEM

BUILTIN\Administrators

西班牙语

NT AUTHORITY\SERVICIO LOC

NT AUTHORITY\SERVICIO DE RED

NT AUTHORITY\SYSTEM

BUILTIN\Administradores

俄语

NT AUTHORITY\LOCAL SERVICE

NT AUTHORITY\NETWORK SERVICE

NT AUTHORITY\SYSTEM

BUILTIN\Администраторы

返回页首

相关内容

安装 SQL Server 的安全注意事项

SQL Server 的默认实例和命名实例的文件位置

安装 Master Data Services