Я использую бета-версию Windows 7 и пытаюсь установить веб-приложение локально. Этот веб-сайт использует Microsoft SQL Server 2005 Экспресс (SQLEXPRESS) и файл MDB в папке ~ / App_Data веб-сайта. Мне было поручено настроить IIS7 для использования Классический пул приложений .NET для этого веб-приложения.
Каждый раз при загрузке веб-сайта я получаю следующую ошибку:
Произошла ошибка при попытке подключиться к серверу базы данных: не удалось создать пользовательский экземпляр SQL Server из-за сбоя при получении пути к данным локального приложения пользователя. Убедитесь, что у пользователя есть локальный профиль пользователя на компьютере. Соединение будет закрыто.
В Интернете полно статей, написанных на эту тему. Преобладает мудрость:
Ни одно из этих исправлений не оказало никакого влияния. Я часами возился с разрешениями и настройками, но безрезультатно. Может ли кто-нибудь предложить решение или помочь мне понять, как получить более подробную информацию о проблеме.
В IIS под Windows 7 выберите пул приложений, а затем «дополнительные настройки». В разделе «модель процесса» найдите «Загрузить профиль пользователя» и установите для него значение true.
Теперь SQL должен загружаться под учетной записью пула приложений по умолчанию.
Брайан,
Чтобы все это имело смысл, сначала взгляните на список процессов для всех пользователей в диспетчере задач.
w3wp.exe - это новый рабочий процесс WWW. Он запускается в изолированной программной среде безопасности с использованием разрешений пользователя DefaultAppPool.
Раньше вместо пользователя DefaultAppPool это были пользователи IUSR и IWAM (см. Для чего нужны учетные записи IUSR и IWAM в IIS? ).
При использовании поставщика членства в SQL процесс w3wp.exe запускает пользовательский экземпляр SQL Server и присоединяется к базе данных, указанной в строке подключения, обычно это App_Data / ASPNETdb.mdf. Для запуска пользовательского экземпляра SQL Server требуется локальный профиль, чтобы временным файлам было куда идти.
Шаги по устранению неполадок:
exec sp_configure 'user instances enabled'
sp_configure 'user instances enabled', 1
затем: перенастроитьSELECT
owning_principal_name, instance_pipe_name, heart_beat
FROM
sys.dm_os_child_instances
У меня были те же проблемы на моей рабочей станции, но никогда на сервере.
Это временное исправление, которое я нашел некоторое время назад в Интернете, и, похоже, оно работает:
В редакторе запросов введите: exec sp_configure 'пользовательские экземпляры включены', 1 затем: Перенастроить
Затем перезапустите базу данных SQL Server.
нашел это ссылка на сайт Cегодня
и после быстрого поиска в StackOverflow https://stackoverflow.com/questions/281500/error-failed-to-generate-a-user-instance-of-sql-server