Um, om du har använt standardinställningarna för att aktivera ASP.Net-sessionstillstånd i tempdb, borde systemet ha genererat en lagrad proc (ASPState_Startup
) enligt följande i huvuddatabasen. Denna lagrade proc är konfigurerad att köras automatiskt vid uppstart av 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
Så de tillfälliga tabellerna bör återskapas ändå, om inte något har ändrats sedan installationen.
Om ytterligare behörigheter krävs, skulle jag överväga att utöka de befintliga CreateTempTables
procedur i ASPState
.
Om detta inte fungerar korrekt kan du försöka använda aspnet_regsql
kommando (finns under %Windir%\Microsoft.Net\Framework\<framework version
- för att ta bort och lägg sedan till stöd för sessionstillstånd på servern igen. Du vill använda -ssremove
sedan -ssadd
, men jag skulle föreslå att du skickar /?
först för att se alla tillämpliga alternativ.