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

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

コンテンツ

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

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

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

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

      • アカウント プロパティの変更
    • Windows 7 と Windows Server 2008 R2 で利用可能な新しいアカウントの種類

    • 自動起動

    • 無人インストール中のサービスの構成

    • ファイアウォール ポート

  • サービスの権限

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

    • Windows の特権および権限

    • SQL Server のサービスごとの SID またはローカル Windows グループに付与されるファイル システム権限

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

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

    • その他の注意点の確認

    • レジストリの権限

    • WMI

    • 名前付きパイプ

  • 準備

    • データベース エンジンの準備

      • Windows プリンシパル

      • sa アカウント

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

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

      • HADRON および SQL フェールオーバー クラスター インスタンスと特権

      • SQL ライターと特権

      • SQL WMI と特権

    • SSAS の準備

    • SSRS の準備

  • 以前のバージョンからアップグレード

  • 付録

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

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

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

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>\110\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 Controller   複数の Distributed Replay クライアント コンピューターにトレース再生オーケストレーションを提供します。

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

このページのトップへ

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

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

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

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

  • 自動起動

  • サービスのスタートアップの種類の構成

  • ファイアウォール ポート

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

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

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

コンポーネント

Windows Vista およびWindows Server 2008

Windows 7 および Windows Server 2008 R2

データベース エンジン

NETWORK SERVICE

仮想アカウント*

SQL Server エージェント

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

データベース エンジン

ありません。 ドメイン ユーザー アカウントを提供します。

ドメイン ユーザー アカウントを提供します。

SQL Server エージェント

ありません。 ドメイン ユーザー アカウントを提供します。

ドメイン ユーザー アカウントを提供します。

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 構成マネージャーなど) を必ず使用してください。 SQL Server 構成マネージャーでは、アカウント名の変更だけでなく、データベース エンジン サービス マスター キーを保護する Windows ローカル セキュリティ ストアの更新など、付加的な構成も行うことができます。 Windows サービス コントロール マネージャーなどの他のツールでもアカウント名を変更できますが、必要なすべての設定を変更することはできません。

  • SharePoint ファームに配置した Analysis Services インスタンスの場合、PowerPivot サービス アプリケーションと Analysis Services サービスのサーバー アカウントを変更するときは、必ず SharePoint サーバーの全体管理を使用するようにしてください。 サーバーの全体管理を使用すると、関連の設定と権限が更新され、新しいアカウント情報が使用されます。

  • Reporting Services オプションを変更するには、Reporting Services 構成ツールを使用します。

このページのトップへ

Windows 7 と Windows Server 2008 R2 で利用可能な新しいアカウントの種類

Windows 7 と Windows Server 2008 R2 には、管理されたサービス アカウント (MSA) と仮想アカウントという 2 つの新しい種類のサービス アカウントがあります。管理されたサービス アカウントと仮想アカウントは、管理者がこれらのアカウントのサービス プリンシパル名 (SPN) や資格情報を手動で管理する必要をなくし、アカウントとは別に SQL Server などの重要なアプリケーションを提供するために設計されています。 これらにより、サービス アカウントのユーザー、パスワード、SPN の長期的な管理は非常に簡単になります。

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

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

    注意

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

    注意

    グループ管理サービス アカウントは、現在サポートされていません。

  • 仮想アカウント

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

    注意

    仮想アカウントは、クラスターの各ノードで同じ 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)」を参照してください。

セキュリティ上の注意:  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 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 2012 のインストール」を参照してください。

2 SQL 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 セットアップで構成される権限について説明します。

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

  • Windows の特権および権限

  • SQL Server のサービスごとの SID または SQL Server ローカル Windows グループに付与されるファイル システム権限

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

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

  • その他の注意点の確認

  • レジストリの権限

  • WMI

  • 名前付きパイプ

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

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

注意

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 のローカル Windows グループと SQL Server Browser サービスを作成します。 これらのサービスに対して、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$PowerPivot。 PowerPivot for SharePoint インスタンスSQLServerMSASUser$ComputerName$PowerPivot。)

サービスとしてログオン (SeServiceLogonRight)

表形式の場合のみ:

プロセス ワーキング セットを増やす (SeIncreaseWorkingSetPrivilege)

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

メモリ内のページをロックする (SeLockMemoryPrivilege) – これが必要なのはページングが完全にオフの場合のみです。

フェールオーバー クラスター インストールの場合のみ:

優先度のスケジュール設定を高くする (SeIncreaseBasePriorityPrivilege)

