Problemas com o SQL Server Express instâncias de usuário e ASP.NET Web Application Projects

Traduções deste artigo Traduções deste artigo
ID do artigo: 2002980 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Aplicativos da Web em execução no IIS 7,5 e que dependem do SQL Server Express instâncias de usuário não serão executado usando a configuração de segurança padrão do IIS 7.5 no Windows 7 cliente e no Windows Server 2008 R2. Os desenvolvedores encontrará problemas de desenvolvimento de aplicativos da web usando o Visual Studio 2005 + SQL Server Express 2005, Visual Studio 2008 + SQL Server Express 2008, ou Visual Studio 2010 + SQL Server 2008 Express no cliente do Windows 7 e Windows Server 2008 R2.

Os desenvolvedores encontrará problemas semelhantes tentar desenvolver projetos de aplicativos da web (WAP) ou sites hospedados em IIS6/IIS7/IIS7.5 que dependem de instâncias do usuário SQL Server Express onde o WAP estrutura de projeto ou a estrutura de pasta do site existe na pasta documentos do usuário. Este problema existe para todas as versões do Visual Studio, independentemente da versão de sistema operacional subjacente. Um aplicativo da web que tenta criar um banco de dados ou leitura/gravação para um banco de dados usando o SQL Server Express modo de instância de usuário pode encontrar qualquer um dos seguintes erros:

Falha ao tentar anexar um banco de dados chamado automática para arquivo c:\Users\[YourUserAccountName]\Documents\Visual Studio 20XX\Projects\[YourSolutionName]\[YourProjectnName]\App_Data\aspnetdb.mdf. Um banco de dados com o mesmo nome existe, ou arquivo especificado não pode ser aberto ou ele está localizado em compartilhamento UNC.


--ou--


Falha ao gerar uma instância de usuário do SQL Server devido a falha na recuperação do caminho de dados de aplicativo local do usuário. Verifique se que o usuário tem um perfil de usuário local no computador. A conexão será fechada.


 

Observação : um aplicativo da web se baseia em modo de instância de usuário dos SQL Server Express se uma das seguintes condições for verdadeira:

  • O aplicativo depende da seqüência de conexão padrão "LocalSQLServer" definida em machine.config
  • O aplicativo usa uma seqüência de conexão que contém os seguintes atributos:

    "Instância AttachDBFilename=|DataDirectory|xxxxxx.mdf;User = true"

 

 

Causa

para Windows Server 2008 R2 e Windows 7

a configuração de segurança padrão do IIS 7.5 define pools de aplicativos para serem executados como a "identidade do pool de aplicativos". Executar um pool de aplicativos usando esta identidade especial foi introduzido como uma configuração opcional no Vista SP2 e no Windows Server 2008 SP2. No Windows 7 cliente e no Windows Server 2008 R2 esta identidade especial agora é o padrão.
 
Aplicativos da Web criados com Visual Studio 2005, Visual Studio 2008, ou Visual Studio 2010 e que dependem de instâncias de usuário com o SQL Server Express 2005 ou SQL Server 2008 Express não funcionam com a identidade do novo pool de aplicativos. Esses produtos foram desenvolvidos e testados em relação a pools de aplicativos com a conta de serviço de rede mais antiga.

 

para projetos de aplicativos Web e sites localizados na pasta de documentos de um usuário hospedada no IIS

Projetos de aplicativos da Web (WAP) existem em uma estrutura de pasta em pasta de "Documentos\Visual Studio 20XX\Projects" de um usuário. Projetos de site existem em uma estrutura de pasta em pasta de "Documentos\Visual Studio 20XX\Websites" de um usuário. Instâncias do usuário SQL Server Express requerem direitos de acesso de arquivo para as pastas pai do site ou estrutura de diretório do projeto WAP. Porque a conta de serviço (NETWORK SERVICE) do IIS por padrão não tem esses direitos dentro da estrutura de pasta de projeto do Visual Studio, projetos WAP e sites localizado na pasta de documentos do usuário e que são hospedados no IIS não poderão abrir bancos de SQL Server Express instanced dados de usuários para acesso de leitura.
 
WAPs que foram criados na pasta documentos do usuário, mas foram transformados subseqüentemente para usar o IIS para um servidor web pela guia de propriedades do projeto da web serão encontrar esse problema de permissões de arquivo. Sites hospedados no IIS onde a estrutura de diretório do site é localizada na pasta documentos do usuário também encontrará o problema de permissões de arquivo. Esse comportamento ocorre para projetos WAP e sites hospedados com quaisquer versões do IIS que executam como NETWORK SERVICE (IIS6, IIS7 e IIS 7.5) onde a estrutura de projeto existe na pasta documentos do usuário.

 

Resolução

resolução para o Windows 7 e o Windows Server 2008 R2

