LoginSignup
1
2

More than 5 years have passed since last update.

SQL ServerのFileTableへWebアプリを介してファイルパスでアクセスする場合の注意

Last updated at Posted at 2017-06-01

SQL ServerのFileTableはファイル自体は共有フォルダへ配置し、それがテーブルのレコードとして管理できる機能です。
ファイルパス指定で簡単にアクセスできるのが便利なのですが、ASP.NETを介してファイルパス指定を行う際、権限周りの設定で苦労したので備忘として記載します。

前提

ファイルパス指定でアクセスする場合の権限は、SQL Serverのユーザ権限に準じます。orangeleafさんの投稿に詳細は記載されています。
 FileTableの共有フォルダーにアクセス権を付与する

はまったこと

Webアプリ(ここではASP.NET)を介してFileTableへアクセスする場合は、Webサーバのプロセスを実行しているユーザへ、SQL Serverでの権限がないとアクセスできません。
IISだと実行ユーザは、下記yuyadayoさんの投稿の通りデフォルトApplicationPoolIdentityの設定となっていてアプリケーションプールとなります。
 クリスマスプレゼント もとい IIS

対応したこと(IISのケース)

プロセスのユーザをSQL Serverの権限があるWindowsユーザにすればよいのですが、わざわざFileTableのアクセスの為に実行ユーザを変えるのも微妙なので、アプリケーションプールに対してSQL Serverの権限を付与します。
下記のstackoverflowでの投稿の通り、権限設定でアプリケーションプール名を直書きすることで追加可能です。
 Add IIS 7 AppPool Identities as SQL Server Logons

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2