Windows サービス アカウントと権限の構成
SQL Server の各サービスは、Windows で SQL Server 操作の認証を管理するための、1 つのプロセスまたはプロセス セットを表しています。 このトピックでは、SQL Server のこのリリースにおける既定のサービス構成、および SQL Server のインストール時およびインストール後に設定できる SQL Server サービスの構成オプションについて説明します。
Contents
このトピックの内容は次のとおりです。
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 2014 以降では、SQL Server はスタンドアロン インスタンスのグループ管理サービス アカウントをサポートしています。
SQL Server 2014 以降でグループ管理サービス アカウントを使用するには、オペレーティング システムが Windows Server 2012 R2 以降である必要があります。 Windows Server 2012 R2 のサーバーでは、パスワード変更直後に中断することなくサービスがログインできるためには、 KB 2998082 を適用する必要があります。
詳細については、「 グループ管理サービス アカウント」を参照してください。
Note
グループ管理サービス アカウントは、SQL Server セットアップで SQL Server サービスに使用する前に、ドメイン管理者が Active Directory に作成する必要があります。
-
Windows Server 2008 R2 および Windows 7 で追加された仮想アカウントは管理されたローカル アカウントであり、サービスの管理を簡単にする次の機能を使用できます。 仮想アカウントは自動的に管理され、ドメイン環境でネットワークにアクセスすることができます。 SQL Server のセットアップでサービス アカウントに既定値を使用した場合、NT SERVICE\<SERVICENAME> の形式でインスタンス名をサービス名として用いる仮想アカウントが使用されます。 仮想アカウントとして実行されるサービスは、<domain_name>\<computer_name>$ の形式で、コンピューター アカウントの資格情報を使用してネットワーク リソースにアクセスします。 SQL Server を起動するために仮想アカウントを指定する場合は、パスワードを空白のままにします。 仮想アカウントのサービス プリンシパル名 (SPN) を登録していない場合は、SPN を手動で登録します。 SPN の手動登録の詳細については、 SPN の手動登録に関するページを参照してください。
Note
仮想アカウントはクラスターの各ノードで同じ SID を持たないため、SQL Server フェールオーバー クラスター インスタンスには仮想アカウントを使用できません。
次の表に仮想アカウント名の例を示します。
サービス 仮想アカウント名 データベース エンジン サービスの既定のインスタンス 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 と SQL Server Express with Advanced Services のインスタンスで無効になります。
ファイアウォール ポート
ほとんどの場合、データベース エンジンは、最初にインストールされると、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 ライターには、名前付きインスタンスに対する個別のプロセスがありません)。 |
SQLWriter サービスは、必要なすべての権限を持つ LOCAL SYSTEM アカウントで実行されます。 SQL Server のセットアップでは、このサービスのアクセス許可は確認または付与されません。 |
SQL Server 分散再生コントローラー: | サービスとしてログオン (SeServiceLogonRight) |
SQL Server 分散再生クライアント: | サービスとしてログオン (SeServiceLogonRight) |
1SQL SERVER エージェント サービスは、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 のみ) | 既読 | |
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 分散再生コントローラー | <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 | 読み取り、実行、フォルダー内容の一覧表示 |
1 SQL Server エージェント サービスは、SQL Server Express および SQL Server Express と Advanced Services のインスタンスで無効になります。
データベース ファイルをユーザー定義の場所に格納する場合は、サービスごとの 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 |
レポート サーバー 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 |
|
レポート サーバー 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 プロバイダーの名前空間です。
通常と異なるディスクの場所に関連するファイル システム権限
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がデータベース エンジンにプロビジョニングされます。 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 セットアップでは、サービスごとの SQL Server 2008 SID の ACE が保持されます。
SQL Server フェールオーバー クラスター インスタンスの場合、サービス用に構成されたドメイン アカウントの ACE は保持されます。
付録
このセクションでは、SQL Server サービスの追加情報について説明します。
サービス アカウントの説明
サービス アカウントは、SQL Server データベース エンジンなどの Windows サービスを開始するために使用されるアカウントです。
任意のオペレーティング システムで利用可能なアカウント
MSA および 仮想アカウント に加えて、次のアカウントを使用することができます。
サービスでネットワーク サービスを操作する必要がある場合は、ファイル共有と同様の方法でドメイン リソースにアクセスします。また、SQL Server を実行している他のコンピューターへのリンク サーバー接続が使用されている場合は、最小限の特権しかないドメイン アカウントを使用できます。 多くのサーバー間操作は、ドメイン ユーザー アカウントを使用しなければ実行できません。 このアカウントは、使用している環境のドメイン管理によって事前に作成されている必要があります。
Note
アプリケーションを構成してドメイン アカウントを使用する場合は、アプリケーションの特権を分離することができますが、パスワードを手動で管理するか、これらのパスワードを管理するためのカスタム ソリューションを作成する必要があります。 多くのサーバー アプリケーションはこの対応策を使用してセキュリティを向上させますが、この対応策では追加的な管理と複雑さが要求されます。 これらの展開では、サービスの管理者はサービス パスワードや Kerberos 認証を必要とするサービス プリンシパル名 (SPNs) の管理などの保守タスクに相当の時間を費やします。 また、これらの保守タスクは、サービスを中断させます。
コンピューターがドメインに属していない場合は、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 ライター
1 SharePoint 統合モードの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 |
ドイツ語 | 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 インストールにおけるセキュリティの考慮事項