要解决此问题:
步骤1:
确保 SQL 代理服务正在运行,并检查名为SSPdatabaseName _Job_DeleteExpiredSessions 的 SQL 代理作业是否存在并成功运行。
如果您已启动 SQL 代理服务并且缺少 SQL 代理作业,请继续执行步骤 2
第2步:
在 SSP 数据库上手动运行 DeleteExpiredSessions 存储过程。
- 使用 Microsoft SSMS --> Client on New query 连接到数据库服务器。
- 确保您已在新查询窗口中选择了 SSP 数据库。
- 输入“EXEC DeleteExpiredSessions”并执行查询。
此命令将清理 ASPStateTempSessions 表并且不会删除任何活动连接。
注意:根据 ASPStateTempSessions 表的大小,建议在 SharePoint/SQL 服务器的非高峰时间运行此命令。
要注册将来自动运行的作业,请按照以下步骤操作:
- 确保 SQL 代理已打开(它也应设置为自动启动 Windows 服务)
- 获取包含缺少关联 SQL 代理作业的 ASPStateTempSessions 表的 SSP 数据库名称。
- 在 WFE 或具有服务器场的任何应用程序服务器上执行以下命令:
从命令提示符转到 ASP .Net 文件夹 %WINDIR%\Microsoft.NET\Framework\v2.0.50727\
aspnet_regsql.exe -sqlexportonly exportfilepath.sql -ssadd -sstype c -d SSP db name
- 在记事本中打开 exportfilepath.sql 文件,确保选择以下行之间的文本:
/* 创建作业以删除过期会话 */
和
/ * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * *** /
- 复制上面复制的测试并在托管 SSP 数据库的 SQL 框上执行代码。
现在您应该发现创建了一个 SQL 代理作业。
拉吉
来源:support.microsoft.com/kb/970788