Compartilhar via


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

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

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

Requisitos

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

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

Configurar o SQL Server para ASP.NET estado de sessão do SQL Server

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

  1. No SQL Query Analyzer, 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á localizado em uma das seguintes pastas:

    • system drive\WINNT\Microsoft.NET\Framework\version\
    • system drive\Windows\Microsoft.NET\Framework\version\
  3. Depois que InstallSqlState.sql for aberto no SQL Query Analyzer, selecione Executar no menu Consulta para executar o script.

  4. Antes de executar o arquivo de script UninstallSqlState.sql para desinstalar a configuração de gerenciamento de estado de sessão do modo SQL Server, 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 foi interrompido.
  5. No SQL Query Analyzer, 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á localizado em uma das seguintes pastas:

    • system drive\WINNT\Microsoft.NET\Framework\version\
    • system drive\Windows\Microsoft.NET\Framework\version\
  7. Depois que UninstallSqlState.sql for aberto no SQL Query Analyzer, selecione Executar no menu Consulta para executar o script.

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

Modifique o arquivo Web.config do seu aplicativo

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

  1. Defina o atributo mode do elemento como SQLServer para indicar que o <sessionState> estado da sessão é armazenado no SQL Server.

  2. Defina o sqlConnectionString atributo para especificar a 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

Certifique-se de usar as maiúsculas e minúsculas corretas ao especificar o <sessionState> elemento e os valores de atributo associados. Esse código diferencia maiúsculas de minúsculas.

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 do 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 do SQL Server gerencia esses trabalhos.

  • Quando você usa o InstallSqlState.sql padrão e UninstallSqlState.sql arquivos de script para configurar ASP.NET gerenciamento de estado de sessão no modo SQL Server. Esses arquivos adicionam as tabelas ASPStateTempSessions e ASPStateTempApplications ao banco de dados tempdb no SQL Server por padrão. Além disso, se você reiniciar o SQL Server, perderá os dados de estado da sessão que foram 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 do SQL Server para que os dados da sessão não sejam perdidos quando você reiniciar o servidor.

Referências

Estado da sessão