你目前正处于脱机状态,正在等待 Internet 重新连接

如何为持久性 SQL Server 会话状态管理配置 ASP.NET

概要
本文将介绍脚本文件;介绍的脚本文件可以将 Microsoft SQL Server 配置为支持 ASP.NET SQL Server 模式会话状态管理,以使会话数据保留在 tempdb 数据库外部。本文包括有关下载这两个可选脚本文件的信息;这两个脚本文件的名称分别为 InstallPersistSqlState.sql 和 UninstallPersistSqlState.sql。

注意:本文中引用的可下载脚本仅适用于 Microsoft .NET Framework 1.0。您不能将这些脚本用于 Microsoft .NET Framework 1.1,因为 .NET Framework 1.1 不支持它们。当您使用 .NET Framework 1.1 开发应用程序时,请改用 .NET Framework 1.1 提供的持久性脚本。


要求

  • Microsoft Windows XP、Microsoft Windows 2000 Professional、Microsoft Windows 2000 Server 或 Microsoft Windows 2000 Advanced Server
  • Microsoft .NET Framework
  • Microsoft Internet 信息服务 (IIS)
  • Microsoft SQL Server

技术说明

当您使用原始 SQL Server 模式会话状态管理脚本文件(InstallSqlState.sql 和 UninstallSqlState.sql)时,ASPStateTempApplicationsASPStateTempSessions 表将在 tempdb 数据库中创建以存储该会话数据。但是,该会话状态数据将在重新启动运行 SQL Server 的计算机时丢失。

脚本的持久性版本(InstallPersistSqlState.sql 和 UninstallPersistSqlState.sql)是在 ASPState 数据库中创建这些表的,因而解决了此问题。这样,在重新启动运行 SQL Server 的计算机后仍会保留会话数据。

要获取 InstallPersistSqlState.sql 和 UninstallPersistSqlState.sql 文件,请下载 PersistSqlState.exe 自解压缩可执行文件。可以从 Microsoft 下载中心下载以下文件:
发布日期:2002 年 4 月 23 日

有关如何下载 Microsoft 支持文件的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
119591 如何从联机服务获取 Microsoft 支持文件
Microsoft 已对此文件进行了病毒扫描。Microsoft 使用的是该文件发布时可以获得的最新病毒检测软件。该文件存储在安全性得到增强的服务器上,以防止在未经授权的情况下对其进行更改。

配置持久性 SQL Server 模式会话状态管理

要运行配置了持久性 SQL Server 模式会话状态管理的 InstallPersistSqlState.sql 脚本文件,请按照下列步骤操作:
  1. 如果您以前使用原始 InstallSqlState.sql 文件来配置 SQL Server 模式会话状态,则必须运行原始 UninstallSqlState.sql 文件以删除 SQL Server 模式会话状态。
  2. 在 SQL 查询分析器中,单击文件菜单上的打开
  3. 打开查询文件对话框中,单击 InstallPersistSqlState.sql,然后单击打开
  4. 单击查询菜单上的执行以执行脚本文件。

删除持久性 SQL Server 模式会话状态管理配置

要运行删除持久性 SQL Server 模式会话状态管理配置的 UninstallPersistSqlState.sql 脚本文件,请按照下列步骤操作:
  1. 在 SQL 查询分析器中,单击文件菜单上的打开
  2. 打开查询文件对话框中,单击 UninstallPersistSqlState.sql,然后单击打开
  3. 在执行 UninstallPersistSqlState.sql 脚本之前,您必须停止 w3svc 服务。要停止 w3svc 服务,请按照下列步骤操作:
    1. 单击开始,然后单击运行
    2. 打开框中键入 cmd,然后单击确定
    3. 在命令提示符下,键入 net stop w3svc。您将收到 w3svc 服务已停止的确认。
  4. 在 SQL 查询分析器中,单击查询菜单上的执行以执行脚本文件。
  5. 在卸载完成后重新启动 w3svc 服务。为此,请在命令提示符处键入 net start w3svc

疑难解答

  • 如果您在执行 UninstallPersistSqlState.sql 脚本前没有停止 w3svc 服务,则可能收到以下错误信息:
    Cannot drop the database 'ASPState' because it is currently in use
  • 如果您注意到在相关会话超过有效期后 ASPStateTempSessions 表中的项目还没有删除,请确保 SQL Server 代理正在运行。此功能是通过在 SQL Server 的作业中预定存储过程来实现的。SQL Server 代理管理这些作业。

参考
若要了解如何运行为 ASP.NET SQL Server 模式会话状态管理配置 SQL Server 的默认脚本的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
317604 如何配置 SQL Server 以存储 ASP.NET 会话状态
有关 net startnet stop 命令的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
236166 使用 NET STOP 和 NET START 命令强制 IIS 服务重新读取注册表
有关 ASP.NET 和 ASP.NET 状态管理的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
305140 INFO:ASP.NET 指南
307598 INFO:ASP.NET 状态管理概述
有关 ASP.NET 会话状态管理的更多信息,请参阅 MSDN 上的 Nothin' but ASP.NET 专栏中的以下文章:
PersistSqlState
属性

文章 ID:311209 - 上次审阅时间:06/01/2007 02:51:39 - 修订版本: 6.8

  • Microsoft ASP.NET 1.0
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 7.0 标准版
  • Microsoft SQL Server 2000 64-bit Edition
  • kbdownload kbhowtomaster kbstate KB311209
反馈