Problèmes liés à SQL Server Express utilisateur instanciation et ASP.NET Web Application Projects

Traductions disponibles Traductions disponibles
Numéro d'article: 2002980 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Symptômes

Les applications Web s'exécutant sur IIS 7.5 et qui s'appuient sur SQL Server Express instanciation de l'utilisateur va pas s'exécuter en utilisant la configuration de sécurité de IIS 7.5 par défaut sur Windows 7 client et Windows Server 2008 R2. Les développeurs rencontrerez des problèmes de développement d'applications web à l'aide de Visual Studio 2005 + SQL Server Express 2005, Visual Studio 2008 + SQL Server Express 2008, ou Visual Studio 2010 + SQL Server Express 2008 sur Windows 7 client et sur Windows Server 2008 R2.

Les développeurs rencontrerez des problèmes similaires tenter de développer des projets d'application web (WAP) ou des sites Web hébergés sous IIS6/IIS7/IIS7.5 qui reposent sur les instances utilisateur SQL Server Express où la structure de projet WAP ou la structure de dossier site Web existe dans dossier de documents d'un utilisateur. Ce problème existe pour toutes les versions de Visual Studio indépendamment de la version système d'exploitation sous-jacent. Une application web qui tente de créer une base de données ou en lecture/écriture à une base de données en utilisant SQL Server Express mode une instance utilisateur peut rencontrer des erreurs suivantes :

une tentative pour attacher une base de données nommée automatique pour fichier c:\Users\[YourUserAccountName]\Documents\Visual Studio 20XX\Projects\[YourSolutionName]\[YourProjectnName]\App_Data\aspnetdb.mdf a échoué. Une base de données portant le même nom existe, ou fichier spécifié ne peut pas être ouvert ou il se trouve sur le partage UNC.


--ou--


Échec de la création d'une instance utilisateur de SQL Server en raison d'une panne de récupérant chemin d'accès de l'utilisateur local application données . Veuillez vous assurer que l'utilisateur possède un profil utilisateur local sur l'ordinateur. La connexion va être fermée.


 

Remarque : une application web repose sur SQL Server Express mode une instance utilisateur si une des actions suivantes est remplie :

  • L'application s'appuie sur la chaîne de connexion «LocalSQLServer» par défaut définie dans machine.config
  • L'application utilise une chaîne de connexion qui contient les attributs suivants :

    "AttachDBFilename=|DataDirectory|xxxxxx.mdf;User Instance = true"

 

 

Cause

pour Windows Server 2008 R2 et Windows 7

la configuration de sécurité par défaut de 7.5 IIS définit des pools d'applications pour s'exécuter comme la «identité de pool d'application». Exécution d'un pool d'applications en utilisant cette identité spéciale a été introduit comme un paramètre facultatif dans Vista SP2 et Windows Server 2008 SP2. Sur Windows 7 client et Windows Server 2008 R2 cette identité spéciale est désormais la valeur par défaut.
 
Les applications Web créées avec Visual Studio 2005, Visual Studio 2008, ou Visual Studio 2010 et qui s'appuient sur utilisateur instanciation avec soit SQL Server Express 2005 ou SQL Server Express 2008 ne fonctionnent pas avec la nouvelle identité de pool d'application. Ces produits développés et testés par rapport aux pools d'application qui s'exécutent avec le compte SERVICE réseau anciens.

 

pour les projets d'application Web et sites Web dans le dossier de documents d'un utilisateur hébergé dans IIS

Projets d'application Web (WAP) existent dans une structure de dossier sous dossier «Documents\Visual Studio 20XX\Projects» d'un utilisateur. Projets de site Web existent dans une structure de dossier sous dossier «Documents\Visual Studio 20XX\Websites» d'un utilisateur. Instances utilisateur SQL Server Express besoin de fichier accès droits pour les dossiers parent de structure de répertoire du projet WAP ou le site Web. Car le compte de service IIS (NETWORK SERVICE) par défaut ne dispose pas de ces droits dans la structure de dossier de projet Visual Studio, projets WAP et des sites Web situés dans dossier de documents d'un utilisateur et qui sont hébergés dans IIS ne pourront pas ouvrir SQL Server Express de bases de données utilisateur instancié pour l'accès en lecture.
 
WAP qui créés initialement dans le dossier de documents d'un utilisateur, mais ont été modifiés par la suite pour utiliser IIS pour un serveur web via l'onglet web de propriétés du projet rencontrerez ce problème d'autorisations de fichier. Sites Web hébergés dans IIS où la structure de répertoire site Web est située dans le dossier de documents d'un utilisateur seront également rencontrer le problème d'autorisations de fichier. Ce problème se produit pour les projets WAP et les sites Web hébergés avec les versions IIS exécutent en tant que SERVICE réseau (IIS6 et IIS7 IIS 7.5) où la structure du projet existe dans le dossier de documents d'un utilisateur.

 

Résolution

résolution pour Windows 7 et Windows Server 2008 R2

