共用方式為


設定 Windows 服務帳戶與權限

SQL Server 中的每項服務代表一個或一組處理序,用以管理 SQL Server 作業對 Windows 的驗證。 本主題描述此版SQL Server中服務的預設組態,以及您可以在安裝SQL Server期間和之後設定SQL Server服務的組態選項。

目錄

本主題分成以下各節:

SQL Server 安裝的服務

依據您決定安裝的元件而定,SQL Server 安裝程式會安裝下列服務:

  • SQL Server Database Services - SQL Server關係資料庫引擎的服務。 可執行檔是 < MSSQLPATH >\MSSQL\Binn\sqlservr.exe。

  • SQL Server Agent - 執行作業、監視SQL Server、引發警示,以及啟用某些系統管理工作的自動化。 SQL Server Agent 服務存在,但在 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 >\120\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 Distributed Replay 控制器- 提供跨多部Distributed Replay用戶端電腦的追蹤重新執行協調流程。

  • SQL Server Distributed Replay 用戶端- 一或多部與Distributed Replay控制器一起運作的一或多部Distributed Replay用戶端電腦,針對 SQL Server Database Engine 的實例模擬並行工作負載。

服務屬性和組態

用來啟動並執行 SQL Server 的啟動帳戶可以是網域使用者帳戶本機使用者帳戶受管理的服務帳戶虛擬帳戶內建的系統帳戶。 若要啟動並執行,SQL Server 中的每個服務都必須在安裝期間設定啟動帳戶。

本節說明可設定為啟動SQL Server服務的帳戶、SQL Server安裝程式所使用的預設值、個別服務 SID 的概念、啟動選項,以及設定防火牆。

預設服務帳戶

下表列出安裝所有元件時,安裝程式所使用的預設服務帳戶。 列出的預設帳戶就是建議的帳戶 (除非另有附註)。

獨立伺服器或網域控制站

元件 Windows Server 2008 Windows 7 和 Windows Server 2008 R2 和更新版本
Database Engine NETWORK SERVICE 虛擬帳戶*
SQL Server Agent NETWORK SERVICE 虛擬帳戶*
SSAS NETWORK SERVICE 虛擬帳戶*
SSIS NETWORK SERVICE 虛擬帳戶*
SSRS NETWORK SERVICE 虛擬帳戶*
SQL Server Distributed Replay Controller NETWORK SERVICE 虛擬帳戶*
SQL Server Distributed Replay Client NETWORK SERVICE 虛擬帳戶*
FD 啟動器 (全文檢索搜尋) LOCAL SERVICE 虛擬帳戶
SQL Server Browser LOCAL SERVICE LOCAL SERVICE
SQL Server VSS Writer LOCAL SYSTEM LOCAL SYSTEM

*當需要SQL Server電腦外部的資源時,Microsoft 建議使用受控服務帳戶 (MSA) ,以所需的最低許可權進行設定。

SQL Server 容錯移轉叢集執行個體

元件 Windows Server 2008 Windows Server 2008 R2
Database Engine 無。 提供 網域使用者 帳戶。 提供 網域使用者 帳戶。
SQL Server Agent 無。 提供 網域使用者 帳戶。 提供 網域使用者 帳戶。
SSAS 無。 提供 網域使用者 帳戶。 提供 網域使用者 帳戶。
SSIS NETWORK SERVICE 虛擬帳戶
SSRS NETWORK SERVICE 虛擬帳戶
FD 啟動器 (全文檢索搜尋) LOCAL SERVICE 虛擬帳戶
SQL Server Browser LOCAL SERVICE LOCAL SERVICE
SQL Server VSS Writer LOCAL SYSTEM LOCAL SYSTEM

變更帳戶內容

