【发布时间】:2011-09-06 07:39:31
【问题描述】:
如何在 SQL Server 启动时向 tempdb 添加一些项目?
我不是这方面的专家,但是我们的 ASP SessionState 存储在数据库中,并且出于某种原因,用于会话状态的 tempdb 项在服务器重新启动时会被删除。我不仅需要重新创建项目,而且还必须重新创建到 tempdb 的用户映射。我有一个脚本可以做到这一点,但我不知道如何在 SQL 启动时运行它
-- Use TempDB
use tempdb
go
-- Create Temp tables if they don't exist
IF NOT EXISTS(
SELECT 1 FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE='BASE TABLE'
AND TABLE_NAME = 'ASPStateTempSessions')
BEGIN
EXECUTE [ASPState].[dbo].[CreateTempTables]
END
-- If ASPSessionState user isn't mapped to temp db, map it
IF IS_MEMBER('ASPSessionState') IS NULL
create user ASPSessionState from login ASPSessionState
-- Give ASPSessionState user read/write permissions to tempdb
exec sp_addrolemember db_datareader, ASPSessionState
go
exec sp_addrolemember db_datawriter , ASPSessionState
go
【问题讨论】:
标签: asp.net sql-server-2005 session-state