Pour toutes les applications web s'exécutant sous IIS 7.5, quel que soit leur type projet, de suivre les étapes suivantes :

  1. Exécutez l'outil Gestionnaire des Services Internet (IIS). Cet outil est accessible à partir du menu Démarrer d'administration, ou en tapant «inetmgr» dans Windows Démarrer--> Rechercher zone de texte et en activant l'outil inetmgr.
  2. Dans le volet gauche de l'outil Gestionnaire développez le n?ud ordinateur.
  3. Cliquez sur le n?ud «Pools» afin que les pools d'applications affichent dans la fenêtre principale de l'outil de gestion.
  4. Si vous rencontrez une application 2.0/3.0/3.5 ASP.NET sélectionnez le pool d'applications "DefaultAppPool". Pour ASP.NET v4 sélectionnez le pool d'applications «ASP.NET v4.0».
  5. Cliquez avec le bouton droit sur le pool d'applications sélectionnées et sélectionnez "Paramètres avancés"
  6. Dans la boîte de dialogue «Paramètres avancés» recherchez la catégorie appelée «Modèle de processus». La première ligne dans la catégorie sera la ligne «Identité».
  7. Cliquez sur la ligne «Identité» et puis sur le petit bouton qui affiche sur le côté droit de la cellule valeur. Le bouton affiche le texte «?»
  8. Une boîte de dialogue «Identité de pool d'application» est contextuel. Dans cette boîte de dialogue il y a deux cases. Assurez-vous que le premier bouton d'option qu'intitulé «intégrées» est sélectionnée.
  9. Dans la zone déroulante sous le bouton radio choisissez «Network Service» pour l'identité.
  10. Cliquez sur "Ok" pour fermer la boîte de dialogue «Identité de pool d'application».
  11. Cliquez sur "Ok" pour fermer la boîte de dialogue «Paramètres avancés».
  12. À ce stade les modifications apportées à l'identité du pool d'application vont ont été enregistrées au magasin de configuration de IIS 7.5.

 

résolution pour les projets d'application Web et sites Web

Pour les projets d'application web (WAP) et les sites Web situés dans le dossier de documents d'un utilisateur hébergé sous n'importe quelle version de IIS exécuté en tant que SERVICE réseau, procédez de la façon suivante :

  1. D'abord confirmer que IIS a été configuré pour exécuter en tant que SERVICE réseau. C'est la valeur par défaut sur IIS6 et IIS7. Toutefois si vous exécutez sur Windows 7 ou Windows Server 2008 R2 vous tout d'abord besoin pour suivre les étapes ci-dessus dans «Résolution de Windows 7 et Windows Server 2008 R2» pour que IIS pools d'applications exécutera comme SERVICE réseau.
  2. À partir d'une invite de commandes, tapez net stop iisadmin /y. Cela entraînera toutes les applications ASP.NET WAP en cours d'arrêt.
  3. Quitter toutes les instances en cours d'exécution de Visual Studio.
  4. SERVICE réseau doit être accordée autorisation de lecture sur le dossier Visual Studio de niveau supérieur situés dans dossier Documents de l'utilisateur. Le dossier Visual Studio aura des noms différents selon la version: «Visual Studio 2005», «Visual Studio 2008» ou «Visual Studio 2010».
  5. SERVICE réseau doit disposer à la fois lire et écrire autorisations dans dossier de projet de niveau supérieur de votre projet. Par exemple si votre projet WAP est appelé «MyCustomWebProject», puis le dossier «20xx\Projects\MyCustomWebProject Documents\Visual Studio» doit avoir lu et un accès en écriture activée pour le SERVICE réseau. Ou, si votre projet webiste est appelée «MyCustomWebProject», puis le dossier «20xx\Websites\MyCustomWebProject Documents\Visual Studio» doit avoir lu et un accès en écriture activé pour le SERVICE réseau.
  6. SERVICE réseau doit disposer à la fois lire et écrire autorisations dans le dossier App_Data situé dans la structure de répertoires de votre projet web.

 

Plus d'informations

Microsoft recommande que les solutions de contournement décrites dans cet article doit uniquement être utilisé pour débloquer des scénarios de développement affecté. Lors du déploiement d'applications en production sur n'importe quelle version de IIS, les instances utilisateur SQL Server Express ne doivent pas être utilisées.
 
La configuration de pools d'applications sur les serveurs web de production IIS 7.5 doit utiliser la nouvelle identité de pool d'application, ou comptes d'utilisateurs personnalisés créés. Pools d'applications sur les serveurs web de production IIS 7.5 doivent fonctionner en tant que SERVICE réseau.
 
La solution de contournement décrite pour travailler avec des projets WAP et des sites Web situés dans dossier de documents d'un utilisateur doivent être utilisé comme une solution temporaire uniquement. Du point de vue de la sécurité qu'il n'est pas souhaitable pour NETWORK SERVICE avoir accès en lecture à tous les sous-dossiers dans le dossier Projets Visual Studio. La recommandation est de déplacer des projets WAP hébergées par IIS et des sites Web à un emplacement de fichier différent qui est normalement accessibles à un IIS service compte (par exemple, c:\inetpub\wwwroot).

 

Remarque Il s'agit d'un article de « PUBLICATION RAPIDE » rédigé directement au sein du service de support technique Microsoft. Les informations qui y sont contenues sont fournies en l'état, en réponse à des problèmes émergents. En raison du délai rapide de mise à disposition, les informations peuvent contenir des erreurs typographiques et, à tout moment et sans préavis, faire l'objet de révisions. Pour d'autres considérations, consultez les Conditions d'utilisation.

Propriétés

Numéro d'article: 2002980 - Dernière mise à jour: mercredi 10 mars 2010 - Version: 3.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Studio 2008 Professional Edition
  • Microsoft SQL Server 2008 Express
  • Microsoft Internet Information Services 6.0
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft Internet Information Services 7.0
  • Microsoft Visual Studio 2005 Professional Edition
Mots-clés : 
kbrapidpub kbnomt KB2002980
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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