重要

  • 請一律使用 SQL Server 工具 (如 SQL Server 組態管理員) 來變更 SQL Server 資料庫引擎或 SQL Server Agent 服務所用的帳戶,或是變更帳戶的密碼。 除了變更帳戶名稱之外,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 有兩種新的服務帳戶類型,分別稱為「受管理的服務帳戶」(Managed Service Account,MSA) 和「虛擬帳戶」(Virtual Account)。 受控服務帳戶和虛擬帳戶的設計目的是提供重要的應用程式,例如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 服務。

  • 群組受控服務帳戶

    群組受管理的服務帳戶是適用於多部伺服器的 MSA。 Windows 會為伺服器群組上執行的服務管理服務。 Active Directory 會自動更新群組受管理的服務帳戶密碼,不需要重新啟動服務。 您可以將SQL Server服務設定為使用群組受控服務帳戶主體。從 SQL Server 2014 開始,SQL Server支援獨立實例的群組受控服務帳戶。

    若要針對 SQL Server 2014 或更新版本使用群組受管理的服務帳戶,作業系統必須是 Windows Server 2012 R2 或更新版本。 Windows Server 2012 R2 的伺服器需要套用 KB 2998082 ,以便服務可以在變更密碼之後立即登入,不會中斷。

    如需詳細資訊,請參閱 群組受管理的服務帳戶

    注意

    必須先由網域系統管理員在 Active Directory 中建立群組受控服務帳戶,SQL Server安裝程式才能將它用於SQL Server服務。

  • Virtual Accounts

    虛擬帳戶 (從 Windows Server 2008 R2 和 Windows 7 開始) 為「受管理的本機帳戶」 ,並會提供下列功能來簡化服務管理工作。 虛擬帳戶是自動管理的,而且虛擬帳戶可以在網域環境中存取網路。 如果在SQL Server設定期間,服務帳戶使用預設值,則會使用實例名稱作為服務名稱的虛擬帳戶,格式為NT SERVICE\< SERVICENAME >。 以虛擬帳戶身分執行的服務會使用電腦帳戶的認證,以domain_namecomputer_name <>$\> 格式 <存取網路資源。 指定虛擬帳戶啟動 SQL Server 時,請讓密碼空白。 如果虛擬帳戶無法註冊服務主要名稱 (SPN),請手動註冊 SPN。 如需手動註冊 SPN 的詳細資訊,請參閱 手動 SPN 註冊

    注意

    虛擬帳戶無法用於SQL Server容錯移轉叢集實例,因為虛擬帳戶在叢集的每個節點上沒有相同的 SID。

    下表列出虛擬帳戶名稱的範例。

    服務 虛擬帳戶名稱
    資料庫引擎服務的預設執行個體 NT SERVICE\MSSQLSERVER
    名為PAYROLL的 Database Engine 服務的具名實例 NT SERVICE\MSSQL$PAYROLL
    預設 SQL Server 執行個體上的 SQL Server Agent 服務 NT SERVICE\SQLSERVERAGENT
    SQL Server Agent名為PAYROLL之實例上的 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 Distributed Replay Controller DRU_CTLR、CTLRSVCACCOUNT、CTLRSVCPASSWORD、CTLRSTARTUPTYPE、CTLRUSERS
SQL Server Distributed Replay Client DRU_CLT、CLTSVCACCOUNT、CLTSVCPASSWORD、CLTSTARTUPTYPE、CLTCTLRNAME、CLTWORKINGDIR、CLTRESULTDIR

1如需自動安裝的詳細資訊和範例語法,請參閱從命令提示字元安裝 SQL Server 2014

2SQL Server Agent服務會在 SQL Server Express 實例上停用,並使用進階服務SQL Server Express。

防火牆通訊埠

大部分的情況下,在初始安裝時,資料庫引擎可以藉由像是與 SQL Server 安裝在同一部電腦上的 SQL Server Management Studio 這類工具進行連接。 SQL Server安裝程式不會在 Windows 防火牆中開啟埠。 除非將資料庫引擎設定為在 TCP 通訊埠上接聽,而且已在 Windows 防火牆中開啟適當的通訊埠進行連接,否則無法從其他電腦連接。 如需詳細資訊,請參閱 設定 Windows 防火牆以允許 SQL Server 存取

