Ошибка входа для пользователя "IIS APPPOOL\myAppPool
У меня есть следующее сообщение об ошибке:
Невозможно открыть базу данных "SmallBakery", запрошенную при входе в систему. Ошибка входа в систему. Ошибка входа для пользователя "IIS APPPOOL\MyAppPool"
Как это исправить? Я использую Windows 7 Enterprise Edition и Sql server 2012.
Ответы
Ответ 1
Если вы не измените, каждый пул приложений будет иметь свою личность. В вашем случае просто добавьте нового пользователя в свою базу данных SmallBakery
с именем IIS APPPOOL\MyAppPool
, используя SQL Management Studio. Вы найдете список пользователей в поддиапазоне "Безопасность/Пользователи" вашей базы данных. Это должно выглядеть примерно так:
![enter image description here]()
Для тестирования пусть пользователь входит в роль db_owner
. Если это сработает, удалите эту роль и просто позвольте ей быть членом db_datareader
и db_datawriter
.
Таким образом, каждый пул приложений (возможно, каждый веб-сайт, если все они используют собственный пул приложений), имеет доступ только к соответствующей базе данных.
Ответ 2
Это зависит от того, как вы хотите аутентифицироваться в своем приложении. Вы пытаетесь использовать олицетворение в своем приложении?
Что происходит сейчас, так это то, что идентификатор вашего пула приложений в IIS передается при попытке доступа к базе данных. Вы можете изменить личность своего пула приложений на то, что имеет доступ к базе данных, или вы можете изменить строку подключения для использования определенного входа вместо интегрированной безопасности.
Ответ 3
Отметьте этот пост. Ваша проблема звучит так же, как и у меня, с тем же точным сообщением об ошибке.
http://blogs.msdn.com/b/sqlexpress/archive/2011/12/09/using-localdb-with-full-iis-part-2-instance-ownership.aspx
Ответ 4
Как и другие пользователи, вам нужно взять пользователя системы приложений (IIS AppPool\myapppool) и добавить его в качестве пользователя базы данных для этой базы данных с соответствующими разрешениями.
Обратите внимание, что это будет работать только на вашем IIS/Server, но если вы планируете переносить приложение на другой сервер IIS/Sql, это потребует изменений как в SQL Server, так и в IIS. Id предлагает вам также рассмотреть аутентификацию SQL-сервера - это может быть более удобно для вашего конкретного случая.