Гм, если вы использовали стандартные настройки для включения состояния сеанса ASP.Net в базе данных tempdb, система должна была сгенерировать сохраненный процесс (ASPState_Startup
), как показано ниже в базе данных master. Этот сохраненный процесс настроен для автоматического запуска при запуске SQL Server:
USE master
GO
DECLARE @sstype nvarchar(128)
SET @sstype = N'sstype_temp'
IF UPPER(@sstype) = 'SSTYPE_TEMP' BEGIN
DECLARE @cmd nchar(4000)
SET @cmd = N'
/* Create the startup procedure */
CREATE PROCEDURE dbo.ASPState_Startup
AS
EXECUTE ASPState.dbo.CreateTempTables
RETURN 0'
EXEC(@cmd)
EXECUTE sp_procoption @ProcName='dbo.ASPState_Startup', @OptionName='startup', @OptionValue='true'
END
Таким образом, временные таблицы должны быть воссозданы в любом случае, если что-то не было изменено с момента установки.
Если требуются дополнительные разрешения, я бы хотел расширить существующую процедуру CreateTempTables
в ASPState
.
Если это не работает должным образом, вы можете попробовать использовать команду aspnet_regsql
(находится в %Windir%\Microsoft.Net\Framework\<framework version
- чтобы удалить, а затем снова добавить поддержку состояния сеанса на сервер. Вы можете использовать -ssremove
затем -ssadd
, но я бы предложил сначала пропустить /?
, чтобы увидеть все применимые параметры.