La mia applicazione Web ASP.NET v3.5 genera la seguente eccezione quando tenta di aprire una connessione a un server SQL. 2008 database:Errore "Accesso non riuscito per l'utente" NT AUTHORITY IUSR "" in ASP.NET e SQL Server 2008
System.Data.SqlClient.SqlException: Impossibile aprire il database "MyDbName" richiesto dall'account di accesso. Il login non è riuscito. Accesso non riuscito per l'utente 'NT AUTHORITY \ IUSR'.
Il fatto è che ho aggiunto NT AUTHORITY\IUSR
all'elenco dei login del server e all'elenco di utenti del database. Per il server, ho concesso all'utente il ruolo Public e per il database ho concesso le autorizzazioni db_datareader
.
Ho anche concesso lo stesso per NT AUTHORITY\NETWORK SERVICE
, che è l'identità con cui è in esecuzione il pool di applicazioni.
L'applicazione Web è ospitata da IIS7, se ciò fa la differenza. Il problema si ripete quando DB e IIS si trovano sulla stessa macchina fisica.
stavo solo mettendo alla prova per vedere se sarà tutto il lavoro sulla stessa macchina - nella produzione di topologia è meglio descritta come tentacolare. Ad ogni modo, lo hai inchiodato - ho dovuto aggiungere permessi per machineName $. Grazie! –
Volevo semplicemente aggiungerlo allo stesso modo, ho risolto questo problema creando autorizzazioni per il nome utente IUSER trovato in Siti Web IIS 6.0-> Proprietà-> Sicurezza directory-> Modifica (Autenticazione ...) che era IUSR_MACHINENAME – shawad
Come hai aggiunto le autorizzazioni per MachineName $ in VS –