服務權限

本節描述SQL Server安裝程式針對每個服務 SID SQL Server 服務設定的許可權。

服務組態和存取控制

SQL Server 2014 可為其每個服務啟用個別服務 SID,以深入提供服務隔離和防禦。 每個服務 SID 都是衍生自服務名稱,而且是該服務專用的。 例如,Database Engine 服務的服務 SID 名稱可能是NT Service\MSSQL$< InstanceName >。 服務隔離可讓服務存取特定物件,而不需要以高權限帳戶執行或降低物件的安全性保護。 SQL Server 服務可以透過使用包含服務 SID 的存取控制項目,來限制其資源的存取權。

注意

在 Windows 7 和 Windows Server 2008 R2 上, (及更新版本) 個別服務 SID 可以是服務所使用的虛擬帳戶。

針對大部分元件,SQL Server 會直接為個別服務帳戶設定 ACL,因此不需重複資源 ACL 程序即可變更服務帳戶。

安裝 SSAS 時,會建立 Analysis Services 服務的個別服務 SID。 另外還會建立本機的 Windows 群組,其命名格式為 SQLServerMSASUser$computer_name$instance_name。 個別服務 SID NT SERVICE\MSSQLServerOLAPService 會在本機 Windows 群組中授與成員資格,而本機 Windows 群組則是在 ACL 中授與適當的權限。 如果用來啟動 Analysis Services 服務的帳戶已變更,SQL Server 組態管理員必須變更某些 Windows 許可權 (,例如以服務身分登入的許可權) ,但指派給本機 Windows 群組的許可權仍可使用,而不需任何更新,因為個別服務 SID 尚未變更。 這個方法可讓 Analysis Services 服務在升級期間重新命名。

在安裝SQL Server期間,SQL Server安裝程式會為 SSAS 和 SQL Server Browser 服務建立本機 Windows 群組。 針對這些服務,SQL Server 會為本機 Windows 群組設定 ACL。

根據服務組態,在安裝或升級期間服務帳戶或服務 SID 會加入做為服務群組成員。

Windows 權限和權利

指派為用來啟動服務的帳戶需要有服務的 啟動、停止和暫停權限 。 SQL Server 安裝程式會自動指派此權限。 請先安裝遠端伺服器管理工具 (RSAT)。 請參閱< 適用 Windows 7 的遠端伺服器管理工具>。

下表顯示 SQL Server 安裝程式要求 SQL Server 元件所使用之個別服務 SID 或本機 Windows 群組需要有的權限。

SQL Server 服務 SQL Server 安裝程式授與的權限
SQL Server 資料庫引擎:

(授與每個服務 SID 的擁有權限。預設實例: NT SERVICE\MSSQLSERVER。具名實例:**NT SERVICE\MSSQL$**InstanceName.)
以服務方式登入 (SeServiceLogonRight)

取代處理序層級 Token (SeAssignPrimaryTokenPrivilege)

略過周遊檢查 (SeChangeNotifyPrivilege)

調整處理序的記憶體配額 (SeIncreaseQuotaPrivilege)

啟動 SQL 寫入器的權限

讀取事件記錄檔服務的權限

讀取遠端程序呼叫服務的權限
SQL Server Agent:1

(授與每個服務 SID 的擁有權限。預設實例: NT Service\SQLSERVERAGENT。具名實例: NT Service\SQLAGENT$InstanceName.)
以服務方式登入 (SeServiceLogonRight)

取代處理序層級 Token (SeAssignPrimaryTokenPrivilege)

略過周遊檢查 (SeChangeNotifyPrivilege)

調整處理序的記憶體配額 (SeIncreaseQuotaPrivilege)
SSAS:

(擁有權限都會授與本機 Windows 群組。預設實例:SQLServerMSASUser$ComputerName$MSSQLSERVER。具名實例:SQLServerMSASUser$ComputerName InstanceName$PowerPivot for SharePoint 實例:SQLServerMSASUser$ComputerName$PowerPivot.)
以服務方式登入 (SeServiceLogonRight)