SSRS:

(すべての権限が、サービスごとの SID に付与されます。 既定のインスタンス:NT SERVICE\ReportServer。 名前付きインスタンス:NT SERVICE\$InstanceName。)

サービスとしてログオン (SeServiceLogonRight)

SSIS:

(すべての権限が、サービスごとの SID に付与されます。 既定のインスタンスおよび名前付きインスタンス:NT SERVICE\MsDtsServer110。 Integration Services には名前付きインスタンスに対する個別のプロセスはありません)

サービスとしてログオン (SeServiceLogonRight)

アプリケーション イベント ログに書き込む権限

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

認証後にクライアントを借用する (SeImpersonatePrivilege)

フルテキスト検索:

(すべての権限が、サービスごとの SID に付与されます。 既定のインスタンス:NT Service\MSSQLFDLauncher。 名前付きインスタンス:NT Service\ MSSQLFDLauncher$InstanceName。)

サービスとしてログオン (SeServiceLogonRight)

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

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

SQL Server ブラウザー:

(すべての権限が、ローカル 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 Distributed Replay Controller:

サービスとしてログオン (SeServiceLogonRight)

SQL Server Distributed Replay Client:

サービスとしてログオン (SeServiceLogonRight)

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

フル コントロール

 

110\shared

読み取り、実行

 

Instid\MSSQL\Template Data (SQL Server Express のみ)

読み取り

SQLServerAgent1

Instid\MSSQL\binn

フル コントロール

 

Instid\MSSQL\binn

フル コントロール

 

Instid\MSSQL\Log

読み取り、書き込み、削除、実行

 

110\com

読み取り、実行

 

110\shared

読み取り、実行

 

110\shared\Errordumps

読み取り、書き込み

ServerName\EventLog

フル コントロール

FTS

Instid\MSSQL\FTData

フル コントロール

 

Instid\MSSQL\FTRef

読み取り、実行

 

110\shared

読み取り、実行

 

110\shared\Errordumps

読み取り、書き込み

 

Instid\MSSQL\Install

読み取り、実行

Instid\MSSQL\jobs

読み取り、書き込み

MSSQLServerOLAPservice

110\shared\ASConfig

フル コントロール

 

Instid\OLAP

読み取り、実行

 

Instid\Olap\Data

フル コントロール

 

Instid\Olap\Log

読み取り、書き込み

 

Instid\OLAP\Backup

読み取り、書き込み

 

Instid\OLAP\Temp

読み取り、書き込み

 

110\shared\Errordumps

読み取り、書き込み

SQLServerReportServerUser

Instid\Reporting Services\Log Files

読み取り、書き込み、削除

 

Instid\Reporting Services\ReportServer

読み取り、実行

 

Instid\Reportingservices\Reportserver\global.asax

フル コントロール

 

Instid\Reportingservices\Reportserver\Reportserver.config

読み取り

 

Instid\Reporting Services\reportManager

読み取り、実行

 

Instid\Reporting Services\RSTempfiles

読み取り、書き込み、実行、削除

 

110\shared

読み取り、実行

 

110\shared\Errordumps

読み取り、書き込み

MSDTSServer100

110\dts\binn\MsDtsSrvr.ini.xml

読み取り

 

110\dts\binn

読み取り、実行

 

110\shared

読み取り、実行

 

110\shared\Errordumps

読み取り、書き込み

SQL Server Browser

110\shared\ASConfig

読み取り

 

110\shared

読み取り、実行

 

110\shared\Errordumps

読み取り、書き込み

SQLWriter

N/A (ローカル システムとして実行)

 

ユーザー

Instid\MSSQL\binn

読み取り、実行

 

Instid\Reporting Services\ReportServer

読み取り、実行、フォルダー内容の一覧表示

 

Instid\Reportingservices\Reportserver\global.asax

読み取り

 

Instid\Reporting Services\ReportManager

読み取り、実行

 

Instid\Reporting Services\ReportManager\pages

読み取り

 

Instid\Reporting Services\ReportManager\Styles

読み取り

 

110\dts

読み取り、実行

 

110\tools

読み取り、実行

100\tools

読み取り、実行

 

90\tools

読み取り、実行

 

80\tools

読み取り、実行

 

110\sdk

読み取り

 

Microsoft SQL Server\110\Setup Bootstrap

読み取り、実行

SQL Server 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

読み取り、実行、フォルダー内容の一覧表示

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

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

このページのトップへ

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

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

要求元コンポーネント

アカウント

Resource

権限

MSSQLServer

パフォーマンス ログ ユーザー

Instid\MSSQL\binn

フォルダー内容の一覧表示

 

Performance Monitor Users

Instid\MSSQL\binn

フォルダー内容の一覧表示

 

パフォーマンス ログ ユーザー、パフォーマンス監視ユーザー

\WINNT\system32\sqlctr110.dll

読み取り、実行

 

管理者のみ

\\. \root\Microsoft\SqlServer\ServerEvents\<sql_instance_name>1

フル コントロール

 

管理者、システム

\tools\binn\schemas\sqlserver\2004\07\showplan

フル コントロール

 

Users

\tools\binn\schemas\sqlserver\2004\07\showplan

読み取り、実行

Reporting Services

<レポート サーバー Web サービス アカウント>

<install>\Reporting Services\LogFiles

DELETE

READ_CONTROL

SYNCHRONIZE

FILE_GENERIC_READ

FILE_GENERIC_WRITE

FILE_READ_DATA

FILE_WRITE_DATA

FILE_APPEND_DATA

FILE_READ_EA

FILE_WRITE_EA

FILE_READ_ATTRIBUTES

FILE_WRITE_ATTRIBUTES

 

レポート マネージャー アプリケーション プールの ID、ASP.NET アカウント、Everyone

<install>\Reporting Services\ReportManager、<install>\Reporting Services\ReportManager\Pages\*.*、<install>\Reporting Services\ReportManager\Styles\*.*、<install>\Reporting Services\ReportManager\webctrl_client\1_0\*.*

読み取り

 

レポート マネージャー アプリケーション プールの ID

<install>\Reporting Services\ReportManager\Pages\*.*

読み取り

 

<レポート サーバー Web サービス アカウント>

<install>\Reporting Services\ReportServer

読み取り

 

<レポート サーバー Web サービス アカウント>

<install>\Reporting Services\ReportServer\global.asax

Full

 

Everyone

<install>\Reporting Services\ReportServer\global.asax

READ_CONTROL

FILE_READ_DATA

FILE_READ_EA

FILE_READ_ATTRIBUTES

 

ネットワーク サービス

<install>\Reporting Services\ReportServer\ReportService.asmx

Full

 

Everyone

<install>\Reporting Services\ReportServer\ReportService.asmx

READ_CONTROL

SYNCHRONIZE FILE_GENERIC_READ

FILE_GENERIC_EXECUTE

FILE_READ_DATA

FILE_READ_EA

FILE_EXECUTE

FILE_READ_ATTRIBUTES

 

ReportServer Windows サービス アカウント

<Install>\Reporting Services\ReportServer\RSReportServer.config

DELETE

READ_CONTROL

SYNCHRONIZE

FILE_GENERIC_READ

FILE_GENERIC_WRITE

FILE_READ_DATA

FILE_WRITE_DATA

FILE_APPEND_DATA

FILE_READ_EA

FILE_WRITE_EA

FILE_READ_ATTRIBUTES

FILE_WRITE_ATTRIBUTES

 

Everyone

レポート サーバー キー (Instid ハイブ)

値のクエリ

サブキーの列挙

通知

読み取り制御

 

ターミナル サービス ユーザー

レポート サーバー キー (Instid ハイブ)

値のクエリ

値の設定

サブキーの作成

サブキーの列挙

通知

Delete

読み取り制御

 

パワー ユーザー

レポート サーバー キー (Instid ハイブ)

値のクエリ

値の設定

サブキーの作成

サブキーの列挙

通知

Delete

読み取り制御

1 これは WMI プロバイダーの名前空間です。

このページのトップへ

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

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

既定以外のドライブ

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

ネットワーク共有

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

注意

仮想アカウントでは、リモートの場所へアクセスすることはできません。 どの仮想アカウントも、コンピューター アカウントの権限を使用します。 <domain_name>\<computer_name>$ の形式でコンピューター アカウントを準備してください。

その他の注意点の確認

次の表は、SQL Server サービスが追加の機能を提供するために必要な権限を示しています。

サービスまたはアプリケーション

機能

必要な権限

SQL Server (MSSQLSERVER)

xp_sendmail を使用してメール スロットに書き込みます。

ネットワーク書き込み権限。

SQL Server (MSSQLSERVER)

SQL Server 管理者以外のユーザーのために xp_cmdshell を実行します。

オペレーティング システムの一部としての動作しプロセス レベル トークンを置き換える権限。

SQL Server エージェント (MSSQLSERVER)

再起動の自動化機能を使用します。

Administrators ローカル グループのメンバーである必要があります。

データベース エンジン チューニング アドバイザー

最適なクエリ パフォーマンスを得るようにデータベースをチューニングします。

初めて使用する場合は、システム管理者の資格情報を持つユーザーがアプリケーションを初期化する必要があります。 初期化後は、dbo ユーザーがデータベース エンジン チューニング アドバイザーを使用して、所有するテーブルのみをチューニングできます。 詳細については、SQL Server オンライン ブックの「データベース エンジン チューニング アドバイザーの初期化」を参照してください。

重要な注意事項重要

SQL Server をアップグレードする前に、SQL Server エージェントの Windows 認証を有効にし必要な既定の構成を確認します。つまり、SQL Server エージェントのサービス アカウントが SQL Server sysadmin グループのメンバーであることを確認します。

このページのトップへ

レジストリの権限

インスタンス対応のコンポーネントの場合は、HKLM\Software\Microsoft\Microsoft SQL Server\<Instance_ID> の下にレジストリ ハイブが作成されます。 次に例を示します。

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

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

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

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

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

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

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

WMI

Windows Management Instrumentation (WMI) は、データベース エンジンに接続できる必要があります。 これをサポートするには、Windows WMI プロバイダーのサービスごとの 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 コンポーネント内でアカウントが準備されるしくみについて説明します。

  • データベース エンジンの準備

    • Windows プリンシパル

    • sa アカウント

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

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

    • HADRON および SQL フェールオーバー クラスター インスタンスと特権

    • SQL ライターと特権

    • SQL WMI と特権

  • SSAS の準備

  • SSRS の準備

データベース エンジンの準備

次のアカウントは、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 固定サーバー ロールのメンバーです。

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

データベース エンジンを AlwaysOn 可用性グループ または SQL フェールオーバー クラスター インスタンス (SQL FCI) としてインストールすると、LOCAL SYSTEM がデータベース エンジンに準備されます。 LOCAL SYSTEM ログインには、ALTER ANY AVAILABILITY GROUP 権限 (AlwaysOn 可用性グループ に対して) および VIEW SERVER STATE 権限 (SQL FCI に対して) が付与されます。

SQL ライターと特権

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

SQL WMI と特権

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

SSRS の準備

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

このページのトップへ

SSAS の準備

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

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

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

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

SSRS の準備

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

このページのトップへ

以前のバージョンからアップグレード

ここでは、SQL Server の以前のバージョンからのアップグレード中に行われる変更について説明します。

  • SQL Server 2012 には、Windows Vista、Windows 7、Windows Server 2008、または Windows Server 2008 R2 が必要です。 Windows XP または Windows Server 2003 で実行されている、以前のバージョンの SQL Server では、SQL Server をアップグレードする前にオペレーティング システムをアップグレードする必要があります。

  • SQL Server 2005 から SQL Server 2012 へのアップグレード中、SQL Server セットアップは次の方法で SQL Server を構成します。

    • データベース エンジンは、サービスごとの 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 を実行している他のコンピューターへのリンク サーバー接続をサービスで使用している場合は、最小限の特権しかないドメイン アカウントを使用できます。 多くのサーバー間操作は、ドメイン ユーザー アカウントを使用しなければ実行できません。 このアカウントは、使用している環境のドメイン管理によって事前に作成されている必要があります。

注意

アプリケーションを構成してドメイン アカウントを使用する場合は、アプリケーションの特権を分離することができますが、パスワードを手動で管理するか、これらのパスワードを管理するためのカスタム ソリューションを作成する必要があります。 多くのサーバー アプリケーションがこの方法を使用してセキュリティを強化していますが、この方法では管理対象が多くなり、より複雑になります。 このような配置では、サービス管理者は、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 ライター

1 SharePoint 統合モードでの Analysis Services は、単一の名前付きインスタンスである PowerPivot として実行されます。 インスタンス名は固定です。 別の名前を指定することはできません。 PowerPivot として実行される Analysis Services のインスタンスは、物理サーバーごとに 1 つだけインストールできます。

このページのトップへ

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

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

言語

ローカル サービスの名前

ネットワーク サービスの名前

ローカル システムの名前

admin グループの名前

英語

簡体字中国語

繁体字中国語

韓国語

日本語

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 の既定のインスタンスおよび名前付きインスタンスのファイルの場所

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