2010-04-01 10 views
7

Ho impostato il mio sito Web per utilizzare l'abbonamento ASP.NET. tutto funziona bene quando si cerca di usarlo sulla mia macchina di sviluppo, ma quando ho messo sul server web e cerco di accedere, ottengo questo errore:Impossibile aggiornare il database perché è di sola lettura

"Failed to update database "C:\INETPUB\WWWROOT\APP_DATA\ASPNETDB.MDF" because the database is read-only. " 
+0

Il file è di sola lettura? L'account utente asp ha le autorizzazioni per scrivere nella directory in cui si trova il database? –

risposta

11

grazie per l'aiuto. Ho appena trovato una soluzione. nella ACL App_Data, avevo due voci: Servizio di rete e IIS_IUSRS. l'account del servizio di rete disponeva di autorizzazioni complete ma il gruppo IIS_IUSRS aveva solo accesso in lettura. così, ho dato a IIS_IUSRS anche i permessi completi e ha funzionato!

grazie ancora.

1

L'account utente che il sito è in esecuzione in esigenze scrivere i permessi sul file.

È anche probabile che il file sia di sola lettura in seguito al trasferimento e debba essere impostato per essere scrivibile.

+0

Ho dato piena autorizzazione all'account del servizio di rete. Sto usando Windows 7 – Attilah

+0

Puoi pubblicare la stringa di connessione? – Oded

+1

Ciao Odd, grazie per l'aiuto. Ho appena trovato una soluzione. nella ACL App_Data, avevo due voci: Servizio di rete e IIS_IUSRS. l'account del servizio di rete disponeva di autorizzazioni complete ma il gruppo IIS_IUSRS aveva solo accesso in lettura. così, ho dato a IIS_IUSRS anche i permessi completi e ha funzionato! – Attilah

2

Verificare il file sul disco. Fai clic destro e vai alle proprietà.

Se si tratta di un file di sola lettura, sarà necessario renderlo scrivibile.

+0

sì, il file è read-only.it eredita questo comportamento dalla cartella principale App_folder. la cosa divertente è che quando provo a rimuovere la cartella App_Data da sola lettura, torna in sola lettura. non so cosa fare ... – Attilah

+1

Ho avuto un problema simile non ho notato che TFS lo impostava in sola lettura dopo un check-in. –

5

Non dimenticate di riavviare l'IIS con "iisreset.exe" dopo aver modificato i permessi

+0

Questo è stato davvero utile, le autorizzazioni modificate sono state applicate solo quando è stato riavviato IIS. –

1

Ho seguito la risposta di Attilah e trovato: 1. Sia IIS-ISUR, WebService aveva piena pomission al App_Data e la mdf. 2. Ma qualcuno ha chiamato "pool asp.net 4.0" e "tutti gli utenti" no, quindi ho permesso loro.

Quindi 3. Ho seguito la risposta di user1280392 per eseguire "iisreset" ma non è riuscito (ma lo eseguo ancora).

Quindi sono andato a IIS manager e l'ho fatto: 4. Cliccato sul nome del server, ho cliccato su "restart" sulla destra. 5. Cliccato il nome dell'applicazione, fatto clic su "riavvia" sulla destra.

ed era ok.

Problemi correlati