僅限表格式:

增加處理程序工作組 (SeIncreaseWorkingSetPrivilege)

調整程式 (SeIncreaseQuotaSizePrivilege) 的記憶體配額

鎖定記憶體中的分頁 (SeLockMemoryPrivilege) - 這只有在分頁完全關閉時才需要。

僅限容錯移轉叢集安裝:

增加排程優先順序 (SeIncreaseBasePriorityPrivilege)
SSRS:

(授與每個服務 SID 的擁有權限。預設實例: NT SERVICE\ReportServer。具名實例: NT SERVICE\$InstanceName.)
以服務方式登入 (SeServiceLogonRight)
SSIS:

(授與每個服務 SID 的擁有權限。預設實例和具名實例: NT SERVICE\MsDtsServer120。Integration Services 沒有具名實例的個別程式。)
以服務方式登入 (SeServiceLogonRight)

寫入應用程式事件記錄檔的權限。

略過周遊檢查 (SeChangeNotifyPrivilege)

在驗證之後模擬用戶端 (SeImpersonatePrivilege)
全文檢索搜尋:

(授與每個服務 SID 的擁有權限。預設實例: NT Service\MSSQLFDLauncher。具名實例: NT Service\ MSSQLFDLauncher$InstanceName.)
以服務方式登入 (SeServiceLogonRight)

調整處理序的記憶體配額 (SeIncreaseQuotaPrivilege)

略過周遊檢查 (SeChangeNotifyPrivilege)
SQL Server Browser:

(擁有權限都會授與本機 Windows 群組。預設或具名實例:SQLServer2005SQLBrowserUser$ComputerName。SQL Server Browser 沒有具名實例的個別程式。)
以服務方式登入 (SeServiceLogonRight)
SQL Server VSS Writer:

(授與每個服務 SID 的擁有權限。預設或具名實例:NT Service\SQLWriter。SQL Server VSS 寫入器沒有具名實例的個別程式。)
SQLWriter 服務會以 LOCAL SYSTEM 帳戶執行,該帳戶擁有所有必要的權限。 SQL Server安裝程式不會檢查或授與此服務的許可權。
SQL Server Distributed Replay Controller: 以服務方式登入 (SeServiceLogonRight)
SQL Server Distributed Replay Client: 以服務方式登入 (SeServiceLogonRight)

1SQL Server Agent服務會在 SQL Server Express 實例上停用。

授與 SQL Server 個別服務 SID 或本機 Windows 群組的檔案系統權限

