您的位置:首页 > 编程语言 > ASP

用数据库保存Session及创建ASPState数据库时出现的问题

2016-06-23 10:43 726 查看
[b]sessionState 使用 SQLServer 模式:[/b]
在运行 SQL Server 的计算机(将存储会话状态)上运行 InstallSqlState.sql(默认安装在 <Drive>:\systemroot\Microsoft.NET\Framework\version中)。它将使用新的存储过程和 TempDB 数据库中的 ASPStateTempApplications 和 ASPStateTempSessions 表创建一个称为 ASPState 的数据库。
在应用程序的 Web.config 文件中,设置 mode=SQLServer 并设置 sqlConnectionString 属性。例如,sqlConnectionString="data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"。

 


使用aspnet_regsql.exe 创建ASPState数据库,用来保存session会话

因为公司有多台服务器,所以session要保存在sql server上,因此要在数据库中建立存放session的数据库ASPState,

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727下找到了生成ASPState的sql:InstallSqlState.sql

马上打开,放到查询分析器里执行,怪了,在这里出问题了,报出了如下错误:

-----------------------------------------

Starting execution of InstallSqlState.SQL

-----------------------------------------

--------------------------------------------------

Note:                                           

Do not run this file manually.                  

You should use aspnet_regsql.exe to install     

and uninstall SQL session state.                

Run 'aspnet_regsql.exe -?' for details.       

--------------------------------------------------

If the job does not exist, an error from msdb.dbo.sp_delete_job is expected.

消息 14262,级别 16,状态 1,过程 sp_verify_job_identifiers,第 67 行

指定的 @job_name ('ASPState_Job_DeleteExpiredSessions')不存在。

If the category already exists, an error from msdb.dbo.sp_add_category is expected.

消息 14261,级别 16,状态 1,过程 sp_add_category,第 32 行

指定的 @name ('[Uncategorized (Local)]')已存在。

------------------------------------------

这段里说要运行aspnet_regsql.exe 来创建,为什么要这样搞呢?

于是打开VS2005命令提示,输入:aspnet_regsql.exe -?

出现了aspnet_regsql.exe的说明,往下拉会看到"会话状态选项",有一命令:-ssadd(Session state add?) 解释说:添加对 sqlserver 模式会话状态的支持.

估计就是这个了,输入: aspnet_regsql.exe -ssadd

提示:请指定用户ID,或对受信任的连接使用-E

输入如下:aspnet_regsql.exe -ssadd -E

成功.

也可以指定用户名:aspnet_regsql.exe -ssadd -U sa

会提示输入密码.正确输入后也会执行成功.

也可以指定用 服务器和户名:aspnet_regsql.exe -ssadd -S 192.168.0.108 -U sa

会提示输入密码.正确输入后也会执行成功.

删除该功能的话执行aspnet_regsql.exe -ssremove -E

就OK了.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: