Español

Error: no se puede abrir la base de datos solicitada por el inicio de sesión. Se ha producido un error en el inicio de sesión. Se produjo un error en el inicio de sesión para el usuario

Mensaje de error

En ArcGIS Server Manager para Microsoft .NET Framework, es posible crear una aplicación web en un equipo de servidor web diferente. Esta aplicación web remota se puede proteger en Manager con acceso a la aplicación permitido para los roles designados. Cuando el usuario inicia sesión en la aplicación web, es posible que el navegador muestre un error.

De manera predeterminada, se muestra un error genérico, excepto cuando el navegador se está ejecutando en el servidor web que aloja la aplicación. En el último caso, se muestra el mensaje de error. El mensaje de error puede ser similar al siguiente:

"No se puede abrir la base de datos '' solicitada por el inicio de sesión. Se ha producido un error en el inicio de sesión. Se produjo un error en el inicio de sesión para el usuario ''".

El es normalmente Network Service o ASPNET.

Causa

Este error puede producirse cuando el almacén de usuarios configurado para ArcGIS Server está en Microsoft SQL Server, aunque también puede darse con un almacén de usuarios de un proveedor personalizado. La causa es que el almacén de usuarios definido en la aplicación de Manager no es accesible para la aplicación web que se está ejecutando en el servidor web remoto de IIS.

En concreto, el problema puede deberse a que el nombre del equipo que ejecuta SQL Server no se ha especificado correctamente o a que se han definido permisos incorrectos para la cuenta que accede a SQL Server o al proveedor personalizado.

Solución o solución alternativa

La resolución puede requerir uno de los dos pasos siguientes o ambos:

1) Corregir el nombre del equipo o la información de ubicación de la base de datos.

2) Asegurarse de que los permisos de la cuenta en la que se ejecuta la aplicación son válidos.

Los pasos siguientes solucionan el problema en SQL Server. Para resolver problemas similares cuando se usa un proveedor personalizado, es necesario llevar a cabo unos pasos parecidos para ese proveedor personalizado, como configurar la ubicación y los permisos del proveedor.

  1. La primera causa del error puede ser que el nombre del equipo de SQL Server se debe especificar de forma que el equipo remoto pueda encontrarlo. Para solucionar este problema:

    a) Inicie sesión en ArcGIS Server Manager.

    b) Haga clic en Seguridad - Configuración y haga clic en Configurar...

    c) En el asistente de seguridad, el primer panel debe estar definido como SQL Server. Haga clic en Siguiente.

    d) En el panel Especificar SQL Server, examine el valor del servidor. Debe especificar el nombre del servidor para que el equipo remoto pueda encontrarlo. El nombre no debe usar ni "." ni "localhost". Si es necesario, compruebe que el servidor web remoto en el que está alojada la aplicación puede acceder a SQL Server usando el nombre (o la dirección IP). Si el equipo con SQL Server ya tenía definido un nombre que el servidor web remoto puede usar para el acceso, siga en el paso 2. De lo contrario, cambie el nombre, si es necesario, para usar el nombre del equipo de SQL Server o la dirección IP.

    e) Si el nombre de SQL Server se ha modificado, haga clic en Conectar y complete el asistente para guardar la configuración actualizada.

    f) Vaya a la pestaña Aplicaciones y, para la aplicación web remota, haga clic en el botón Permisos.

    g) En el cuadro de diálogo Permisos, haga clic en Guardar (se pueden realizar cambios en los permisos, pero no es necesario). De esta forma, se modifica la configuración de la aplicación web con el nombre de SQL Server actualizado.

    h) Abra un navegador en la aplicación web remota e inicie sesión. Si puede iniciar sesión en la aplicación y usarla, omita los pasos restantes. Si aparece un error de permisos, siga en el paso 2.
  2. La conexión con la base de datos de SQL Server se debe configurar para permitir que la aplicación web acceda a la base de datos.

    La estrategia que se ilustra aquí consiste en usar un inicio de sesión de SQL para conectar con la base de datos en lugar de usar la autenticación de Windows. Siga las indicaciones que se ofrecen a continuación para cambiar la autenticación para la aplicación web de modo que use un inicio de sesión de SQL para la conexión de la aplicación web.

    a) Abra SQL Server Management Studio y conecte con la instancia de SQL Server. Para SQL Server Express, si es necesario, instale SQL Server Management Studio Express.

    b) Para SQL Server Express, permita los inicios de sesión de SQL. Para ello, haga clic con el botón derecho en el servidor (\SQLEXPRESS) en el árbol de la izquierda y haga clic en Propiedades. En la ventana Propiedades, haga clic en el vínculo de la página Seguridad. En el panel Seguridad, haga clic en la opción situada debajo de la autenticación del servidor para Modo de autenticación de Windows y SQL Server. Haga clic en Aceptar para guardar la configuración y cerrar el cuadro de diálogo Propiedades.

    c) Agregue un nuevo inicio de sesión de SQL expandiendo la carpeta Seguridad y haciendo clic en la carpeta Inicios de sesión. Haga clic con el botón derecho en la carpeta Inicios de sesión y haga clic en Nuevo inicio de sesión. En el cuadro de diálogo que se abre, introduzca un nombre para el nuevo inicio de sesión (p. ej., AGSApplications). Haga clic en la opción de autenticación de SQL Server, introduzca una contraseña y confirme la contraseña.

    d) En el mismo cuadro de diálogo de nuevo inicio de sesión, haga clic en el vínculo de la página Asignación de usuarios. En Usuarios asignados a este inicio de sesión:, active la casilla de verificación situada junto a la base de datos que contiene los usuarios del sistema ArcGIS Server. Asegúrese de que la base de datos se ha resaltado en el cuadro de diálogo y, en Pertenencia al rol de la base de datos: , active el rol db_owner. Haga clic en Aceptar para crear el inicio de sesión y su rol. Cierre SQL Server Management Studio.

    e) Inicie sesión en ArcGIS Server Manager > Seguridad > Configuración > Configurar...

    f) En el asistente de seguridad, haga clic en SQL Server para la ubicación del usuario, si es necesario, y haga clic en Siguiente.

    g) En el panel Especificar SQL Server, introduzca el nombre de SQL Server usando el nombre del servidor en lugar de "." o "localhost". Haga clic en Conectar para conectar con SQL Server.

    h) En la sección inferior del cuadro de diálogo que aparece, desactive la casilla de verificación Utilizar conexión de confianza. Introduzca el nombre de inicio de sesión y la contraseña del inicio de sesión de SQL que creó antes. Seleccione la base de datos en el menú desplegable Utilizar la base de datos existente. Haga clic en Siguiente y finalice el asistente como se indica.

    i) Vaya a la pestaña Aplicaciones y, para la aplicación web remota, haga clic en el botón Permisos.

    j) En el cuadro de diálogo Permisos, haga clic en Guardar (se pueden realizar cambios en los permisos, pero no es necesario). De esta forma, se modifica la configuración de la aplicación web con el inicio de sesión de SQL Server actualizado.

    k) Abra un navegador en la aplicación web remota e inicie sesión. Ahora debería poder iniciar sesión y usar la aplicación. Si se produce algún error de permisos, vuelva a comprobar la configuración para el inicio de sesión de SQL y la configuración de Manager.