Windows サービス アカウントと権限の構成
適用対象: SQL Server
SQL Server の各サービスは、Windows で SQL Server 操作の認証を管理するための、1 つのプロセスまたはプロセス セットを表しています。 この記事では、SQL Server のこのリリースにおける既定のサービス構成、および SQL Server のインストール時およびインストール後に設定できる SQL Server サービスの構成オプションについて説明します。 この記事では、上級ユーザー向けにサービス アカウントの詳細について説明します。
ほとんどのサービスとそのプロパティは、SQL Server 構成マネージャーを使用して構成できます。 最近のバージョンのパスを次に示します (Windows が C ドライブにインストールされている場合)。
SQL Server のバージョン | Path |
---|---|
SQL Server 2022 (16.x) | C:\Windows\SysWOW64\SQLServerManager16.msc |
SQL Server 2019 (15.x) | C:\Windows\SysWOW64\SQLServerManager15.msc |
SQL Server 2017 (14.x) | C:\Windows\SysWOW64\SQLServerManager14.msc |
SQL Server 2016 (13.x) | C:\Windows\SysWOW64\SQLServerManager13.msc |
SQL Server 2014 | C:\Windows\SysWOW64\SQLServerManager12.msc |
SQL Server 2012 | C:\Windows\SysWOW64\SQLServerManager11.msc |
Azure Arcによって有効化された SQL Server
Azure Extension for SQL Server に必要なアクセス許可については、「 Windows サービス アカウントの構成と SQL Server 用 Azure 拡張機能のアクセス許可を参照してください。
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 パッケージの保存と実行に関する管理サポートを提供します。 実行可能ファイルのパスは \<MSSQLPATH>\150\DTS\Binn\MsDtsSrvr.exe です。 |
Integration Services には、配置のスケール アウト用に追加のサービスが含まれている場合があります。 詳細については、「チュートリアル:Integration Services (SSIS) Scale Out を設定する」を参照してください。
サービス | 説明 |
---|---|
SQL Server Browser | クライアント コンピューター用の SQL Server 接続情報を提供する名前解決サービス。 実行可能ファイルのパスは C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe です |
フルテキスト検索 | 構造化データおよび半構造化データのコンテンツとプロパティに対してフルテキスト インデックスをすばやく作成し、SQL Server に対するドキュメントのフィルター処理および単語区切りを提供します。 |
SQL ライター | ボリューム シャドウ コピー サービス (VSS) フレームワークで動作するアプリケーションのバックアップと復元を可能にします。 |
SQL Server 分散再生コントローラー | 複数の分散再生クライアント コンピューター間で、トレース再生のオーケストレーションを提供します。 |
SQL Server 分散再生クライアント | 分散再生コントローラーと共に動作し、SQL Server データベース エンジンのインスタンスに対して同時実行ワークロードをシミュレーションする、1 つ以上の分散再生クライアント コンピューター。 |
SQL Server Launchpad | R サービスまたは Machine Learning Services の一部としてインストールされる R または Python ランタイムなど、Microsoft から提供される外部実行可能ファイルをホストする信頼されたサービス。 サテライト プロセスはスタートパッド プロセスによって起動できますが、個々のインスタンスの構成に基づいてリソースが制御されます。 スタートパッド サービスは独自のユーザー アカウントで実行され、特定の登録済みランタイムの各サテライト プロセスはスタートパッドのユーザー アカウントを継承します。 サテライト プロセスは、実行時に要求に応じて作成および破棄されます。 ドメイン コントローラーとしても使われているコンピューターに SQL Server をインストールした場合、スタートパッドは使用するアカウントを作成できません。 そのため、ドメイン コントローラーでの R Services (データベース内) または Machine Learning サービス (データベース内) のセットアップは失敗します。 |
SQL Server PolyBase エンジン | 外部データ ソースに対する分散クエリ機能を提供します。 |
SQL Server PolyBase Data Movement Service | SQL Server と外部データ ソース間および PolyBase スケールアウト グループ内の SQL ノード間のデータ移動を有効にします。 |
SQL Server によってインストールされる CEIP サービス
カスタマー エクスペリエンス向上プログラム (CEIP) サービスは、利用統計情報を Microsoft に送り返します。
インストールするコンポーネントに応じて、SQL Server セットアップによって次の CEIP サービスがインストールされます。
サービス | 説明 |
---|---|
SQLTELEMETRY | データベース エンジンの利用統計情報を Microsoft に送り返すカスタマー エクスペリエンス向上プログラム。 |
SSASTELEMETRY | SSAS の利用統計情報を Microsoft に送り返すカスタマー エクスペリエンス向上プログラム。 |
SSISTELEMETRY | SSIS の利用統計情報を Microsoft に送り返すカスタマー エクスペリエンス向上プログラム。 |
サービスのプロパティと構成
SQL Server を開始して実行するために使用する開始アカウントは、ドメイン ユーザー アカウント、ローカル ユーザー アカウント、管理されたサービス アカウント、仮想アカウント、またはビルトイン システム アカウントのいずれでも可能です。 SQL Server の各サービスを開始して実行するには、インストール時に構成された開始アカウントが必要です。
Note
SQL Server 2016 (13.x) 以降の SQL Server フェールオーバー クラスター インスタンスでは、ドメイン ユーザー アカウントまたはグループマネージド サービス アカウントを SQL Server の開始アカウントとして使用できます。
このセクションでは、SQL Server サービスを開始するために構成できるアカウント、SQL Server セットアップで使用される既定値、サービスごとの SID の概念、スタートアップ オプション、およびファイアウォールの構成について説明します。
既定のサービス アカウント
次の表に、すべてのコンポーネントをインストールするときにセットアップで使用される既定のサービス アカウントを示します。 ここに示されている既定のアカウントは、特に断りがない限り、推奨のアカウントです。
スタンドアロン サーバーまたはドメイン コント ローラー
コンポーネント | Windows Server 2008 | Windows 7、Windows Server 2008 R2 以降 |
---|---|---|
データベース エンジン | ネットワーク サービス | 仮想アカウント 1 |
SQL Server エージェント | ネットワーク サービス | 仮想アカウント 1 |
SSAS | ネットワーク サービス | 仮想アカウント 1 2 |
SSIS | ネットワーク サービス | 仮想アカウント 1 |
SSRS | ネットワーク サービス | 仮想アカウント 1 |
SQL Server 分散再生コントローラー | ネットワーク サービス | 仮想アカウント 1 |
SQL Server 分散再生クライアント | ネットワーク サービス | 仮想アカウント 1 |
FD ランチャー (フルテキスト検索) | ローカル サービス | 仮想アカウント |
SQL Server Browser | ローカル サービス | ローカル サービス |
SQL Server VSS Writer | ローカル システム | ローカル システム |
Advanced Analytics Extensions | NTSERVICE\MSSQLLaunchpad | NTSERVICE\MSSQLLaunchpad |
PolyBase エンジン | ネットワーク サービス | ネットワーク サービス |
PolyBase Data Movement Service | ネットワーク サービス | ネットワーク サービス |
1 SQL Server コンピューターの外部のリソースが必要になる場合、Microsoft は、必要最小限の特権で構成された、管理されたサービス アカウント (MSA) を使用することをお勧めします。
2 ドメイン コントローラーにインストールする場合、サービス アカウントとしての仮想アカウントはサポートされません。
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 サービス コントロール マネージャーなどの他のツールでもアカウント名を変更できますが、すべての必要な設定の変更は行われません。
他の方法で SQL サービスのサービス アカウントを変更すると、予期しない動作やエラーが発生する可能性があります。 たとえば、Windows サービス アプレットを使って SQL エージェント サービス アカウントをドメイン アカウントに変更した場合、オペレーティング システム (Cmdexec)、レプリケーション、または SSIS ジョブ ステップを使う SQL エージェント ジョブが、次のようなエラーで失敗する可能性があります。
Executed as user : Domain\Account. The process could not be created for step Step Number of job Unique Job ID (reason: A required privilege is not held by the client). The step failed.
このエラーを解決するには、SQL Server 構成マネージャーを使って次のようにする必要があります。
- SQL エージェント サービス アカウントを既定の仮想アカウントに一時的に変更します (既定のインスタンス: NT Service\SQLSERVERAGENT。名前付きインスタンス: NT Service\SQLAGENT$<インスタンス名>。)
- SQL Server エージェント サービスを再起動します
- サービス アカウントを目的のドメイン アカウントに戻します
- SQL Server エージェント サービスを再起動します
SharePoint ファームに配置した Analysis Services インスタンスの場合、Power Pivot サービス アプリケーションと Analysis Services サービスのサーバー アカウントを変更するときは、必ず SharePoint サーバーの全体管理を使用するようにしてください。 サーバーの全体管理を使用すると、関連の設定と権限が更新され、新しいアカウント情報が使用されます。
Reporting Services オプションを変更するには、Reporting Services 構成ツールを使用します。
管理されたサービス アカウント、グループ管理サービス アカウント、仮想アカウント
管理されたサービス アカウント、グループ管理サービス アカウント、および仮想アカウントは、SQL Server などの重要なアプリケーションをアプリケーション独自のアカウントとは別に提供するために設計され、管理者はこれらのアカウントのサービス プリンシパル名 (SPN) や資格情報を手動で管理する必要はありません。 これらにより、サービス アカウントのユーザー、パスワード、SPN の長期的な管理は非常に簡単になります。
-
管理されたサービス アカウント (MSA) は、ドメイン コント ローラーによって作成および管理されるドメイン アカウントの一種です。 管理されたサービス アカウントは、サービスの実行に使用する 1 つのメンバー コンピューターに割り当てられます。 パスワードは、ドメイン コント ローラーによって自動的に管理されます。 MSA を使用してコンピューターにサインインすることはできませんが、コンピューターでは、MSA を使用して Windows サービスを開始することができます。 MSA では、servicePrincipalName の読み取りおよび書き込み権限が付与されている場合、Active Directory 内でサービス プリンシパル名 (SPN) を登録することができます。 MSA には、DOMAIN\ACCOUNTNAME$ など、
$
DOMAIN\ACCOUNTNAME$
サフィックスを伴う名前が付けられます。 MSA を指定する場合は、パスワードを空白のままにします。 MSA は、1 つのコンピューターに割り当てられているため、Windows クラスターの異なるノード上では使用できません。Note
MSA は、SQL Server セットアップが SQL Server サービスで使用する前に、ドメイン管理者が Active Directory に作成する必要があります。
-
グループ管理サービス アカウント (gMSA) は、複数サーバーのための MSA です。 Windows は、サーバーのグループで実行されているサービスのサービス アカウントを管理します。 Active Directory は、サービスを再起動することなくグループ管理サービス アカウントのパスワードを自動的に更新します。 グループ管理サービス アカウントのプリンシパルを使用するように SQL Server のサービスを構成できます。 SQL Server 2014 より、SQL Server はスタンドアロン インスタンスの、SQL Server 2016 以降ではフェールオーバー クラスター インスタンスと可用性グループの、グループ管理サービス アカウントをサポートします。
SQL Server 2014 以降に gMSA を使用するには、オペレーティング システムが Windows Server 2012 R2 以降である必要があります。 Windows Server 2012 R2 を搭載したサーバーでは、パスワード変更直後に中断することなくサービスがサインインできるようにするために、KB 2998082 を適用する必要があります。
詳細については、Windows Server 2016 以降のグループ管理サービス アカウントに関する記事を参照してください。 以前のバージョンの Windows Server については、グループ管理サービス アカウントに関する記事を参照してください。
Note
gMSA は、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
管理されたサービス アカウントと仮想アカウントの詳細については、「サービス アカウントのステップ バイ ステップ ガイド」の「管理されたサービス アカウントと仮想アカウントの概念」セクションと、「管理されたサービス アカウントに関してよく寄せられる質問 (FAQ)」をご覧ください。
Note
SQL Server サービスは、常に可能な限り最小のユーザー権限で実行してください。 可能な場合は、MSA、gMSA、または仮想アカウントを使用してください。 MSA、gMSA、および仮想アカウントを使用できない場合は、SQL Server サービス用の共有アカウントの代わりに、特権レベルの低い特定のユーザー アカウントまたはドメイン アカウントを使用します。 SQL Server サービスごとに個別のアカウントを使用します。 SQL Server サービス アカウントまたはサービス グループに追加の権限を付与しないでください。 権限は、グループのメンバーシップを通じて付与されるか、サービス SID がサポートされている場合にはサービス SID に直接付与されます。
自動起動
ユーザー アカウントに加え、各サービスには 3 種類の起動時の状態があります。これらの状態はユーザーによる制御が可能です。
- 無効。 サービスはインストールされていますが、現在は実行されていません。
- 手動。 サービスはインストールされていますが、起動されるのは、別のサービスまたはアプリケーションでその機能が必要な場合だけです。
- 自動。 サービスはオペレーティング システムによって自動的に起動されます。
起動時の状態は、セットアップ中に選択されます。 名前付きインスタンスをインストールする場合は、SQL Server Browser サービスが自動的に開始されるように設定する必要があります。
無人インストール中のサービスの構成
次の表に、インストール時に構成できる SQL Server サービスを示します。 自動インストールを行う場合は、構成ファイルまたはコマンド プロンプトでスイッチを使用できます。
SQL Server サービス名 | 無人インストールのスイッチ 1 |
---|---|
MSSQLSERVER | SQLSVCACCOUNT、SQLSVCPASSWORD、SQLSVCSTARTUPTYPE |
SQLServerAgent 2 | 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 |
R サービスまたは Machine Learning Services | EXTSVCACCOUNT、EXTSVCPASSWORD、ADVANCEDANALYTICS 3 |
PolyBase エンジン | PBENGSVCACCOUNT、PBENGSVCPASSWORD、PBENGSVCSTARTUPTYPE、PBDMSSVCACCOUNT、PBDMSSVCPASSWORD、PBDMSSVCSTARTUPTYPE、PBSCALEOUT、PBPORTRANGE |
1 無人インストールの詳細とサンプル構文については、「コマンド プロンプトからの SQL Server のインストール」をご覧ください。
2 SQL Server エージェント サービスは、SQL Server Express および SQL Server Express with Advanced Services のインスタンスで無効になっています。
3 スイッチだけによる Launchpad のアカウントの設定は、現在はサポートされていません。 アカウントおよび他のサービス設定を変更するには、SQL Server 構成マネージャーを使ってください。
ファイアウォール ポート
ほとんどの場合、データベース エンジンは、最初にインストールされると、SQL Server と同じコンピューターにインストールされている SQL Server Management Studio などのツールによって接続できます。 SQL Server セットアップでは、Windows ファイアウォールのポートが開きません。 データベース エンジンが TCP ポートでリッスンするように構成され、Windows ファイアウォールで接続用に適切なポートが開かれるまでは、他のコンピューターから接続できない場合があります。 詳細については、SQL Server アクセスを許可するための Windows ファイアウォールの構成に関する記事を参照してください。
サービスの権限
このセクションでは、SQL Server サービスのサービスごとの SID のために SQL Server セットアップで構成される権限について説明します。
- サービスの構成とアクセス制御
- Windows の特権および権限
- SQL Server のサービスごとの SID または SQL Server ローカル Windows グループに付与されるファイル システム権限
- 他の Windows ユーザー アカウントまたはグループに付与されるファイル システム権限
- 通常と異なるディスクの場所に関連するファイル システム権限
- その他の注意点の確認
- レジストリの権限
- WMI
- 名前付きパイプ
サービスの構成とアクセス制御
SQL Server の場合、各サービスに対してサービスごとの SID を使用することができます。これによって、サービスを分離し、多層防御を実現できます。 サービスごとの SID は、サービス名から取得されるので、そのサービスに固有です。 たとえば、データベース エンジン サービスの名前付きインスタンスのサービス SID 名は、NT Service\MSSQL$<instance_name>
となります。 サービスを分離すると、高い特権のアカウントを使用したり、オブジェクトのセキュリティ保護を弱めたりすることなく、特定のオブジェクトにアクセスできます。 サービス 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 のアクセス許可 (サービスとしてログオンする権限など) を変更する必要がありますが、サービスごとの SID は変更されていないので、ローカル Windows グループに割り当てられたアクセス許可は、更新することなく使用できます。 この方法により、アップグレード中に Analysis Services サービスの名前を変更できます。
SQL Server のインストール中に、SQL Server セットアップによって SSAS と SQL Server Browser サービスのローカル Windows グループが作成されます。 これらのサービスに対して、SQL Server はローカル Windows グループの ACL を構成します。
サービス構成に応じて、インストール時またはアップグレード時にサービスまたはサービス SID のサービス アカウントが、サービス グループのメンバーとして追加されます。
Windows の特権および権限
サービスを開始するために割り当てられているアカウントには、サービスを開始、停止、および一時停止するための権限が必要です。 SQL Server セットアップ プログラムはこれを自動的に割り当てます。 最初にリモート サーバー管理ツール (RSAT) をインストールします。 「Windows 10 用のリモート サーバー管理ツール」を参照してください。
次の表に、SQL Server コンポーネントが使用するサービスごとの SID またはローカル Windows グループに対して SQL Server セットアップが要求する権限を示します。
SQL Server サービス | SQL Server セットアップによって付与される権限 |
---|---|
SQL Server データベース エンジン: (すべての権限が、サービスごとの SID に付与されます。既定のインスタンス: NT SERVICE\MSSQLSERVER 。名前付きインスタンス: NT Service\MSSQL$<instance_name> 。) |
サービスとしてログオン (SeServiceLogonRight) プロセス レベル トークンを置き換える (SeAssignPrimaryTokenPrivilege) スキャン チェックを行わない (SeChangeNotifyPrivilege) プロセスに対してメモリ クォータを調整する (SeIncreaseQuotaPrivilege) SQL ライターを起動する権限 イベント ログ サービスを読み取る権限 リモート プロシージャ コール サービスを読み取る権限 |
SQL Server エージェント: 1 (すべての権限が、サービスごとの SID に付与されます。既定のインスタンス: NT Service\SQLSERVERAGENT 。名前付きインスタンス: NT Service\SQLAGENT$<instance_name> 。) |
サービスとしてログオン (SeServiceLogonRight) プロセス レベル トークンを置き換える (SeAssignPrimaryTokenPrivilege) スキャン チェックを行わない (SeChangeNotifyPrivilege) プロセスに対してメモリ クォータを調整する (SeIncreaseQuotaPrivilege) |
SSAS: (すべての権限は、ローカルの Windows グループに付与されます。既定のインスタンス: SQLServerMSASUser$<computer_name>$MSSQLSERVER 。名前付きインスタンス: SQLServerMSASUser$<computer_name>$<instance_name> 。Power Pivot for SharePoint インスタンス: SQLServerMSASUser$<computer_name>$PowerPivot 。) |
サービスとしてログオン (SeServiceLogonRight) テーブルのみ: [プロセス ワーキング セットの増加] (SeIncreaseWorkingSetPrivilege) プロセスに対してメモリ クォータを調整する (SeIncreaseQuotaPrivilege) メモリ内のページをロックする (SeLockMemoryPrivilege) - ページングが完全に無効になっている場合にのみ必要です。 フェールオーバー クラスター インストールのみ: スケジューリングでの優先度を上げる (SeIncreaseBasePriorityPrivilege) |
SSRS: (すべての権限が、サービスごとの SID に付与されます。既定のインスタンス: NT SERVICE\ReportServer 。名前付きインスタンス: NT SERVICE\ReportServer$<instance_name> 。) |
サービスとしてログオン (SeServiceLogonRight) |
SSIS: (すべての権限はサービスごとの SID に付与されます。既定のインスタンスと名前付きインスタンス: NT SERVICE\MsDtsServer150 。Integration Services には、名前付きインスタンスに対する個別のプロセスはありません。) |
サービスとしてログオン (SeServiceLogonRight) アプリケーション イベント ログに書き込む権限 スキャン チェックを行わない (SeChangeNotifyPrivilege) 認証後にクライアントを借用する (SeImpersonatePrivilege) |
フルテキスト検索: (すべての権限が、サービスごとの SID に付与されます。既定のインスタンス: NT Service\MSSQLFDLauncher 。名前付きインスタンス: NT Service\ MSSQLFDLauncher$<instance_name> 。) |
サービスとしてログオン (SeServiceLogonRight) プロセスに対してメモリ クォータを調整する (SeIncreaseQuotaPrivilege) スキャン チェックを行わない (SeChangeNotifyPrivilege) |
SQL Server Browser: (すべての権限は、ローカル Windows グループに付与されます。既定または名前付きインスタンス: SQLServer2005SQLBrowserUser$<computer_name> 。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) |
PolyBase エンジンと DMS: | サービスとしてログオン (SeServiceLogonRight) |
スタート パッド: | サービスとしてログオンします (SeServiceLogonRight) プロセス レベル トークンを置き換える (SeAssignPrimaryTokenPrivilege) スキャン チェックを行わない (SeChangeNotifyPrivilege) プロセスに対してメモリ クォータを調整する (SeIncreaseQuotaPrivilege) |
R Services/Machine Learning Services: SQLRUserGroup (SQL Server 2016 (13.x) および SQL Server 2017 (14.x)) | 既定では、 [ローカル ログオンを許可する] 権限がありません |
Machine Learning Services 'すべてのアプリケーション パッケージ' [AppContainer] (SQL Server 2019 (15.x)) | SQL Server 'Binn'、R_Services、および PYTHON_Services ディレクトリに対する読み取り権限と実行権限 |
1 SQL 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 | フル コントロール | |
150\shared | 読み取り、実行 | |
Instid\MSSQL\Template Data (SQL Server Express のみ) | Read | |
SQLServerAgent 1 | Instid\MSSQL\binn | フル コントロール |
Instid\MSSQL\Log | 読み取り、書き込み、削除、実行 | |
150\com | 読み取り、実行 | |
150\shared | 読み取り、実行 | |
150\shared\Errordumps | 読み取り、書き込み | |
ServerName\EventLog | フル コントロール | |
FTS | Instid\MSSQL\FTData | フル コントロール |
Instid\MSSQL\FTRef | 読み取り、実行 | |
150\shared | 読み取り、実行 | |
150\shared\Errordumps | 読み取り、書き込み | |
Instid\MSSQL\Install | 読み取り、実行 | |
Instid\MSSQL\jobs | 読み取り、書き込み | |
MSSQLServerOLAPService | 150\shared\ASConfig | フル コントロール |
Instid\OLAP | 読み取り、実行 | |
Instid\Olap\Data | フル コントロール | |
Instid\Olap\Log | 読み取り、書き込み | |
Instid\OLAP\Backup | 読み取り、書き込み | |
Instid\OLAP\Temp | 読み取り、書き込み | |
150\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\RSTempfiles | 読み取り、書き込み、実行、削除 | |
Instid\Reporting Services\RSWebApp | 読み取り、実行 | |
150\shared | 読み取り、実行 | |
150\shared\Errordumps | 読み取り、書き込み | |
MSDTSServer100 | 150\dts\binn\MsDtsSrvr.ini.xml | Read |
150\dts\binn | 読み取り、実行 | |
150\shared | 読み取り、実行 | |
150\shared\Errordumps | 読み取り、書き込み | |
SQL Server Browser | 150\shared\ASConfig | Read |
150\shared | 読み取り、実行 | |
150\shared\Errordumps | 読み取り、書き込み | |
SQLWriter | N/A (ローカル システムとして実行) | |
User | Instid\MSSQL\binn | 読み取り、実行 |
Instid\Reporting Services\ReportServer | 読み取り、実行、フォルダー内容の一覧表示 | |
Instid\Reporting Services\ReportServer\global.asax | Read | |
Instid\Reporting Services\RSWebApp | 読み取り、実行、フォルダー内容の一覧表示 | |
150\dts | 読み取り、実行 | |
150\tools | 読み取り、実行 | |
100\tools | 読み取り、実行 | |
90\tools | 読み取り、実行 | |
80\tools | 読み取り、実行 | |
150\sdk | Read | |
Microsoft SQL Server\150\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 | 読み取り、実行、フォルダー内容の一覧表示 | |
スタート パッド | %binn | 読み取り、実行 |
ExtensiblilityData | フル コントロール | |
Log\ExtensibilityLog | フル コントロール |
1 SQL Server エージェント サービスは、SQL Server Express および SQL Server Express with Advanced Services のインスタンスで無効になっています。
データベース ファイルをユーザー定義の場所に格納する場合は、サービスごとの SID にその場所へのアクセス権を付与する必要があります。 サービスごとの SID にファイル システム権限を付与する方法の詳細については、「 データベース エンジン アクセスのファイル システム権限の構成」をご覧ください。
他の Windows ユーザー アカウントまたはグループに付与されるファイル システム権限
ビルトイン アカウントや他の SQL Server サービス アカウントに、いくつかのアクセス制御権限を付与する必要がある場合があります。 次の表は、SQL Server セットアップによって追加設定される ACL を示しています。
要求元コンポーネント | Account | リソース | アクセス許可 |
---|---|---|---|
MSSQLServer | パフォーマンス ログ ユーザー | Instid\MSSQL\binn | フォルダー内容の一覧表示 |
パフォーマンス モニター ユーザー | Instid\MSSQL\binn | フォルダー内容の一覧表示 | |
パフォーマンス ログ ユーザー、パフォーマンス監視ユーザー | \WINNT\system32\sqlctr150.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\ReportServer | Read | |
レポート サーバー Windows サービス アカウント | <install>\Reporting Services\ReportServer\global.asax | [完全] | |
レポート サーバー Windows サービス アカウント | <install>\Reporting Services\RSWebApp | 読み取り、実行 | |
Everyone | <install>\Reporting Services\ReportServer\global.asax | READ_CONTROL FILE_READ_DATA FILE_READ_EA 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 またはユーザー データベースを通常とは異なる場所にインストールするときの追加の考慮事項について説明します。
既定以外のドライブ
既定のドライブではないローカル ドライブにインストールするときは、サービスごとの 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 エージェント サービス アカウントが SQL Server sysadmin 固定サーバー ロールのメンバーであることを確認します。
レジストリの権限
インスタンス対応のコンポーネントの場合は、HKLM\Software\Microsoft\Microsoft SQL Server\<Instance_ID>
の下にレジストリ ハイブが作成されます。 次に例を示します。
HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL15.MyInstance
HKLM\Software\Microsoft\Microsoft SQL Server\MSASSQL15.MyInstance
HKLM\Software\Microsoft\Microsoft SQL Server\MSSQL.150
このレジストリは、インスタンス ID とインスタンス名のマッピングも管理します。 インスタンス ID とインスタンス名のマッピングは次のようになります。
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\SQL] "InstanceName"="MSSQL15"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\OLAP] "InstanceName"="MSASSQL15"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\Instance Names\RS] "InstanceName"="MSRSSQL15"
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) とも呼ばれます) は、データベース エンジン ログインとしてプロビジョニングされます。 サービスごとの SID ログインは、 sysadmin 固定サーバー ロールのメンバーです。 サービスごとの SID の詳細については、「サービスの SID を使用して SQL Server のサービスにアクセス許可を付与する」を参照してください。
SQL Server エージェントのログインと特権
SQL Server エージェント サービスのサービスごとの SID は、データベース エンジン ログインとしてプロビジョニングされます。 サービスごとの SID ログインは、 sysadmin 固定サーバー ロールのメンバーです。
Always On 可用性グループと SQL フェールオーバー クラスターのインスタンスと特権
データベース エンジンを Always On 可用性グループまたは SQL フェールオーバー クラスター インスタンス (SQL FCI) としてインストールすると、LOCAL SYSTEM がデータベース エンジンでプロビジョニングされます。 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
アカウントがデータベース エンジン ログインとしてプロビジョニングされ、sysadmin 固定サーバー ロールに追加されます。
SSRS のプロビジョニング
セットアップ中に指定されたアカウントは、 RSExecRole データベース ロールのメンバーとして準備されます。 詳細については、「レポート サーバー サービス アカウントの構成 (SSRS 構成マネージャー)」を参照してください。
SSAS のプロビジョニング
SSAS サービス アカウント要件は、サーバーの配置方法によって異なります。 Power Pivot for SharePoint をインストールする場合、SQL Server セットアップでは、Analysis Services サービスをドメイン アカウントで実行するよう構成する必要があります。 ドメイン アカウントは、SharePoint に組み込まれている管理アカウント機能をサポートするために必要です。 このため、SQL Server セットアップでは、Power Pivot for SharePoint のインストールに仮想アカウントなどの既定のサービス アカウントは提供されません。 Power Pivot for SharePoint のプロビジョニングの詳細については、「Power Pivot サービス アカウントの構成」をご覧ください。
他のすべてのスタンドアロン SSAS インストールでは、サービスをプロビジョニングして、ドメイン アカウント、ビルトイン システム アカウント、マネージド アカウント、または仮想アカウントで実行することができます。 アカウント プロビジョニングの詳細については、「サービス アカウントの構成 (Analysis Services)」を参照してください。
クラスター化インストールでは、ドメイン アカウントまたはビルトイン システム アカウントを指定する必要があります。 SSAS フェールオーバー クラスターでは、マネージド アカウントと仮想アカウントのどちらもサポートされていません。
どの SSAS インストールでも、Analysis Services インスタンスのシステム管理者を指定する必要があります。 管理者特権は、Analysis Services の サーバー ロールで準備されます。
SSRS のプロビジョニング
セットアップ中に指定されたアカウントは、RSExecRole データベース ロールのメンバーとしてデータベース エンジンでプロビジョニングされます。 詳細については、「レポート サーバー サービス アカウントの構成 (SSRS 構成マネージャー)」を参照してください。
以前のバージョンからのアップグレード
このセクションでは、SQL Server の以前のバージョンからのアップグレード中に行われる変更について説明します。
SQL Server 2019 (15.x) には、サポートされているオペレーティング システムが必要になります。 下位バージョンのオペレーティング システムで実行されている、以前のバージョンの SQL Server では、SQL Server をアップグレードする前にオペレーティング システムをアップグレードする必要があります。
SQL Server 2005 (9.x) を SQL Server 2019 (15.x) にアップグレードするときに、セットアップによって 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 (10.0.x) からのアップグレード中に、SQL Server セットアップでは、SQL Server 2008 (10.0.x) のサービスごとの SID に対する ACE が保持されます。
SQL Server フェールオーバー クラスター インスタンスでは、サービスに構成されたドメイン アカウントの ACE が保持されます。
付録
このセクションでは、SQL Server サービスの追加情報について説明します。
サービス アカウントの説明
サービス アカウントは、SQL Server データベース エンジンなどの Windows サービスを開始するために使用されるアカウントです。 SQL Server を実行している場合、サービス SID は常に存在し、sysamin 固定サーバー ロールのメンバーなので、それに加えて、SQL Server へのログインとしてサービス アカウントを追加する必要はありません。
任意のオペレーティング システムで利用可能なアカウント
MSA、gMSA、仮想アカウントに加えて、次のアカウントを使用することができます。
サービスでネットワーク サービスを操作する必要がある場合は、ファイル共有と同様の方法でドメイン リソースにアクセスします。また、SQL Server を実行している他のコンピューターへのリンク サーバー接続が使用されている場合は、最小限の特権しかないドメイン アカウントを使用できます。 多くのサーバー間操作は、ドメイン ユーザー アカウントを使用しなければ実行できません。 このアカウントは、使用している環境のドメイン管理によって事前に作成されている必要があります。
SQL Server を構成してドメイン アカウントを使用する場合は、サービスの特権を分離することができますが、パスワードを手動で管理するか、これらのパスワードを管理するためのカスタム ソリューションを作成する必要があります。 多くのサーバー アプリケーションがこの方法を使用してセキュリティを強化していますが、この方法では管理対象が多くなり、より複雑になります。 これらの展開では、サービスの管理者はサービス パスワードや 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
SharePoint 統合モードの Analysis Services は、単一の名前付きインスタンスである 'Power Pivot' として実行されます。 インスタンス名は固定です。 別の名前を指定することはできません。 'Power Pivot' として実行される Analysis Services のインスタンスは、物理サーバーごとに 1 つだけインストールできます。
-
Reporting Services
フルテキスト検索
SQL Server では、インスタンス非対応サービスに次のようなものがあります。
- Integration Services
- SQL Server Browser
- SQL ライター
ローカライズされたサービス名
次の表は、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\СИСТЕМА |
BUILTIN\Администраторы |