Share via


Windows サービス アカウントと権限の構成

SQL Server の各サービスは、Windows で SQL Server 操作の認証を管理するための、1 つのプロセスまたはプロセス セットを表しています。 このトピックでは、SQL Server のこのリリースにおける既定のサービス構成、および SQL Server のインストール時およびインストール後に設定できる SQL Server サービスの構成オプションについて説明します。

内容

このトピックには次のセクションがあります。

SQL Server によってインストールされるサービス

インストールするコンポーネントに応じて、SQL Server セットアップによって次のサービスがインストールされます。

  • SQL Server データベース サービス - 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>\120\DTS\Binn\MsDtsSrvr.exe

  • SQL Server Browser - クライアント コンピューター用の SQL Servrer 接続情報を提供する名前解決サービスです。 実行可能ファイルは c:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe です。

  • フルテキスト検索 - コンテンツに対するフルテキスト インデックスと構造化および半構造化データのプロパティをすばやく作成し、SQL Server に対するドキュメントのフィルター処理および単語区切りを可能にします。

  • SQL ライター - ボリューム シャドウ コピー サービス (VSS) フレームワークで動作するアプリケーションのバックアップと復元を可能にします。

  • SQL Server 分散再生コントローラー - 複数の分散再生クライアント コンピューターにトレース再生オーケストレーションを提供します。

  • SQL Server 分散再生クライアント - SQL Server データベース エンジンのインスタンスに対して同時実行ワークロードをシミュレーションするために分散再生コントローラーと共に動作する、1 つ以上の分散再生クライアント コンピューターです。

サービスのプロパティおよび構成

SQL Server を開始して実行するために使用する開始アカウントは、ドメイン ユーザー アカウントローカル ユーザー アカウント管理されたサービス アカウント仮想アカウント、またはビルトイン システム アカウントのいずれでも可能です。 SQL Server の各サービスを開始して実行するには、インストール時に構成された開始アカウントが必要です。

このセクションでは、SQL Server サービスを開始するために構成できるアカウント、SQL Server セットアップで使用される既定値、サービスごとの SID の概念、スタートアップ オプション、およびファイアウォールの構成について説明します。

既定のサービス アカウント

次の表に、すべてのコンポーネントをインストールするときにセットアップで使用される既定のサービス アカウントを示します。 ここに示されている既定のアカウントは、特に断りがない限り、推奨のアカウントです。

スタンドアロン サーバーまたはドメイン コント ローラー

コンポーネント 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 Writer ローカル システム ローカル システム

*SQL Server コンピューターの外部のリソースが必要な場合は、必要最小限の特権で構成されたマネージド サービス アカウント (MSA) を使用することをお勧めします。

SQL Server フェールオーバー クラスター インスタンス

コンポーネント Windows Server 2008 Windows Server 2008 R2
データベース エンジン [なし] : ドメイン ユーザー アカウントを提供します。 ドメイン ユーザー アカウントを提供します。
SQL Server エージェント [なし] : ドメイン ユーザー アカウントを提供します。 ドメイン ユーザー アカウントを提供します。
SSAS [なし] : ドメイン ユーザー アカウントを提供します。 ドメイン ユーザー アカウントを提供します。
SSIS ネットワーク サービス 仮想アカウント
SSRS ネットワーク サービス 仮想アカウント
FD ランチャー (フルテキスト検索) ローカル サービス 仮想アカウント
SQL Server Browser ローカル サービス ローカル サービス
SQL Server VSS Writer ローカル システム ローカル システム

アカウント プロパティの変更

