Las variables de sesión en ASP.NET se guardan por defecto en el modo "InProc". Si deseamos hacer persistente esta información debemos utilizar otros modos como "StateServer" o "SQLServer".
Si optamos por ésta última opción, Microsoft nos ofrece herramientas para automatizar esos procesos.
En la ruta C:\Windows\Microsoft.NET\Framework\ del servidor donde vayamos a incluir la base de datos dentro del directorio de la versión de Framework que utilicemos (por ejemplo v4.0.30319)
encontraremos el ejecutable aspnet_regsql.exe que tendremos que ejecutar con permisos de administrador de SQL Server, los parámetros más comunes son:
- -S <servidor>
- Instancia de SQL Server (7.0 o superior) con la que trabajar.
- -E
- Autenticación con la credenciales de Windows.
- -U <usuario>
- Nombre de usuario de SQL Server para la autenticación.
- -P <contraseña>
- Contraseña de SQL Server para la autenticación.
- -ssadd
- Agrega la compatibilidad para el estado de sesión en el modo "SQLServer".
- -ssremove
- Elimina la compatibilidad para el estado de sesión en el modo "SQLServer".
- -sstype t|p|c
- Tipo de compatibilidad
- t Base de datos "tempdb" los datos no se guardan si se reinicia SQL.
- p Base de datos predeterminada "ASPState"
- c Base de datos personalizada
- Tipo de compatibilidad
- -d <base de datos>
- Base de datos personalizada de la opción -sstype c
Como ejemplo ejecutaríamos desde la ruta C:\Windows\Microsoft.NET\Framework\v4.0.30319 el comando aspnet_regsql.exe -S SE41SDB31\SQLSERVER2008P -U TURNOSASPRE -P _TURNOSASPRE_ -ssadd -sstype c -d TurnoSASPRE