Sintomi
Quando si apre una connessione nel codice ASP (Active Server Pages) a SQL Server in un computer separato dal server Web, potrebbe essere visualizzato uno di questi messaggi di errore simili:
Errore del provider OLE DB Microsoft per i driver ODBC "80004005" [Microsoft] [driver ODBC SQL Server] Impossibile stabilire la connessione/asppage. asp, linea xxx
Oppure
Provider OLE DB Microsoft per l'errore di SQL Server ' 80004005' [DBNMPNTW] ConnectionOpen (CreateFile ())./asppage.asp, linea xxx
Oppure
Errore del provider OLE DB Microsoft per driver ODBC "80040ed" [Microsoft] [driver ODBC SQL Server] [SQL Server] accesso non riuscito per l'utente "NT Authority\Anonymous Logon"./asppage.asp, linea xxx
Causa
Questo errore si verifica se la modalità di sicurezza di SQL Server è impostata solo su Microsoft Windows NT e l'account NT usato per autenticare l'utente nel computer IIS, ad esempio IUSR_computer per l'accesso anonimo a IIS, non dispone delle autorizzazioni necessarie per connettersi al computer NT di SQL Server remoto.
Risoluzione
Uso dell'accesso anonimo a IIS
-
Usando lo strumento Gestione utenti di NT, crea un account NT identico, ad esempio IUSR_localcomputer, nel computer NT di SQL Server remoto. Assegnare all'account una password simile e assegnarle il diritto di "accedere localmente".
-
Con Internet Service Manager aprire la finestra delle proprietà della directory virtuale per l'applicazione Web, selezionare la scheda sicurezza della directory , fare clic sul pulsante modifica per l' accesso anonimo e il controllo di autenticazione per visualizzare i metodi di autenticazione . Fare clic sul pulsante modifica per consentire l'accesso anonimo per modificare l'account NT usato per l'accesso anonimo e quindi deselezionare la casella di controllo Abilita sincronizzazione automatica password. Salvare le modifiche facendo clic su OK per chiudere la finestra di dialogo. Questo secondo passaggio è necessario a causa di problemi di delega dell'account con NT.
Uso dell'autenticazione di base di IIS
-
Vedere i passaggi precedenti se gli utenti si iscrivono a IIS usando gli account locali per il server NT con IIS quando viene richiesto il nome utente e la password dal browser.
-
Se gli utenti accedono tramite un account di dominio e entrambi i computer NT per IIS e SQL Server si trovano nello stesso dominio, assicurarsi che gli account abbiano il diritto "accedere al computer da una rete" nel computer NT di SQL Server, direttamente o indirettamente, in base ai diritti assegnati a un gruppo di cui l'account è membro.