重要

  • 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) と仮想アカウントという 2 つの新しい種類のサービス アカウントがあります。 マネージド サービス アカウントと仮想アカウントは、独自のアカウントを分離してSQL Serverなどの重要なアプリケーションを提供するように設計されていますが、管理者がこれらのアカウントのサービス プリンシパル名 (SPN) と資格情報を手動で管理する必要がなくなります。 これらにより、サービス アカウントのユーザー、パスワード、SPN の長期的な管理は非常に簡単になります。

  • 管理されたサービス アカウント

    管理されたサービス アカウント (MSA) は、ドメイン コント ローラーによって作成および管理されるドメイン アカウントの一種です。 管理されたサービス アカウントは、サービスの実行に使用する 1 つのメンバー コンピューターに割り当てられます。 パスワードは、ドメイン コント ローラーによって自動的に管理されます。 MSA を使用して、コンピューターにログインすることはできませんが、コンピューターは、MSA を使用して Windows サービスを開始することができます。 MSA には、サービス プリンシパル名 (SPN) を Active Directory に登録する機能があります。 MSA には、 DOMAIN\ACCOUNTNAME$ など、 $ サフィックスを伴う名前が付けられます。 MSA を指定する場合は、パスワードを空白のままにします。 MSA は、1 つのコンピューターに割り当てられているため、Windows クラスターの異なるノード上では使用できません。

    Note

    MSA は、SQL Server セットアップが SQL Server サービスで使用する前に、ドメイン管理者が Active Directory に作成する必要があります。

  • グループ管理サービス アカウント

    グループ管理サービス アカウントは、複数サーバーのための MSA です。 Windows は、サーバーのグループで実行されているサービスのサービス アカウントを管理します。 Active Directory は、サービスを再起動することなくグループ管理サービス アカウントのパスワードを自動的に更新します。 グループ管理サービス アカウント プリンシパルを使用するようにSQL Server サービスを構成できます。SQL Server SQL Server 2014 以降では、スタンドアロン インスタンスのグループ管理サービス アカウントがサポートされています。

    SQL Server 2014 以降でグループ管理サービス アカウントを使用するには、オペレーティング システムが Windows Server 2012 R2 以降である必要があります。 Windows Server 2012 R2 のサーバーでは、パスワード変更直後に中断することなくサービスがログインできるためには、 KB 2998082 を適用する必要があります。

    詳細については、「 グループ管理サービス アカウント」を参照してください。

    注意

    グループ管理サービス アカウントは、SQL Server サービスに使用SQL Server前に、ドメイン管理者が Active Directory に作成する必要があります。

  • Virtual Accounts

    Windows Server 2008 R2 および Windows 7 で追加された仮想アカウントは管理されたローカル アカウントであり、サービスの管理を簡単にする次の機能を使用できます。 仮想アカウントは自動的に管理され、ドメイン環境でネットワークにアクセスすることができます。 SQL Server のセットアップでサービス アカウントに既定値を使用した場合、NT SERVICE\<SERVICENAME> の形式でインスタンス名をサービス名として用いる仮想アカウントが使用されます。 仮想アカウントとして実行されるサービスは、<domain_name>\<computer_name>$ の形式で、コンピューター アカウントの資格情報を使用してネットワーク リソースにアクセスします。 SQL Server を起動するために仮想アカウントを指定する場合は、パスワードを空白のままにします。 仮想アカウントのサービス プリンシパル名 (SPN) を登録していない場合は、SPN を手動で登録します。 SPN の手動登録の詳細については、 SPN の手動登録に関するページを参照してください。

    注意

    仮想アカウントはクラスターの各ノード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 に直接付与されます。

自動起動

ユーザー アカウントに加え、各サービスには 3 種類の起動時の状態があります。これらの状態はユーザーによる制御が可能です。

  • 無効 サービスがインストールされていますが、現在は実行されていません。

  • 手動 サービスがインストールされていますが、別のサービスまたはアプリケーションでその機能が必要な場合のみ開始されます。

  • 自動 サービスはオペレーティング システムによって自動的に起動されます。

起動時の状態は、セットアップ中に選択されます。 名前付きインスタンスをインストールする場合は、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 2014 をインストールする」を参照してください。

2SQL Server エージェント サービスは、SQL Server Express のインスタンスで無効になり、Advanced Services でSQL Server Expressされます。

ファイアウォール ポート

