Configuración de SQL Server para almacenar ASP.NET estado de sesión

En este artículo se muestra cómo configurar Microsoft SQL Server para la administración del estado de sesión en modo ASP.NET SQL Server.

              Versión original del producto: ASP.NET
Número de KB original: 317604

Requisitos

En la lista siguiente se describen el hardware, el software, la infraestructura de red y los Service Pack recomendados que necesita:

  • Windows
  • .NET Framework
  • Internet Information Services (IIS)
  • SQL Server

Configuración de SQL Server para ASP.NET SQL Server estado de sesión

En los pasos siguientes se describe cómo ejecutar el InstallSqlState.sql y los archivos de script de UninstallSqlState.sql para configurar la administración del estado de sesión en modo SQL Server.

  1. En el analizador de consultas SQL, en el menú Archivo , seleccione Abrir.

  2. En el cuadro de diálogo Abrir archivo de consulta , vaya al archivo de script InstallSqlState.sql y, a continuación, seleccione Abrir. De forma predeterminada, InstallSqlState.sql se encuentra en una de las carpetas siguientes:

    • system drive\WINNT\Microsoft.NET\Framework\version\
    • system drive\Windows\Microsoft.NET\Framework\version\
  3. Después de InstallSqlState.sql se abre en el Analizador de consultas de SQL, seleccione Ejecutar en el menú Consulta para ejecutar el script.

  4. Antes de ejecutar el archivo de script de UninstallSqlState.sql para desinstalar SQL Server configuración de administración de estado de sesión en modo, debe detener el proceso w3svc. Para ello, siga estos pasos:

    1. En el menú Inicio de Windows , seleccione Ejecutar, escriba cmd y, a continuación, seleccione Aceptar para abrir un símbolo del sistema.
    2. En el símbolo del sistema, escriba net stop w3svc. Recibirá la confirmación de que el proceso de w3svc está detenido.
  5. En el analizador de consultas SQL, en el menú Archivo , seleccione Abrir.

  6. En el cuadro de diálogo Abrir archivo de consulta , vaya al archivo de script UninstallSqlState.sql y, a continuación, seleccione Abrir. De forma predeterminada, UninstallSqlState.sql se encuentra en una de las carpetas siguientes:

    • system drive\WINNT\Microsoft.NET\Framework\version\
    • system drive\Windows\Microsoft.NET\Framework\version\
  7. Una vez que se abra UninstallSqlState.sql en el Analizador de consultas de SQL, seleccione Ejecutar en el menú Consulta para ejecutar el script.

  8. Después de desinstalar SQL Server configuración de administración de estado de sesión en modo, debe reiniciar el servicio w3svc. Para reiniciar el proceso w3svc, escriba net start w3svc en un símbolo del sistema.

Modificación del archivo Web.config de la aplicación

Para implementar ASP.NET SQL Server administración del estado de sesión en modo, debe modificar el <sessionState> elemento del archivo deWeb.config de la aplicación de la siguiente manera:

  1. Establezca el atributo mode del <sessionState> elemento en SQLServer para indicar que el estado de la sesión se almacena en SQL Server.

  2. Establezca el sqlConnectionString atributo para especificar el cadena de conexión para SQL Server. Por ejemplo:

    sqlConnectionString="data source=MySQLServer;user id=<username>;password=<strongpassword>"
    

    Nota:

    El usuario, <nombre> de usuario, debe tener permisos para realizar esta operación en la base de datos.

El elemento modificado <sessionState> debe aparecer de la siguiente manera:

<sessionState
    mode="SQLServer"
    sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>"
    cookieless="false"
    timeout="20"
/>

Nota:

Asegúrese de usar el caso correcto al especificar el <sessionState> elemento y los valores de atributo asociados. Este código distingue mayúsculas de minúsculas.

Solución de problemas

  • Si no detiene el proceso w3svc antes de ejecutar el archivo de script UninstallSqlState.sql , recibirá el siguiente mensaje de error:

    No se puede quitar la base de datos 'ASPState' porque está actualmente en uso

  • Si las entradas de la tabla ASPStateTempSessions no se quitan después de que expiren las sesiones relacionadas, asegúrese de que el agente de SQL Server se está ejecutando. Puede implementar esta funcionalidad a través de procedimientos almacenados que se programan a través de trabajos en SQL Server. El agente SQL Server administra estos trabajos.

  • Cuando se usan los archivos de script de InstallSqlState.sql y UninstallSqlState.sql predeterminados para configurar la administración del estado de sesión en modo ASP.NET SQL Server. Estos archivos agregan las tablas ASPStateTempSessions y ASPStateTempApplications a la base de datos tempdb en SQL Server de forma predeterminada. Además, si reinicia SQL Server, perderá los datos de estado de sesión almacenados en las tablas ASPStateTempSessions y ASPStateTempApplications. Para obtener más información sobre cómo ejecutar scripts alternativos para configurar la administración de estado de sesión de SQL Server persistente para que no se pierdan los datos de sesión al reiniciar el servidor.

Referencias

Estado de sesión