ローカル IIS に載せた ASP.NET の認証用DB(SQL Server)が見えない?(見えます)
ASP.NET の ユーザー認証用に作る SQL Server の DB(Windows 認証で繋ぐ) が Visual Studio から見えないんだけど…という質問をされました。
SQL Server 的には、ログインしたユーザーが権限あれば DB 見れると回答したのですが、念のため試してみました。
- 接続先の db を localdb で(プロジェクトのテンプレート デフォルト) VS から実行。 (IIS Express)
- SQL Server オブジェクトエクスプローラー から見える
- 接続先の db を ローカルの SQL Server 2014 にして VS から実行。(IIS Express)
- SQL Server オブジェクトエクスプローラー から見える
- 接続先の db を ローカルの SQL Server 2014 にして ローカルIIS に配置してから実行。
- アプリがこける。ユーザー'IIS APPPOOL\DefaultAppPool' はログインできませんでした'
- 'IIS APPPOOL\DefaultAppPool' をログイン & 権限与えてから実行。
- アプリ動かすと DB が作成されて、それが Visual Studio や SSMS で見えた
ログインと権限はこんな感じ。面倒なんで sysadmin で。
USE [master] GO CREATE LOGIN [IIS APPPOOL\DefaultAppPool] FROM WINDOWS WITH DEFAULT_DATABASE=[master] GO ALTER SERVER ROLE [sysadmin] ADD MEMBER [IIS APPPOOL\DefaultAppPool] GO
質問された方の環境では VS や SSMS(SQL Server Management Studio) から繋ぐときに、権限が少ないユーザーで繋いでる?
どうなんでしょうかね~。