Configurar SQL Server para armazenar ASP.NET estado da sessão

Este artigo demonstra como configurar o Microsoft SQL Server para o gerenciamento de estado da sessão de modo ASP.NET SQL Server.

Versão original do produto: ASP.NET
Número de KB original: 317604

Requisitos

A lista a seguir descreve os pacotes de serviço, software, infraestrutura de rede e hardware recomendados que você precisa:

  • Windows
  • .NET Framework
  • IIS (Serviços de Informações da Internet)
  • SQL Server

Configurar SQL Server para ASP.NET SQL Server estado da sessão

As etapas a seguir descrevem como executar o InstallSqlState.sql e os arquivos de script UninstallSqlState.sql para configurar SQL Server gerenciamento de estado da sessão de modo.

  1. No Analisador de Consultas SQL, no menu Arquivo , selecione Abrir.

  2. Na caixa de diálogo Abrir Arquivo de Consulta , navegue até o arquivo de script InstallSqlState.sql e selecione Abrir. Por padrão, InstallSqlState.sql está localizada em uma das seguintes pastas:

    • system drive\WINNT\Microsoft.NET\Framework\version\
    • system drive\Windows\Microsoft.NET\Framework\version\
  3. Depois que InstallSqlState.sql abrir no Analisador de Consultas SQL, selecione Executar no menu Consulta para executar o script.

  4. Antes de executar o arquivo de script UninstallSqlState.sql para desinstalar SQL Server configuração de gerenciamento de estado da sessão de modo, você deve interromper o processo w3svc. Para fazer isso, siga estas etapas:

    1. No menu Iniciar do Windows , selecione Executar, digite cmd e selecione OK para abrir um prompt de comando.
    2. No prompt de comando, digite net stop w3svc. Você recebe a confirmação de que o processo w3svc está interrompido.
  5. No Analisador de Consultas SQL, no menu Arquivo , selecione Abrir.

  6. Na caixa de diálogo Abrir Arquivo de Consulta , navegue até o arquivo de script UninstallSqlState.sql e selecione Abrir. Por padrão, UninstallSqlState.sql está localizada em uma das seguintes pastas:

    • system drive\WINNT\Microsoft.NET\Framework\version\
    • system drive\Windows\Microsoft.NET\Framework\version\
  7. Depois que UninstallSqlState.sql abrir no Analisador de Consultas SQL, selecione Executar no menu Consulta para executar o script.

  8. Depois de desinstalar SQL Server configuração de gerenciamento de estado da sessão de modo, você deve reiniciar o serviço w3svc. Para reiniciar o processo w3svc, digite net start w3svc em um prompt de comando.

Modificar o arquivo Web.config do seu aplicativo

Para implementar ASP.NET SQL Server gerenciamento de estado da sessão de modo, você deve modificar o <sessionState> elemento do arquivo Web.config do aplicativo da seguinte maneira:

  1. Defina o atributo de modo do <sessionState> elemento como SQLServer para indicar que o estado da sessão está armazenado em SQL Server.

  2. Defina o sqlConnectionString atributo para especificar o cadeia de conexão para SQL Server. Por exemplo:

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

    Observação

    O usuário, <nome de> usuário, deve ter permissões para executar essa operação no banco de dados.

O elemento modificado <sessionState> deve aparecer da seguinte maneira:

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

Observação

Verifique se você usa o caso correto ao especificar o <sessionState> elemento e os valores de atributo associados. Esse código é confidencial de caso.

Solução de problemas

  • Se você não interromper o processo w3svc antes de executar o arquivo de script UninstallSqlState.sql , receberá a seguinte mensagem de erro:

    Não é possível descartar o banco de dados 'ASPState' porque ele está em uso no momento

  • Se as entradas na tabela ASPStateTempSessions não forem removidas após a expiração das sessões relacionadas, verifique se o agente SQL Server está em execução. Você pode implementar essa funcionalidade por meio de procedimentos armazenados agendados por meio de trabalhos no SQL Server. O agente SQL Server gerencia esses trabalhos.

  • Quando você usa os arquivos de script padrão InstallSqlState.sql e UninstallSqlState.sql para configurar ASP.NET SQL Server gerenciamento de estado da sessão de modo. Esses arquivos adicionam as tabelas ASPStateTempSessions e ASPStateTempApplications ao banco de dados tempdb em SQL Server por padrão. Além disso, se você reiniciar SQL Server, perderá os dados de estado da sessão armazenados nas tabelas ASPStateTempSessions e ASPStateTempApplications. Para obter mais informações sobre como executar scripts alternativos para configurar o gerenciamento de estado de sessão persistente SQL Server para que os dados da sessão não sejam perdidos quando você reiniciar o servidor.

Referências

Estado da sessão