読者です 読者をやめる 読者になる 読者になる

ローカル IIS に載せた ASP.NET の認証用DB(SQL Server)が見えない?(見えます)

ASP.NET の ユーザー認証用に作る SQL Server の DB(Windows 認証で繋ぐ) が Visual Studio から見えないんだけど…という質問をされました。
SQL Server 的には、ログインしたユーザーが権限あれば DB 見れると回答したのですが、念のため試してみました。

  • 接続先の db を localdb で(プロジェクトのテンプレート デフォルト) VS から実行。 (IIS Express)
  • 接続先の db を ローカルの SQL Server 2014 にして VS から実行。(IIS Express)
  • 接続先の 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) から繋ぐときに、権限が少ないユーザーで繋いでる?
どうなんでしょうかね~。