Estou usando o Windows 7 Beta e tentando instalar um aplicativo Web localmente. Este site usa o Microsoft SQL Server 2005 Express (SQLEXPRESS) e um arquivo MDB na pasta ~ / App_Data do site. Fui instruído a configurar o IIS7 para usar o Classic .NET AppPool para este aplicativo Web.
Sempre que o site é carregado, eu recebo o seguinte erro:
Ocorreu um erro ao tentar conectar-se ao servidor de banco de dados: falha ao gerar uma instância de usuário do SQL Server devido a falha na recuperação do caminho de dados do aplicativo local do usuário. Verifique se o usuário possui um perfil de usuário local no computador. A conexão será fechada.
A Internet está cheia de artigos escritos sobre esse assunto. A sabedoria predominante parece ser:
- Configure o serviço SQL Express para usar a conta do sistema local .
- Exclua o seguinte diretório: C: \ Users \ nome de usuário \ AppData \ Microsoft \ Microsoft SQL Server Data \ SQLEXPRESS
Nenhuma dessas correções causou impacto. Eu consertei as permissões e as configurações por horas sem sucesso. Alguém pode sugerir uma correção ou me ajudar a entender como obter informações mais detalhadas sobre o problema.
Respostas:
No IIS no Windows 7, selecione o pool de aplicativos e, em seguida, "configurações avançadas". Em "modelo de processo", localize "Carregar perfil de usuário" e defina-o como verdadeiro.
O SQL agora deve carregar na conta do pool de aplicativos padrão.
fonte
Eu tive os mesmos problemas na minha estação de trabalho, mas nunca em um servidor.
Esta é uma correção temporária que encontrei há algum tempo na Web e parece funcionar:
No editor de consultas, digite: exec sp_configure 'user instance enabled', 1 then: Reconfigure
Em seguida, reinicie o banco de dados do SQL Server.
encontrou este link hoje
e depois de uma pesquisa rápida no StackOverflow /programming/281500/error-failed-to-generate-a-user-instance-of-sql-server
fonte
Brian,
Para que tudo isso faça sentido, verifique primeiro a lista de processos para todos os usuários no Gerenciador de tarefas.
O w3wp.exe é o novo processo de trabalho da WWW. É executado em uma sandbox de segurança usando as permissões de um usuário chamado DefaultAppPool.
Antigamente, em vez do usuário do DefaultAppPool, seriam usuários IUSR e IWAM (consulte O que são as contas IUSR e IWAM no IIS? ).
Quando você usa um provedor de associação SQL, o processo w3wp.exe inicia uma Instância de Usuário do SQL Server e se conecta ao banco de dados especificado na cadeia de conexão, geralmente o App_Data / ASPNETdb.mdf. A execução da instância do usuário do SQL Server requer um Perfil Local, para que os arquivos temporários tenham um lugar para onde ir.
Etapas de solução de problemas:
: Reconfigure
fonte