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.