PRB: mensaje de error "el cliente no puede establecer conexión" al conectarse desde ASP a SQL Server


Síntomas


Al abrir una conexión en código de páginas Active Server (ASP) con SQL Server en un equipo diferente del servidor Web, puede aparecer uno de estos mensajes de error similares:
Error ' 80004005 ' de proveedor OLE DB de Microsoft para controladores ODBC [Microsoft] [controlador ODBC SQL Server] el cliente no puede establecer conexión/asppage. asp, línea XXX
O bien
Error ' 80004005 ' de proveedor OLE DB de Microsoft para SQL Server [DBNMPNTW] ConnectionOpen (CreateFile ())./asppage.asp, línea XXX
O bien
Error ' 80040ed ' de proveedor OLE DB de Microsoft para controladores ODBC [Microsoft] [controlador ODBC SQL Server] [SQL Server] error de inicio de sesión del usuario ' NT Authority\Anonymous Logon './asppage.asp, línea XXX

Causa


Este error se produce si el modo de seguridad de SQL Server se establece en Microsoft Windows NT solamente y la cuenta de NT que se usa para autenticar al usuario en el equipo con IIS (como IUSR_computer de acceso anónimo de IIS) no tiene permisos para conectarse al equipo de NT remoto de SQL Server.

Resolución


Usar el acceso anónimo de IIS
  1. Con la herramienta de administrador de usuarios de NT, cree una cuenta de NT idéntica, como IUSR_localcomputer, en el equipo de Windows NT remoto de SQL Server. Asigne a la cuenta una contraseña similar y asígnele el derecho "iniciar sesión localmente".
  2. Con el administrador de servicios Internet, abra la hoja propiedades del directorio virtual de la aplicación Web, seleccione la pestaña seguridad de directorios , haga clic en el botón Editar para acceso anónimo y control de autenticación para mostrar los métodos de autenticación . Haga clic en el botón Editar para permitir el acceso anónimo para modificar la cuenta de NT usada para el acceso anónimo y, a continuación, desactive la casilla de verificación sincronización automáticade la contraseña. Guarde los cambios haciendo clic en Aceptar para cerrar el cuadro de diálogo. Este segundo paso es necesario debido a problemas de delegación de cuenta con NT.
Uso de la autenticación básica de IIS
  1. Consulte los pasos anteriores si los usuarios inician sesión en IIS con las cuentas locales del servidor NT con IIS cuando el explorador le pide el nombre de usuario y la contraseña.
  2. Si los usuarios inician sesión con una cuenta de dominio y los equipos NT para IIS y SQL Server están en el mismo dominio, asegúrese de que las cuentas tengan el derecho "tener acceso a este equipo desde una red" en el equipo NT de SQL Server, ya sea directa o indirectamente, en función de los derechos asignados a un grupo del que sea miembro la cuenta.