sql中的ASP.NET会话状态

sql中的ASP.NET会话状态,asp.net,database,session,Asp.net,Database,Session,我们使用sql server存储asp.net的会话,当我查看ASPStateTempSessions数据库中的ASPStateTempSessions表时,它是空的,我想知道,一旦会话过期,该表中的记录是否会被删除?什么时候会删除那里的记录 InstallSqlState.sql脚本创建一个名为 ASPState\u Job\u DeleteExpiredSessions可从中删除过期会话 tempdb。请记住,ASP.NET不会使会话资源保持活动状态 无限期地在使用SQL Server执行以

我们使用sql server存储asp.net的会话,当我查看ASPStateTempSessions数据库中的ASPStateTempSessions表时,它是空的,我想知道,一旦会话过期,该表中的记录是否会被删除?什么时候会删除那里的记录

InstallSqlState.sql脚本创建一个名为 ASPState\u Job\u DeleteExpiredSessions可从中删除过期会话 tempdb。请记住,ASP.NET不会使会话资源保持活动状态 无限期地在使用SQL Server执行以下操作时支持此功能 在维护状态下,SQL Server代理必须正在运行,以便 根据需要运行过期的会话删除作业。默认情况下,作业是 计划每分钟运行一次。它使用 过期值小于当前时间。该帐户下的 SQL Server代理运行必须具有执行 DeleteExpiredSessions存储过程


请参阅

它现在已重命名为dbo.DeleteExpiredSessions

如果没有SQL Server代理,只需从命令行ie运行它

sqlcmd -S MyServerName -d MyStateDbName -E -Q "DeleteExpiredSessions"  
此外,如果要删除大量数据,可能需要执行DBCC收缩。

查看有关
DeleteExpiredSessions
存储过程的性能问题: