Um, als je de standaardinstellingen hebt gebruikt om de ASP.Net-sessiestatus in tempdb in te schakelen, zou het systeem een opgeslagen proces moeten hebben gegenereerd (ASPState_Startup
) als volgt in de hoofddatabase. Deze opgeslagen procedure is geconfigureerd om automatisch te worden uitgevoerd bij het opstarten van 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
Dus de tijdelijke tabellen zouden hoe dan ook opnieuw moeten worden gemaakt, tenzij er iets is gewijzigd sinds de installatie.
Als er aanvullende machtigingen nodig zijn, zou ik kijken naar het uitbreiden van de bestaande CreateTempTables
procedure in ASPState
.
Als dit niet correct werkt, kunt u proberen de aspnet_regsql
. te gebruiken commando (te vinden onder %Windir%\Microsoft.Net\Framework\<framework version
- om sessiestatusondersteuning te verwijderen en vervolgens opnieuw toe te voegen aan de server. U zou -ssremove
. willen gebruiken dan -ssadd
, maar ik raad u aan /?
door te geven eerst om alle van toepassing zijnde opties te zien.