SQL Server 服務帳戶必須有資源的存取權。 存取控制清單會針對個別服務 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 完整控制
120\shared 讀取、執行
Instid\MSSQL\Template Data (僅限 SQL Server Express) Read
SQLServerAgent1 Instid\MSSQL\binn 完整控制
Instid\MSSQL\binn 完整控制
Instid\MSSQL\Log 讀取、寫入、刪除、執行
120\com 讀取、執行
120\shared 讀取、執行
120\shared\Errordumps 讀取、寫入
ServerName\EventLog 完整控制
FTS Instid\MSSQL\FTData 完整控制
Instid\MSSQL\FTRef 讀取、執行
120\shared 讀取、執行
120\shared\Errordumps 讀取、寫入
Instid\MSSQL\Install 讀取、執行
Instid\MSSQL\jobs 讀取、寫入
MSSQLServerOLAPService 120\shared\ASConfig 完整控制
Instid\OLAP 讀取、執行
Instid\Olap\Data 完整控制
Instid\Olap\Log 讀取、寫入
Instid\OLAP\Backup 讀取、寫入
Instid\OLAP\Temp 讀取、寫入
120\shared\Errordumps 讀取、寫入
ReportServer Instid\Reporting Services\Log Files 讀取、寫入、刪除
Instid\Reporting Services\ReportServer 讀取、執行
Instid\Reporting Services\ReportServer\global.asax 完整控制
Instid\Reporting Services\ReportServer\rsreportserver.config 讀取
Instid\Reporting Services\reportManager 讀取、執行
Instid\Reporting Services\RSTempfiles 讀取、寫入、執行、刪除
120\shared 讀取、執行
120\shared\Errordumps 讀取、寫入
MSDTSServer100 120\dts\binn\MsDtsSrvr.ini.xml 讀取
120\dts\binn 讀取、執行
120\shared 讀取、執行
120\shared\Errordumps 讀取、寫入
SQL Server Browser 120\shared\ASConfig 讀取
120\shared 讀取、執行
120\shared\Errordumps 讀取、寫入
SQLWriter N/A (以本機系統執行)
User Instid\MSSQL\binn 讀取、執行
Instid\Reporting Services\ReportServer 讀取、執行、列出資料夾內容
Instid\Reporting Services\ReportServer\global.asax 讀取
Instid\Reporting Services\reportManager 讀取、執行
Instid\Reporting Services\ReportManager\pages 讀取
Instid\Reporting Services\ReportManager\Styles 讀取
120\dts 讀取、執行
120\tools 讀取、執行
100\tools 讀取、執行
90\tools 讀取、執行
80\tools 讀取、執行
120\sdk 讀取
Microsoft SQL Server\120\Setup Bootstrap 讀取、執行
SQL Server Distributed Replay Controller <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 Distributed Replay Client <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 讀取、執行、列出資料夾內容

1SQL Server Agent服務會在 SQL Server Express 實例上停用,並使用進階服務SQL Server Express。

當資料庫檔案儲存於使用者定義的位置時,您必須授與個別服務 SID 對該位置的存取權。 如需將檔案系統權限授與個別服務 SID 的詳細資訊,請參閱 設定 Database Engine 對檔案系統的存取權限

授與其他 Windows 使用者帳戶或群組的檔案系統權限

某些存取控制權限可能必須授與給內建帳戶或其他 SQL Server 服務帳戶。 下表列出 SQL Server 安裝程式所設定的其他 ACL。

要求元件 帳戶 資源 權限
MSSQLServer 效能記錄使用者 Instid\MSSQL\binn 列出資料夾內容
效能監視器使用者 Instid\MSSQL\binn 列出資料夾內容
效能記錄使用者、效能監視器使用者 \WINNT\system32\sqlctr120.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 報表伺服器 Windows 服務帳戶 <install>\Reporting Services\LogFiles 刪除

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
報表伺服器 Windows 服務帳戶、所有人 < install >\Reporting Services\ReportManager, < install >\Reporting Services\ReportManager\Pages\*.*, < install\Reporting Services\ReportManager\Styles\*.*, >< install >\Reporting Services\ReportManager\webctrl_client\1_0\*.* 讀取、執行
報表伺服器 Windows 服務帳戶 <install>\Reporting Services\ReportServer 讀取
報表伺服器 Windows 服務帳戶 <install>\Reporting Services\ReportServer\global.asax 完整
所有人 <install>\Reporting Services\ReportServer\global.asax READ_CONTROL

FILE_READ_DATA

FILE_READ_EA

FILE_READ_ATTRIBUTES
報表伺服器 Windows 服務帳戶 <install>\Reporting Services\ReportServer\rsreportserver.config 刪除

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
所有人 報表伺服器索引鍵 (Instid 登錄區) 查詢值

列舉子機碼

Notify

讀取控制
終端服務使用者 報表伺服器索引鍵 (Instid 登錄區) 查詢值

設定值

建立子機碼

列舉子機碼

Notify

刪除

讀取控制
進階使用者 報表伺服器索引鍵 (Instid 登錄區) 查詢值

設定值

建立子機碼

列舉子機碼

Notify

刪除

讀取控制

1這是 WMI 提供者命名空間。

與不常見磁碟位置相關的檔案系統權限

