根据这个方法,我已经在SQL-2008 Express的XP-SP3开发盒上成功配置了IIS以保存ASP.NET会话状态信息.我只是在使用SQL Server,因为否则在每次重新编译时,我都会丢失令人讨厌的会话状态(必须重新登录).但是,我面临一个恼人的问题,因为每次重新启动SQL时都会出现此错误,有时还有一两个非常相似的朋友:
The SELECT permission was denied on the object 'ASPStateTempSessions',
database 'tempdb', schema 'dbo'.
Run Code Online (Sandbox Code Playgroud)
要修复错误,我只需打开Management Studio并编辑我在ASPState数据库上使用的登录/ dbo的用户映射,然后重新添加tempdb到具有除拒绝权限之外的用户.显然,一旦有了正确的权限,ASP.NET就能够自动创建它使用的表.只有CreateTempTables在正确的安全性存在之前,才能运行该sproc.
问题... 有没有办法在每次重启SQL Server时不必重新执行此操作?
我现在并不关心如何在重新启动时保持临时数据,但我想不必经过这个手动步骤只是为了让我的web应用程序在localhost上运行,localhost使用会话状态变量.我想可以在SQL Server中使用某种存储过程来在服务启动时完成该机器的任务,而不必手动完成.我接受这样的答案作为快速解决方案.但是,我也假设有更好的推荐配置或其他东西.没有在如何指导或在StackOverflow上的其他地方看到这个问题的答案.