Um, jeśli użyłeś standardowych ustawień, aby włączyć stan sesji ASP.Net w tempdb, system powinien wygenerować przechowywaną procedurę (ASPState_Startup ) w następujący sposób w głównej bazie danych. Ten przechowywany proces jest skonfigurowany do automatycznego uruchamiania przy starcie 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
Tak więc tabele tymczasowe powinny i tak zostać odtworzone, chyba że coś zostało zmienione od czasu instalacji.
Jeśli wymagane są dodatkowe uprawnienia, chciałbym rozszerzyć istniejące CreateTempTables procedura w ASPState .
Jeśli to nie działa poprawnie, możesz spróbować użyć aspnet_regsql polecenie (znaleziono w %Windir%\Microsoft.Net\Framework\<framework version - aby usunąć, a następnie ponownie dodać obsługę stanu sesji do serwera. Chciałbyś użyć -ssremove następnie -ssadd , ale proponuję przekazać /? najpierw, aby zobaczyć wszystkie odpowiednie opcje.