asp.net - 为什么我的 tempdb 在服务器重新启动时会重置权限?

标签 asp.net sql-server-2005 permissions session-state tempdb

过去两次我们重新启动了 SQL 服务器,我们的网站就瘫痪了。原因似乎是因为 tempdb 正在重新创建,并且 ASPState 用户失去了读/写 tempdb 的权限(它是 ASP 站点, session 数据存储在 SQL Server 中)

直到大约两周前这才成为问题。有谁知道如何防止 sql server 在重新启动后重置 tempdb 权限?或者为什么这种情况最近才开始发生?我们使用的是 MS SQL Server 2005。

最佳答案

首先,您不应该直接向 tempdb 分配权限。由于明显的原因,它会在每次重新启动时重新创建。

这实际上提出了一个问题:为什么您需要拥有此数据库的直接权限?

除了能够连接到 sql server 来创建临时表之外,您不需要任何权限。但是,如果您在 tempdb 中创建真实的表,那么我强烈建议您更改此设置以使用专用数据库来实现此目的。

更新
根据马丁的评论,我只能说哇。我从来没有想过这是一个选择。

好了,现在我已经从震惊中恢复过来了。

在 sql server 中创建一个按计划执行的新作业。计划应设置为“每当 SQL Server 代理启动时自动启动”。该作业应重新创建您必要的 tempdb 权限。

简而言之,当服务器重新启动时,SQL Server 代理将重新启动(前提是服务是这样设置的)。当它重新启动时,它将启动此作业,然后修复您的权限。我希望该站点保持关闭状态的时间仅比 SQL Server 完全重新启动所需的时间多几秒钟。

关于asp.net - 为什么我的 tempdb 在服务器重新启动时会重置权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5315897/

相关文章:

asp.net - 如何更改 WebClient 中的 UrlReferrer

sql-server-2005 - SQL Server 实际使用了多少 RAM?

sql-server - 对于 XML 路径 ('' ) : Escaping "special" characters

sql - sql查询权限被拒绝

html - 如何在保存图像时禁用保存图像并将后缀更改为.htm?

android - 使用 Android Q ffmpeg 拒绝权限” : error=13, 权限被拒绝

asp.net - IIS Express localhost 对于第一个请求加载速度非常慢

c# - 用户访问 img 文件

c# - 在 RowDataBound 中设置 OnClientClick 后事件未触发

sql - 将excel文件保存在sql server中的数据类型?