SQL Server 2012
根據您決定安裝的組件,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 |
---|---|---|
數據庫引擎 |
虛擬帳戶 * |
|
SQL Server 代理 |
虛擬帳戶 * |
|
SSAS |
虛擬帳戶 * |
|
SSIS |
虛擬帳戶 * |
|
SSRS |
虛擬帳戶 * |
|
SQL Server 分布式重播控制器 |
虛擬帳戶 * |
|
SQL Server 分布式重播客戶端 |
虛擬帳戶 * |
|
FD 啟動器(全文搜索) |
||
SQL Server Browser |
||
SQL Server VSS 編寫器 |
* 當需要 SQL Server 計算機外部的資源時,Microsoft 建議使用配置了必需的最小特權的托管服務帳戶 (MSA)。
SQL Server 故障轉移群集實例
組件 |
Windows Server 2008 |
Windows Server 2008 R2 |
---|---|---|
數據庫引擎 |
無。 提供域用戶帳戶。 |
提供域用戶帳戶。 |
SQL Server Agent |
無。 提供域用戶帳戶。 |
提供域用戶帳戶。 |
SSAS |
無。 提供域用戶帳戶。 |
提供域用戶帳戶。 |
SSIS |
||
SSRS |
||
FD 啟動器(全文搜索) |
||
SQL Server Browser |
||
SQL Server VSS 編寫器 |
更改帳戶屬性
![]() |
---|
|
可用於 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 時,應將密碼留空。
注意
虛擬帳戶不能用於 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
有關托管服務帳戶和虛擬帳戶的詳細信息,請參閱 Service Accounts Step-by-Step Guide(服務帳戶分步指南)的 Managed service account and virtual account concepts(托管服務和虛擬帳戶概念)部分以及Managed Service Accounts Frequently Asked Questions (FAQ)(托管服務帳戶常見問題解答 (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 配置的權限。
服務配置和訪問控制
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) |
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 |
列出文件夾內容 |
|
性能監視器用戶 |
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 Agent (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_ddladmin 或 db_owner 固定服務器角色中的成員資格。
-
服務器中的 CREATE DDL EVENT NOTIFICATION 權限。
-
數據庫引擎中的 CREATE TRACE EVENT NOTIFICATION 權限。
-
VIEW ANY DATABASE 服務器級別權限。
SQL Server 安裝程序創建一個 SQL WMI 命名空間,並向 SQL Server 代理服務 SID 授予讀取權限。
命名管道
在所有安裝中,SQL Server 安裝程序都通過共享內存協議(這是一種本地命名管道)提供針對 SQL Server 數據庫引擎的訪問權限。
此部分介紹如何在各種 SQL Server 組件內設置帳戶。
數據庫引擎設置
以下帳戶將作為登錄名添加到 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 SYSTEM。 LOCAL 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 Agent 服務已禁用。
-
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ÉSEAU |
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\Администраторы |