PROBLÈME : message d’erreur « le client n’est pas en mesure d’établir la connexion » lors de la connexion d’ASP à SQL Server


Symptômes


Lors de l’ouverture d’une connexion dans le code ASP (Active Server Pages) sur SQL Server sur un ordinateur différent du serveur Web, l’un des messages d’erreur suivants risque de s’afficher :
Erreur « 80004005 » du fournisseur Microsoft OLE DB pour les pilotes ODBC' 80004005 ' [Microsoft] [ODBC SQL Server Driver] Impossible d’établir la connexion/asppage. asp, ligne xxx
- ou -
Fournisseur OLE DB Microsoft pour SQL Server erreur « 80004005 » [DBNMPNTW] ConnectionOpen (CreateFile ())./asppage.asp, ligne xxx
- ou -
Erreur du fournisseur Microsoft OLE DB pour les pilotes ODBC' 80040ed' [Microsoft] [ODBC SQL Server Driver] [SQL Server] échec de la connexion pour l’utilisateur’NT Authority\Anonymous Logon'./asppage.asp, ligne xxx

Cause


Cette erreur se produit si le mode de sécurité SQL Server est défini sur Microsoft Windows NT uniquement et si le compte Windows qui est utilisé pour authentifier l’utilisateur sur l’ordinateur IIS (par exemple, IUSR_computer pour l’accès anonyme aux services Internet) n’est pas autorisé à se connecter à l’ordinateur NT du serveur SQL distant.

Résolution


Utiliser l’accès anonyme d’IIS
  1. À l’aide de l’outil Gestionnaire des utilisateurs de Windows, créez un compte Windows identique, tel que IUSR_localcomputer, sur l’ordinateur NT du serveur SQL distant. Donnez au compte un mot de passe similaire et attribuez-lui le droit d’ouvrir une session locale.
  2. À l’aide du gestionnaire des services Internet, ouvrez la feuille de propriétés du répertoire virtuel de l’application Web, sélectionnez l’onglet sécurité de l' Annuaire , puis cliquez sur le bouton modifier pour l' accès anonyme et le contrôle d’authentification pour afficher les méthodes d’authentification . Cliquez sur le bouton modifier pour autoriser l’accès anonyme à la modification du compte NT utilisé pour l’accès anonyme, puis décochez la case activer la synchronisation automatique des mots de passe. Pour enregistrer les modifications, cliquez sur OK pour fermer la boîte de dialogue. Cette deuxième étape est nécessaire en raison de problèmes de délégation de compte dans NT.
Utilisation de l’authentification de base IIS
  1. Pour savoir comment utiliser le nom d’utilisateur et le mot de passe par le navigateur, reportez-vous aux étapes précédentes si des utilisateurs se connectent à IIS à l’aide de comptes locaux
  2. Si les utilisateurs se connectent à l’aide d’un compte de domaine et si les ordinateurs exécutant IIS et SQL Server se trouvent dans le même domaine, assurez-vous que les comptes disposent du droit « accéder à cet ordinateur à partir d’un réseau » sur l’ordinateur NT de SQL Server, de manière directe ou indirecte, en fonction des droits attribués à un groupe dont le compte est