Как предотвратить ошибку автоматического создания файла базы данных SQL Server Express? - PullRequest
1 голос
/ 11 января 2012

Когда я пытаюсь запустить приложение MVC 2 на своем локальном IIS 7, я получаю эту ошибку:

Не удалось создать пользовательский экземпляр SQL Server из-за сбоя при получении локального пользователяпуть к данным приложения.Убедитесь, что у пользователя есть локальный профиль пользователя на компьютере.Соединение будет закрыто.

Однако у меня нет ничего подключенного к SQL Server Express, и все строки подключения работают нормально, когда я работаю на локальном хосте.

В чем причина такой ошибки?Как я могу предотвратить это?

1 Ответ

0 голосов
/ 12 января 2012

Приложения ASP.NET, включая MVC 2, по умолчанию создают базу данных SQL Server для хранения пользователей и ролей.База данных называется ASPNETDB и хранится в папке App_Data. Если ее еще нет, ASP.NET попытается создать ее при запуске приложения.

Чтобы создать / открыть эту базу данных, пользовательский экземпляр SQL ServerЭкспресс используется.Чтобы запустить экземпляр пользователя, профиль пользователя должен быть загружен для текущего пользователя (в данном случае, под какой учетной записью работает пул приложений ASP.NET).Но конфигурация по умолчанию для пулов приложений IIS не загружает профиль пользователя, чтобы ограничить время запуска и экономит память.

Чтобы включить загрузку профиля пользователя для пула приложений, перейдите к его конфигурации в диспетчере IIS и найдите Загрузить профиль пользователя переключиться в Дополнительные параметры.Установите для него значение true , и оно должно работать.

Если вы предпочитаете не использовать пользовательские экземпляры и не загружать профиль пользователя, вы можете использовать другую базу данных для пользователей и ролей вашего приложения.Просто зайдите в IIS Manager снова, найдите свой веб-сайт и найдите раздел Строки подключения в конфигурации ASP.NET.Могу поспорить, что вы увидите строку подключения под названием LocalSqlServer там.Просто обновите его, чтобы указать базу данных, которую вы хотите использовать.Вы можете увидеть этот поток , чтобы узнать, как создать новую базу данных ASPNETDB.Если вы создадите его на главном экземпляре SQL Server, вам не потребуется профиль для подключения - просто создайте имя входа в SQL Server и убедитесь, что строка подключения его использует.

...