Para todos os aplicativos da web em execução no IIS 7.5, independentemente do tipo de projeto, execute as seguintes etapas:

  1. Execute a ferramenta Gerenciador Serviços de informações da Internet (IIS). Essa ferramenta pode ser acessada no menu Iniciar administrativas ou digitando "inetmgr" o Windows iniciar--> caixa de texto de pesquisa e selecionando a ferramenta inetmgr.
  2. No painel esquerdo da ferramenta Gerenciador do IIS expanda o nó de máquina.
  3. Clique no nó "Pools de aplicativos" para que os pools de aplicativos exibidos na janela principal da ferramenta de gerenciamento.
  4. Se você estiver solucionando problemas de um aplicativo de 2.0/3.0/3.5 ASP.NET selecione o pool de aplicativos "DefaultAppPool". Para o ASP.NET v4 selecione o pool de aplicativos "ASP.NET v4.0".
  5. Clique com o botão direito do mouse no pool de aplicativo selecionado e escolha "Configurações avançadas"
  6. Na caixa de diálogo "Configurações avançadas" Localize a categoria chamada "Modelo de processo". A primeira linha da categoria será a linha "Identity".
  7. Clique na linha "Identity" e clique no botão pequeno que mostra no lado direito da célula de valor. O botão exibe o texto "?"
  8. Uma caixa de diálogo denominada "Identidade do pool de aplicativo" será pop-up. Em caixa de diálogo, há dois botões de opção. Certifique-se o primeiro botão de opção que intitulado "conta interna" está selecionada.
  9. Na caixa suspensa abaixo do botão de opção escolha "Serviço de rede" para a identidade.
  10. Clique em "Ok" para fechar a caixa de diálogo "Identidade do pool de aplicativo".
  11. Clique em "Ok" para fechar a caixa de diálogo "Configurações avançadas".
  12. Neste momento as alterações a identidade do pool de aplicativos serão foram salvas para armazenamento de configuração do IIS 7.5.

 

resolução para projetos de aplicativos Web e sites

Para projetos de aplicativos da web (WAP) e sites localizado na pasta de documentos do usuário hospedado em qualquer versão do IIS em execução como serviço de rede, execute as seguintes etapas:

  1. Primeiro, confirme se o IIS foi configurado para ser executado como serviço de rede. Este é o padrão no IIS7 e IIS6. No entanto se você estiver executando no Windows Server 2008 R2 ou Windows 7 você primeiro precisa seguir as etapas acima em "Resolução para Windows 7 e Windows Server 2008 R2" fazer IIS pools de aplicativos executará como NETWORK SERVICE.
  2. Em um prompt de comando, digite net stop iisadmin /y. Isso fará com que qualquer executando aplicativos ASP.NET WAP desligamento.
  3. Saia de todas as instâncias em execução do Visual Studio.
  4. SERVIÇO de rede deve ser concedido permissão de leitura para a pasta Visual Studio de nível superior localizado na pasta de documentos do usuário. A pasta do Visual Studio terão nomes diferentes dependendo da versão: "Visual Studio 2005", "Visual Studio 2008" ou "Visual Studio 2010".
  5. SERVIÇO de rede deve ser concedido ambos ler e gravar permissões de pasta de projeto de nível superior do seu projeto. Para exemplo, se seu projeto WAP é chamado "MyCustomWebProject", em seguida, as necessidades de pasta "Documentos\Visual Studio 20xx\Projects\MyCustomWebProject" tenha de leitura e gravação acesso habilitado para o serviço de rede. Ou, se seu projeto webiste é chamado "MyCustomWebProject", em seguida, a pasta "Documentos\Visual Studio 20xx\Websites\MyCustomWebProject" precisa leu e acesso de gravação ativado para o serviço de rede.
  6. SERVIÇO de rede deve ser concedido ambos leitura e gravação permissões para a pasta App_Data localizada na estrutura de diretório do seu projeto da web.

 

Mais Informações

A Microsoft recomenda que as soluções alternativas descritas neste artigo somente ser usada para desbloquear os cenários de desenvolvimento afetado. Ao implantar aplicativos em produção em qualquer versão do IIS, SQL Server Express instâncias de usuário não devem ser usadas.
 
A configuração de pools de aplicativos em servidores de web de produção IIS 7.5 deve usar a nova identidade do pool de aplicativo, ou contas de usuário personalizado criado. Pools de aplicativos em servidores de web de produção IIS 7.5 não devem executar como NETWORK SERVICE.
 
A solução alternativa descrita para trabalhar com projetos WAP e sites localizado na pasta de documentos de um usuário devem ser usado como uma solução temporária. Do ponto de vista de segurança não é desejável para serviço de rede tenham acesso de leitura a todas as subpastas dentro da pasta de projetos do Visual Studio. A recomendação é mover projetos WAP hospedado no IIS e sites para um local diferente do arquivo que é normalmente acessível para um IIS serviço de conta (por exemplo, em c:\inetpub\wwwroot).

 

Observação: este é um artigo de ?PUBLICAÇÃO RÁPIDA? criado diretamente pela organização de suporte da Microsoft. As informações aqui contidas são fornecidas no presente estado, em resposta a questões emergentes. Como resultado da velocidade de disponibilização, os materiais podem incluir erros tipográficos e poderão ser revisados a qualquer momento, sem aviso prévio. Consulte os Termos de Uso para ver outras informações.

Propriedades

ID do artigo: 2002980 - Última revisão: quarta-feira, 10 de março de 2010 - Revisão: 3.0
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Information Services 7.0
  • Microsoft Visual Studio 2005 Professional Edition
  • Microsoft Internet Information Services 6.0
  • Microsoft Visual Studio 2008 Professional Edition
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2005 Express Edition
Palavras-chave: 
kbrapidpub kbnomt KB2002980

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com