安裝 tempdb 或使用者資料庫時,提供安裝位置的預設磁碟機為 systemdrive,通常是 C 磁碟機。

非預設磁片磁碟機

安裝到非預設磁碟機的本機磁碟機時,個別服務 SID 必須擁有檔案位置的存取權。 SQL Server安裝程式會布建必要的存取權。

網路共用

將資料庫安裝到網路共用時,服務帳戶必須擁有使用者和 tempdb 資料庫之檔案位置的存取權。 SQL Server安裝程式無法布建網路共用的存取權。 在執行安裝程式之前,使用者必須先為服務帳戶提供 tempdb 位置的存取。 使用者在建立資料庫之前,必須先提供使用者資料庫位置的存取。

注意

虛擬帳戶無法對遠端位置驗證。 所有虛擬帳戶都使用電腦帳戶的權限。 以 domain_namecomputer_name <>$\> 格式 <布建電腦帳戶。

檢閱其他考量

下表顯示 SQL Server 服務提供其他功能時所需的權限。

服務/應用程式 功能 必要權限
SQL Server (MSSQLSERVER) 使用 xp_sendmail 寫入郵件位置。 網路寫入權限。
SQL Server (MSSQLSERVER) 對 SQL Server 管理員以外的使用者執行 xp_cmdshell。 做為作業系統的一部分並取代處理序層級 Token。
SQL Server Agent (MSSQLSERVER) 使用自動重新啟動功能。 必須是管理員本機群組的成員。
Database Engine Tuning Advisor 調整資料庫以達到最佳查詢效能。 第一次使用時,具有系統管理認證的使用者必須初始化應用程式。 初始化之後,dbo 使用者可使用 Database Engine Tuning Advisor 來只微調他們所擁有的那些資料表。 For more information, see "Initializing Database Engine Tuning Advisor on First Use" in SQL Server Books Online.

重要

在升級SQL Server之前,請為 SQL Server Agent 啟用 Windows 驗證,並確認必要的預設設定:SQL Server Agent服務帳戶是 SQL Serverysadmin 群組的成員。

登錄權限

登錄區是在HKLM\Software\Microsoft\Microsoft SQL Server\< Instance_ID >下建立,以供實例感知元件使用。 例如:

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

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

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

登錄也會維護執行個體識別碼到執行個體名稱的對應。 執行個體識別碼到執行個體名稱的對應維護如下:

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

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

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

WMI

Windows Management Instrumentation (WMI) 必須能夠連接到資料庫引擎。 為了支援此功能,Windows WMI 提供者的個別服務 SID (NT SERVICE\winmgmt) 會布建在 Database Engine 中。

SQL WMI 提供者需要下列權限:

  • msdb 資料庫中 db_ddladmindb_owner 固定資料庫角色的成員資格。

  • 伺服器中的CREATE DDL EVENT NOTIFICATION 權限。

  • 資料庫引擎中的 CREATE TRACE EVENT NOTIFICATION 權限。

  • VIEW ANY DATABASE 伺服器層級權限。

    SQL Server 安裝程式會建立 SQL WMI 命名空間,並且將讀取權限授與 SQL Server Agent 服務 SID。

具名管道

在所有安裝中,SQL Server 安裝程式都會透過共用記憶體通訊協定 (它是本機具名管道) 來提供 SQL Server 資料庫引擎的存取權。

佈建

本節描述如何在各種 SQL Server 元件內佈建帳戶。

Database Engine 提供

下列帳戶會新增為 SQL Server 資料庫引擎中的登入。

Windows 主體

在安裝期間,SQL Server 安裝程式至少需要將一個使用者帳戶命名為 sysadmin 固定伺服器角色的成員。

sa 帳戶

sa 帳戶一律做為資料庫引擎登入存在,而且是 sysadmin 固定伺服器角色的成員。 當 Database Engine 僅使用 Windows 驗證 (安裝時,也就是SQL Server驗證未啟用) 時,sa登入仍存在,但已停用。 如需啟用 sa 帳戶的詳細資訊,請參閱 變更伺服器驗證模式

