Problem med SQL Server Express användaren instancing och ASP.NET Web Application projekt

Artikelöversättning Artikelöversättning
Artikel-id: 2002980 - Visa produkter som artikeln gäller.
Visa alla | Dölj alla

Symptom

Webbprogram som körs på IIS 7,5 och som är beroende av SQL Server Express instancing användaren att kunna köra med hjälp av IIS 7,5 standardkonfigurationen för säkerhet på både Windows 7 Client och Windows Server 2008 R2. Utvecklare kommer att stöta på problem med att utveckla webbprogram med hjälp av Visual Studio 2005 + SQL Server Express 2005, Visual Studio 2008 + SQL Server Express 2008 eller Visual Studio 2010 + SQL Server Express 2008 på både Windows 7 Client och Windows Server 2008 R2.

Utvecklare uppstå liknande problem när du försöker att utveckla webbprojekt programmet (WAP) eller webbplatser som finns under IIS6/IIS7/IIS7.5 som är beroende av SQL Server Express Användarinstanser där WAP projektstruktur eller webbplatsen mappstrukturen finns i mappen dokument en användare. Det här problemet finns för alla versioner av Visual Studio oberoende av underliggande operativsystemets version. Ett webbprogram som försöker skapa en databas eller läsa eller skriva till en databas med hjälp av SQL Server Express instans användarläge kan uppstå något av följande fel:

Ett försök att bifoga en databas med namnet automatiskt för filen c:\Users\[YourUserAccountName]\Documents\Visual Studio 20XX\Projects\[YourSolutionName]\[YourProjectnName]\App_Data\aspnetdb.mdf misslyckades. Det finns en databas med samma namn, angivna filen kan inte öppnas eller finns på UNC-resurs.


-- eller--


Misslyckades att generera en användaren instans av SQL Server på grund av att det inte gick i hämtar användarens lokala datasökvägen. Kontrollera att användaren har en lokal användarprofil på datorn. Anslutningen kommer att stängas.


 

Obs: ett webbprogram som bygger på SQL Server Express' för användarläge instans om något av följande är sant:

  • Programmet är beroende av standard "LocalSQLServer" anslutningssträngen definieras i machine.config
  • Programmet använder en anslutningssträng som innehåller följande attribut:

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

 

 

Orsak

För Windows Server 2008 R2 och 7 för Windows

Standardkonfigurationen för säkerhet för IIS 7,5 anger programpooler att köra som "programpoolsidentiteten". Kör en programpool med hjälp av den här speciella identiteten introducerades först som en valfri inställning i Vista SP2 och Windows Server 2008 SP2. Den här speciella identiteten är nu standard på Windows 7 Client och Windows Server 2008 R2.
 
Webbprogram som skapats med Visual Studio 2005, Visual Studio 2008 eller Visual Studio 2010 och som beroende av användaren instancing med antingen SQL Server Express 2005 eller SQL Server Express 2008 fungerar inte med nya programpoolsidentitet. Dessa produkter har utvecklats och testas mot programpooler som körs med äldre NETWORK SERVICE-kontot.

 

För Web Application projekt och webbplatser som finns i en användares dokument-mapp Hosted i IIS

Webbprojekt programmet (WAP) finns i en mappstruktur under en användares "Documents\Visual Studio 20XX\Projects" mapp. Webbplatsen projekt finns i en mappstruktur under en användares "Documents\Visual Studio 20XX\Websites" mapp. SQL Server Express användarinstanser kräver filen åtkomsträttigheter till överordnade mappar av webbplatsen eller WAP projektet katalogstruktur. Eftersom IIS-tjänstkontot (NETWORK SERVICE) som standard inte har dessa rättigheter i mappstrukturen för Visual Studio-projektet, WAP projekt och webbplatser som finns i mappen för en användares dokument och som är värdar för IIS kommer inte att kunna öppna SQL Server Express användaren instanced databaser för läsåtkomst.
 
WAPs som ursprungligen har skapats inom en användare i mappen dokument, men har ändrats sedan du använder IIS för en webbserver via fliken Webb i projektets egenskaper uppstår problemet fil behörigheter. Webbplatser som finns i IIS där katalogstrukturen för webbplatsen finns inom en användare i mappen dokument också uppstår problemet fil behörigheter. Detta inträffar för WAP projekt och webbplatser som finns med IIS-versioner som körs som NETWORK SERVICE (IIS6, IIS7 och IIS 7,5) där projektstruktur finns inom en användare i mappen dokument.

 

Lösning

Upplösning för Windows 7 och Windows Server 2008 R2

