データベース エンジン アクセスのファイル システム権限の構成
適用対象: SQL Server - Windows のみ
この記事では SQL Server Database Engine ファイル システムにデータベース ファイルの格納場所へのアクセス権を付与する方法について説明します。 データベース エンジン サービスには、データベース ファイルが格納されているファイル フォルダーにアクセスする Windows ファイル システムのアクセス許可が必要です。 既定の場所への権限は、セットアップ中に構成されます。 データベース ファイルを別の場所に配置する場合は、次の手順に従って、その場所へのフル コントロール権限をデータベース エンジンに付与する必要があります。
SQL Server 2012 (11.x) 以降のバージョンでは、権限は各サービスのサービスごとのセキュリティ識別子 (SID) に割り当てられます。 このシステムはサービスの分離と多層防御を提供するのに役立ちます。 サービスごとの SID はサービス名から取得され、各サービスに固有です。 「Windows サービス アカウントと権限の構成」の記事にサービスごとの SID についての記載があり、「Windows の特権および権限」セクションでは、名前を確認することができます。 サービスごとの SID に対して、ファイルの場所へのアクセス権を割り当てる必要があります。
サービスごとの SID へのファイル システム権限の付与
エクスプローラーを使用して、データベース ファイルが格納されているファイル システムの場所に移動します。 ファイル システム フォルダーを右クリックし、 [プロパティ] を選択します。
[セキュリティ] タブで、 [編集] 、 [追加] の順に選択します。
[ユーザー、コンピューター、サービス アカウント、またはグループの選択] ダイアログ ボックスで、場所リストの上部にある [場所] を選択し、ご自身のコンピューター名、 [OK] の順に選択します。
[追加するオブジェクト名の入力] ボックスに、サービスごとの SID の名前を入力します。 これを特定するには、「Windows サービス アカウントと権限の構成」を参照してください。 (データベース エンジンのサービスごとの SID の名前には、既定のインスタンスには
NT SERVICE\MSSQLSERVER
、名前付きインスタンスにはNT SERVICE\MSSQL$<InstanceName>
を使用します)。[名前の確認] を選択して、このエントリを検証します (検証に失敗した場合は、その名前が見つからなかったと示される場合があります。[OK] を選択すると、[複数の名前が見つかりました] ダイアログ ボックスが表示されます。ここで、サービスごとの SID 名 (
NT SERVICE\MSSQLSERVER
またはNT SERVICE\MSSQL$<InstanceName>
) を選択し、[OK] を選択します。もう一度 [OK] を選択して、[アクセス許可] ダイアログ ボックスに戻ります)。[グループまたはユーザー名] ボックスで、サービスごとの SID 名を選択します。[<名前>のアクセス許可] ボックスで、[フル コントロール] の [許可] チェック ボックスをオンにします。
[適用] を選択し、 [OK] を 2 回選択して終了します。