SQL Server 個別服務 SID 登入和權限

SQL Server服務的個別服務 SID 會布建為 Database Engine 登入。 個別服務 SID 登入是 系統管理員 (sysadmin) 固定伺服器角色的成員。

SQL Server Agent 登入和權限

SQL Server Agent 服務的個別服務 SID 會做為資料庫引擎登入來加以佈建。 個別服務 SID 登入是 系統管理員 (sysadmin) 固定伺服器角色的成員。

Always On可用性群組和 SQL 容錯移轉叢集實例和許可權

將 Database Engine 安裝為Always On可用性群組或 SQL 容錯移轉叢集實例 (SQL FCI) 時,本機系統會布建在 Database Engine 中。 LOCAL SYSTEM登入會授與ALWAYS ON可用性群組) 的 ALTER ANY AVAILABILITY GROUP許可權 (,以及 SQL FCI) 的VIEW SERVER STATE許可權 (。

SQL 寫入器和權限

SQL Server VSS 寫入器服務的個別服務 SID 會做為資料庫引擎登入來加以佈建。 個別服務 SID 登入是 系統管理員 (sysadmin) 固定伺服器角色的成員。

SQL WMI 和權限

SQL Server安裝程式會將NT SERVICE\Winmgmt帳戶布建為 Database Engine 登入,並將其新增至系統管理員固定伺服器角色。

SSRS 提供

安裝過程中指定的帳戶會做為 RSExecRole 資料庫角色的成員提供。 如需詳細資訊,請參閱設定報表伺服器服務帳戶 (SSRS 組態管理員)

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 Server 角色中提供。

SSRS 提供

安裝期間所指定的帳戶會在資料庫引擎中做為 RSExecRole 資料庫角色的成員來加以佈建。 如需詳細資訊,請參閱設定報表伺服器服務帳戶 (SSRS 組態管理員)

從舊版升級

本節描述從舊版 SQL Server 中升級期間所做的變更。

  • SQL Server 2014 需要 Windows Server 2008 R2 SP1、Windows Server 2012、Windows 8.0、Windows Server 2012 R2 或 Windows 8.1。 在較低作業系統版本上執行的任何舊版 SQL Server 都必須先將作業系統升級,才能升級 SQL Server。

  • SQL Server 2005 升級至 SQL Server 2014 期間,SQL Server安裝程式會以下列方式設定SQL Server。

    • 資料庫引擎會以個別服務 SID 的安全性內容執行。 個別服務 SID 會獲得存取 SQL Server 執行個體的檔案資料夾 (例如 DATA) 和 SQL Server 登錄機碼的權限。

    • 資料庫引擎的個別服務 SID 會在資料庫引擎中作為 sysadmin 固定伺服器角色的成員來加以佈建。

    • 除非SQL Server是容錯移轉叢集實例,否則個別服務 SID 會新增至本機SQL Server Windows 群組。

    • SQL Server 資源仍然會佈建至本機 SQL Server Windows 群組。

    • 服務的本機 Windows 群組會從SQLServer2005MSSQLUser$< computer_name instance_name >$<> 重新命名為SQLServerMSSQLUser$< computer_name instance_name >$<>。 移轉之資料庫的檔案位置將會有本機 Windows 群組的存取控制項目 (ACE)。 新資料庫的位置將會有個別服務 SID 的 ACE。

  • 從 SQL Server 2008 升級期間,SQL Server安裝程式將會保留 ACE 的 SQL Server 2008 個別服務 SID。

  • 針對SQL Server容錯移轉叢集實例,將會保留針對服務設定之網域帳戶的 ACE。

附錄

本節包含有關 SQL Server 服務的其他資訊。

服務帳戶的描述

服務帳戶是用來啟動 Windows 服務 (例如 SQL Server 資料庫引擎) 的帳戶。

可搭配任何作業系統使用的帳戶

除了前段所描述新的 MSA虛擬帳戶 之外,以下帳戶都可以使用。

網域使用者帳戶

如果此服務必須與網路服務互動,請存取檔案共用等網域資源。如果它使用執行 SQL Server 之其他電腦的連結的伺服器連接,您可能會使用最低權限的網域帳戶。 許多伺服器對伺服器的活動只能以網域使用者帳戶執行。 這個帳戶應該由環境中的網域管理所預先建立。

注意

如果您將應用程式設定為使用網域帳戶,則可以隔離應用程式的權限,不過必須手動管理密碼或建立自訂解決方案來管理這些密碼。 許多伺服器應用程式都是使用此策略來增強安全性,不過此策略需要額外的管理和複雜性。 在這些部署中,服務管理員會花相當多時間進行維護工作,例如管理 Kerberos 驗證所需的服務密碼和服務主要名稱 (SPN)。 此外,這些維護工作都可能干擾服務。

本機使用者帳戶

如果電腦不屬於網域的一部分,建議您使用不含 Windows 管理員權限的本機使用者帳戶。

本機服務帳戶

本機服務帳戶是一個內建帳戶,它對於資源和物件的存取層級與使用者群組的成員相同。 如果個別服務或處理序受到危害時,這種有限的存取權可協助保護系統的安全。 以本機服務帳戶執行的服務是以不含認證的 Null 工作階段來存取網路資源。 請注意,SQL Server或SQL Server Agent服務不支援本機服務帳戶。 本機服務不支援作為執行這些服務的帳戶,因為它是共用服務,而且在本機服務下執行的任何其他服務都會有系統管理員存取SQL Server。 此帳戶的實際名稱是 NT AUTHORITY\LOCAL SERVICE

網路服務帳戶

網路服務帳戶是一個內建帳戶,它對於資源和物件所擁有的存取權高於使用者群組的成員。 以網路服務帳戶身分執行的服務會使用domain_name computer_name ><\<>$ 格式的電腦帳號憑證來存取網路資源。 此帳戶的實際名稱是 NT AUTHORITY\NETWORK SERVICE

本機系統帳戶

本機系統是權限非常高的內建帳戶。 它在本機系統上具有延伸的權限,並可當做網路上的電腦運作。 此帳戶的實際名稱是 NT AUTHORITY\SYSTEM

識別執行個體感知和執行個體非感知服務

執行個體感知服務會與特定的 SQL Server 執行個體產生關聯,而且會有自己的登錄區。 您可以針對每一個元件或服務執行 SQL Server 安裝程式,以安裝執行個體感知服務的多個複本。 執行個體非感知服務會在所有安裝的 SQL Server 執行個體之間共用。 它們與特定執行個體沒有關聯,只能安裝一次,且不能並存安裝。

SQL Server 中的執行個體感知服務包含以下項目:

  • SQL Server

  • SQL Server Agent

    請注意,SQL Server Agent 服務已在 SQL Server Express 和 SQL Server Express with Advanced Services 的執行個體上停用。

  • Analysis Services 1

  • Reporting Services

  • 全文檢索搜尋

SQL Server 中的執行個體非感知服務包含以下項目:

  • Integration Services

  • SQL Server Browser

  • SQL 寫入器

1SharePoint 整合模式中的 Analysis Services 以單一具名實例的形式執行為 'PowerPivot'。 執行個體名稱是固定的。 您無法指定不同的名稱。 在每個實體伺服器上,您只能安裝一個當做 'PowerPivot' 執行的 Analysis Services 執行個體。

當地語系化服務名稱

下表將顯示 Windows 當地語系化版本所顯示的服務名稱。

Language 本機服務的名稱 網路服務的名稱 本機系統的名稱 管理群組的名稱
英文

簡體中文

繁體中文

韓文

日文
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\Администраторы

SQL Server 安裝的安全性考量

SQL Server 的預設和具名執行個體的檔案位置

安裝 Master Data Services