Utför följande steg för alla webbprogram som körs under IIS 7,5, oavsett deras projekttypen:

  1. Kör verktyget Internet Information Services (IIS) Manager. Det här verktyget kan nås från den administrativa start-menyn eller genom att skriva "inetmgr" i Windows-Start--> Sök textruta och sedan markera verktyget inetmgr.
  2. Expandera noden datorn i den vänstra rutan i verktyget hanteraren.
  3. Klicka på noden "Programpooler" så att programpooler visas i huvudfönstret för hanteringsverktyget.
  4. Om du felsöker ett ASP.NET-program 2.0/3.0/3.5 väljer du programpoolen "DefaultAppPool". Välj programpool "ASP.NET v4.0" för ASP.NET v4.
  5. Högerklicka på den markerade programpoolen och välj "Avancerade inställningar"
  6. Hitta den kategori som kallas "Processmodell" i dialogrutan "Avancerade inställningar". Den första raden i kategorin kommer att "Identity"-rad.
  7. Klicka på "Identity"-rad och sedan klicka på knappen mindre som visas på höger sida av cell värde. Knappen visas texten "?"
  8. En dialogruta som kallas "Programpoolsidentitet" kommer popup-meny. Det finns två alternativknapparna i dialogrutan. Kontrollera att den första alternativknappen titled "inbyggt konto" är markerad.
  9. Välj "Nätverkstjänst" i den nedrullningsbara rutan under alternativknappen för identiteten.
  10. Klicka på "Ok" Stäng i dialogrutan "Programpoolsidentitet".
  11. Klicka på "Ok" Stäng i dialogrutan "Avancerade inställningar".
  12. Nu kommer ändras till programpoolsidentiteten har sparats till konfigurationslagret i IIS 7,5.

 

Upplösning för Web Application projekt och webbplatser

För webbplatser finns i en användares dokument-mapp som finns under någon version av IIS körs som NETWORK SERVICE och webbprojekt programmet (WAP) måste du utföra följande steg:

  1. Kontrollera först att IIS har konfigurerats för att köras som NETWORK SERVICE. Detta är standard i IIS6 och IIS7. Men om du kör på Windows 7 eller Windows Server 2008 R2 du behöver först för att följa instruktionerna ovan i "Lösning för Windows 7 och Windows Server 2008 R2" att göra IIS programpooler körs som NETWORK SERVICE.
  2. Skriv net stop iisadmin /y från en kommandotolk. Det innebär att alla ASP.NET WAP-program som körs att stänga.
  3. Avsluta utanför alla instanser som körs i Visual Studio.
  4. NETWORK SERVICE måste beviljas läsbehörighet till den översta mappen i Visual Studio finns i mappen dina användare. Visual Studio-mappen har olika namn beroende på vilken version: "Visual Studio 2005", "Visual Studio 2008" eller "Visual Studio 2010".
  5. NETWORK SERVICE måste beviljas både läs- och skrivbehörighet till ditt projekt översta projektmapp. Till exempel om WAP-projekt kallas "MyCustomWebProject" och sedan mappen "Documents\Visual Studio 20xx\Projects\MyCustomWebProject" måste ha läs- och skrivbehörighet aktiverad för NETWORK SERVICE. Eller, om projektet webiste kallas "MyCustomWebProject", "Documents\Visual Studio 20xx\Websites\MyCustomWebProject" mappen måste har läst och skrivbehörighet aktiverad för NETWORK SERVICE.
  6. NETWORK SERVICE måste beviljas både läs- och skrivbehörighet till mappen App_Data finns inom projektet webb katalogstruktur.

 

Mer Information

Microsoft rekommenderar att lösningarna som beskrivs i denna artikel endast kan användas för att häva blockeringen berörda utvecklingsscenarier. När du distribuerar program till produktion i någon version av IIS, används SQL Server Express Användarinstanser inte.
 
Konfigurationen av programpooler på IIS 7,5 produktionen webbservrar bör använda antingen den nya programpoolsidentiteten eller anpassade skapade användarkonton. Programpooler på webbservrar som IIS 7,5 produktionen ska inte längre köra som NETWORK SERVICE.
 
Beskrivs lösningen för att arbeta med WAP projekt och webbplatser som finns i mappen dokument en användare ska användas som en tillfällig lösning. Från en säkerhet säkrast är den inte önskvärt för NETWORK SERVICE har läsbehörighet till alla undermappar i mappen Visual Studio-projekt. Rekommendationen är att flytta IIS-värd WAP projekt och webbplatser till en annan plats som är normalt tillgängligt för en IIS-tjänsten konto (t ex under c:\inetpub\wwwroot).

 

Obs! Det här är en "FAST PUBLISH?-artikel som skapats direkt inom Microsofts supportorganisation. Informationen i artikeln tillhandahålls i befintligt skick för att besvara framtida frågor. På grund av den snabba framtagningen kan materialet innehålla typografiska fel och kan utan förvarning när som helst komma att omarbetas. Se användarvillkoren för andra hänsynstaganden.

Egenskaper

Artikel-id: 2002980 - Senaste granskning: den 9 mars 2010 - Revision: 3.0
Informationen i denna artikel gäller:
  • 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
Nyckelord: 
kbrapidpub kbnomt KB2002980

Ge feedback

 

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