Хм, ако сте използвали стандартните настройки, за да активирате състоянието на сесията на ASP.Net в tempdb, системата трябва да е генерирала съхранена процедура (ASPState_Startup
), както следва в главната база данни. Тази съхранена процедура е конфигурирана да се изпълнява автоматично при стартиране на 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
, но предлагам да подадете /?
първо, за да видите всички приложими опции.