ほとんどの場合、データベース エンジンは、最初にインストールされると、SQL Server と同じコンピューターにインストールされている SQL Server Management Studio などのツールによって接続できます。 SQL Serverセットアップでは、Windows ファイアウォールでポートが開きません。 データベース エンジンが TCP ポートでリッスンするように構成され、Windows ファイアウォールで接続用に適切なポートが開かれるまでは、他のコンピューターから接続できない場合があります。 詳細については、SQL Server アクセスを許可するための Windows ファイアウォールの構成に関する記事を参照してください。

サービスの権限

このセクションでは、SQL Server サービスのサービスごとの SID のために SQL Server セットアップで構成される権限について説明します。

サービスの構成とアクセス制御

SQL Server 2014 では、各サービスのサービスごとの SID を使用して、サービスの分離と多層防御を実現できます。 サービスごとの SID は、サービス名から取得されるので、そのサービスに固有です。 たとえば、データベース エンジン サービスのサービス SID 名は NT Service\MSSQL$<InstanceName です>。 サービスを分離すると、高い特権のアカウントを使用したり、オブジェクトのセキュリティ保護を弱めたりすることなく、特定のオブジェクトにアクセスできます。 サービス SID を含むアクセス制御エントリを使用することにより、SQL Server サービスはそのリソースへのアクセスを制限することができます。

Note

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 コンポーネントが使用するサービスごとの SID またはローカル Windows グループに対して SQL Server セットアップが要求する権限を示します。

SQL Server サービス SQL Server セットアップによって付与される権限
SQL Server データベース エンジン:

(すべての権限は、サービスごとの SID に付与されます。既定のインスタンス: NT SERVICE\MSSQLSERVER。名前付きインスタンス: **NT SERVICE\MSSQL$**InstanceName.)
サービスとしてログオン (SeServiceLogonRight)

プロセス レベル トークンを置き換える (SeAssignPrimaryTokenPrivilege)

スキャン チェックを行わない (SeChangeNotifyPrivilege)

プロセスに対してメモリ クォータを調整する (SeIncreaseQuotaPrivilege)

SQL ライターを起動する権限

イベント ログ サービスを読み取る権限

リモート プロシージャ コール サービスを読み取る権限
SQL Server エージェント:1

(すべての権限はサービスごとの 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:

(すべての権限は、サービスごとの 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 Writer には、名前付きインスタンスに対して個別のプロセスがありません)。
SQLWriter サービスは、必要なすべての権限を持つ LOCAL SYSTEM アカウントで実行されます。 SQL Serverセットアップでは、このサービスのチェックまたはアクセス許可は付与されません。
SQL Server 分散再生コントローラー: サービスとしてログオン (SeServiceLogonRight)
SQL Server 分散再生クライアント: サービスとしてログオン (SeServiceLogonRight)

1SQL Server Expressのインスタンスでは、SQL Server エージェント サービスが無効になっています。

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 Read
Instid\Reporting Services\reportManager 読み取り、実行
Instid\Reporting Services\RSTempfiles 読み取り、書き込み、実行、削除
120\shared 読み取り、実行
120\shared\Errordumps 読み取り、書き込み
MSDTSServer100 120\dts\binn\MsDtsSrvr.ini.xml Read
120\dts\binn 読み取り、実行
120\shared 読み取り、実行
120\shared\Errordumps 読み取り、書き込み
SQL Server Browser 120\shared\ASConfig Read
120\shared 読み取り、実行
120\shared\Errordumps 読み取り、書き込み
SQLWriter N/A (ローカル システムとして実行)
User Instid\MSSQL\binn 読み取り、実行
Instid\Reporting Services\ReportServer 読み取り、実行、フォルダー内容の一覧表示
Instid\Reporting Services\ReportServer\global.asax Read
Instid\Reporting Services\reportManager 読み取り、実行
Instid\Reporting Services\ReportManager\pages Read
Instid\Reporting Services\ReportManager\Styles Read
120\dts 読み取り、実行
120\tools 読み取り、実行
100\tools 読み取り、実行
90\tools 読み取り、実行
80\tools 読み取り、実行
120\sdk Read
Microsoft SQL Server\120\Setup Bootstrap 読み取り、実行
SQL Server 分散再生コントローラー <ToolsDir>\DReplayController\Log\ (空のディレクトリ) 読み取り、実行、フォルダー内容の一覧表示
<ToolsDir>\DReplayController\DReplayController.exe 読み取り、実行、フォルダー内容の一覧表示
<ToolsDir>\DReplayController\resources|読み取り、実行、フォルダー内容の一覧表示
<ToolsDir>\DReplayController\{すべての dll} 読み取り、実行、フォルダー内容の一覧表示
<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 読み取り、実行、フォルダー内容の一覧表示

1SQL Server エージェント サービスは、advanced Services を使用してSQL Server ExpressおよびSQL Server Expressのインスタンスで無効になります。

データベース ファイルをユーザー定義の場所に格納する場合は、サービスごとの SID にその場所へのアクセス権を付与する必要があります。 サービスごとの SID にファイル システム権限を付与する方法の詳細については、「 データベース エンジン アクセスのファイル システム権限の構成」をご覧ください。

他の Windows ユーザー アカウントまたはグループに付与されるファイル システム権限

ビルトイン アカウントや他の SQL Server サービス アカウントに、いくつかのアクセス制御権限を付与する必要がある場合があります。 次の表は、SQL Server セットアップによって追加設定される ACL を示しています。

要求元コンポーネント Account リソース アクセス許可
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 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
Report Server 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 Read
レポート サーバー Windows サービス アカウント <install>\Reporting Services\ReportServer\global.asax [完全]
Everyone <install>\Reporting Services\ReportServer\global.asax READ_CONTROL

FILE_READ_DATA

FILE_READ_EA

FILE_READ_ATTRIBUTES
Report Server Windows Services アカウント <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 プロバイダーの名前空間です。

通常と異なるディスクの場所に関連するファイル システム権限

tempdb またはユーザー データベースをインストールするとき、インストールの既定のドライブの場所は systemdrive(通常はドライブ C) です。

既定以外のドライブ

既定のドライブではないローカル ドライブにインストールするときは、サービスごとの SID にそのファイルの場所へのアクセス権がある必要があります。 SQL Serverセットアップでは、必要なアクセス権がプロビジョニングされます。

ネットワーク共有

データベースをネットワーク共有にインストールする場合は、サービス アカウントにユーザー データベースおよび tempdb データベースのファイルの場所へのアクセス権が必要です。 SQL Serverセットアップでは、ネットワーク共有へのアクセスをプロビジョニングできません。 セットアップを実行する前に、サービス アカウントの tempdb の場所へのアクセス権を準備する必要があります。 ユーザーは、データベースを作成する前にユーザー データベースの場所へのアクセス権を準備する必要があります。

Note

仮想アカウントでは、リモートの場所へアクセスすることはできません。 どの仮想アカウントも、コンピューター アカウントの権限を使用します。 <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 Serversysadmin グループのメンバーであることを確認します。

レジストリの権限

インスタンス対応のコンポーネントの場合は、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

このレジストリは、インスタンス ID とインスタンス名のマッピングも管理します。 インスタンス ID とインスタンス名のマッピングは次のようになります。

  • [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) がデータベース エンジンでプロビジョニングされている必要があります。

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 固定サーバー ロールのメンバーとして、少なくとも 1 つのユーザー アカウントの名前を指定する必要があります。

sa アカウント

sa アカウントは常にデータベース エンジン ログインとして存在し、sysadmin 固定サーバー ロールのメンバーです。 Windows 認証のみを使用してデータベース エンジンをインストールする場合 (つまり、SQL Server認証が有効になっていない場合)、sa ログインは引き続き存在しますが、無効になっています。 sa アカウントの有効化の詳細については、「 サーバーの認証モードの変更」を参照してください。

SQL Server のサービスごとの SID のログインと特権

SQL Server サービスのサービスごとの SID は、データベース エンジン ログインとしてプロビジョニングされます。 サービスごとの SID ログインは、 sysadmin 固定サーバー ロールのメンバーです。

SQL Server エージェントのログインと特権

SQL Server エージェント サービスのサービスごとの SID は、データベース エンジン ログインとしてプロビジョニングされます。 サービスごとの SID ログインは、 sysadmin 固定サーバー ロールのメンバーです。

Always On 可用性グループと SQL フェールオーバー クラスター インスタンスおよび特権

データベース エンジンをAlways On可用性グループまたは SQL フェールオーバー クラスター インスタンス (SQL FCI) としてインストールする場合、LOCAL SYSTEM はデータベース エンジンにプロビジョニングされます。 ローカル システム ログインには、ALTER ANY AVAILABILITY GROUP アクセス許可 (Always On可用性グループの場合) と VIEW SERVER STATE アクセス許可 (SQL FCI の場合) が付与されます。

SQL ライターと特権

SQL Server VSS ライター サービスのサービスごとの SID は、データベース エンジン ログインとしてプロビジョニングされます。 サービスごとの SID ログインは、 sysadmin 固定サーバー ロールのメンバーです。

SQL WMI と特権

SQL Serverセットアップでは、NT SERVICE\Winmgmt アカウントがデータベース エンジン ログインとしてプロビジョニングされ、sysadmin 固定サーバー ロールに追加されます。

SSRS の準備

セットアップ中に指定されたアカウントは、 RSExecRole データベース ロールのメンバーとして準備されます。 詳細については、「レポート サーバー サービス アカウントの構成 (SSRS 構成マネージャー)」を参照してください。

SSAS の準備

SSAS サービス アカウント要件は、サーバーの配置方法によって異なります。 PowerPivot for SharePoint をインストールする場合、SQL Serverセットアップでは、ドメイン アカウントで実行するように Analysis Services サービスを構成する必要があります。 ドメイン アカウントは、SharePoint に組み込まれている管理アカウント機能をサポートするために必要です。 このため、SQL Server セットアップでは、PowerPivot for SharePoint インストール用の既定のサービス アカウント (仮想アカウントなど) は提供されません。 PowerPivot for SharePoint のプロビジョニングの詳細については、「Power Pivot サービス アカウントの構成」を参照してください。

他のすべてのスタンドアロン SSAS インストールでは、サービスをプロビジョニングして、ドメイン アカウント、ビルトイン システム アカウント、マネージド アカウント、または仮想アカウントで実行することができます。 アカウント プロビジョニングの詳細については、「サービス アカウントの構成 (Analysis Services)」を参照してください。

クラスター化インストールでは、ドメイン アカウントまたはビルトイン システム アカウントを指定する必要があります。 SSAS フェールオーバー クラスターでは、マネージド アカウントと仮想アカウントのどちらもサポートされていません。

どの SSAS インストールでも、Analysis Services インスタンスのシステム管理者を指定する必要があります。 管理者特権は、Analysis Services の サーバー ロールで準備されます。

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 固定サーバー ロールのメンバーとしてデータベース エンジンでプロビジョニングされます。

    • サービスごとの SID は、SQL Server がフェールオーバー クラスター インスタンスでない場合、ローカルの 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 セットアップでは、サービスごとの 2008 SID SQL Serverの ACE が保持されます。

  • SQL Server フェールオーバー クラスター インスタンスの場合、サービス用に構成されたドメイン アカウントの ACE が保持されます。

付録

このセクションでは、SQL Server サービスの追加情報について説明します。

サービス アカウントの説明

サービス アカウントは、SQL Server データベース エンジンなどの Windows サービスを開始するために使用されるアカウントです。

任意のオペレーティング システムで利用可能なアカウント

MSA および 仮想アカウント に加えて、次のアカウントを使用することができます。

ドメイン ユーザー アカウント

サービスでネットワーク サービスを操作する必要がある場合は、ファイル共有と同様の方法でドメイン リソースにアクセスします。また、SQL Server を実行している他のコンピューターへのリンク サーバー接続が使用されている場合は、最小限の特権しかないドメイン アカウントを使用できます。 多くのサーバー間操作は、ドメイン ユーザー アカウントを使用しなければ実行できません。 このアカウントは、使用している環境のドメイン管理によって事前に作成されている必要があります。

Note

アプリケーションを構成してドメイン アカウントを使用する場合は、アプリケーションの特権を分離することができますが、パスワードを手動で管理するか、これらのパスワードを管理するためのカスタム ソリューションを作成する必要があります。 多くのサーバー アプリケーションがこの方法を使用してセキュリティを強化していますが、この方法では管理対象が多くなり、より複雑になります。 このような配置では、サービス管理者は、Kerberos 認証で必要なサービス パスワードやサービス プリンシパル名 (SPN) の管理などのメンテナンス タスクに相当な時間を費やすことになります。 さらに、これらのメンテナンス タスクによってサービスが中断されることがあります。

ローカル ユーザー アカウント

コンピューターがドメインに属していない場合は、Windows 管理者権限のないローカル ユーザー アカウントを使用することをお勧めします。

ローカル サービス アカウント

ローカル サービス アカウントは、リソースおよびオブジェクトへのアクセスについて Users グループのメンバーと同じレベルの権限を持つビルトイン アカウントです。 このアクセス制限により、個々のサービスまたはプロセスに障害が発生した場合にシステムを保護することができます。 ローカル サービス アカウントとして実行されているサービスは、資格情報を使用せずに NULL セッションとしてネットワーク リソースにアクセスします。 ローカル サービス アカウントは、SQL Server または SQL Server エージェント サービスではサポートされていないことに注意してください。 ローカル サービスは共有サービスであり、ローカル サービスで実行されている他のサービスはシステム管理者がSQL Serverにアクセスできるため、これらのサービスを実行するアカウントとしてサポートされていません。 アカウントの実際の名前は、 NT AUTHORITY\LOCAL SERVICEです。

ネットワーク サービス アカウント

ネットワーク サービス アカウントは、リソースおよびオブジェクトへのアクセスについて Users グループのメンバーより多くの権限を持つビルトイン アカウントです。 ネットワーク サービス アカウントとして実行されるサービスでは、<domain_name>\<computer_name>$ の形式で、コンピューター アカウントの資格情報を使用してネットワーク リソースにアクセスします。 アカウントの実際の名前は NT AUTHORITY\NETWORK SERVICE です。

ローカル システム アカウント

ローカル システムは非常に高い特権を持つビルトイン アカウントです。 ローカル システム上で広範囲の特権を持ち、ネットワーク上のコンピューターとして機能します。 アカウントの実際の名前は NT AUTHORITY\SYSTEMです。

インスタンス対応のサービスとインスタンス非対応のサービスの指定

インスタンス対応サービスは、特定の SQL Server インスタンスに関連付けられており、それぞれに独自のレジストリ ハイブがあります。 コンポーネントやサービスごとに SQL Server セットアップを実行すると、インスタンス対応サービスの複数のコピーをインストールできます。 インスタンス非対応サービスは、インストールされているすべての SQL Server インスタンスで共有されます。 インスタンス非対応サービスは、特定のインスタンスに関連付けられておらず、インストールできるのは一度のみであり、サイド バイ サイドでのインストールは行えません。

SQL Server では、インスタンス対応サービスに次のようなものがあります。

  • SQL Server

  • SQL Server エージェント

    SQL Server エージェント サービスは、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 のインスタンスは、物理サーバーごとに 1 つだけインストールできます。

ローカライズされたサービス名

次の表は、Windows のローカライズ版で表示されるサービス名を示しています。

Language ローカル サービスの名前 ネットワーク サービスの名前 ローカル システムの名前 admin グループの名前
英語

簡体中国語

Traditional Chinese

韓国語

日本語
NT AUTHORITY\LOCAL SERVICE NT AUTHORITY\NETWORK SERVICE NT AUTHORITY\SYSTEM BUILTIN\Administrators (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 (BUILTIN\Administrators)
イタリア語 NT AUTHORITY\SERVIZIO LOCALE NT AUTHORITY\SERVIZIO DI RETE NT AUTHORITY\SYSTEM BUILTIN\Administrators (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 の既定のインスタンスおよび名前付きインスタンスのファイルの場所

マスター データ サービスのインストール