Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Aggiunta di elementi tempdb all'avvio in SQL Server

Uhm, se hai utilizzato le impostazioni standard per abilitare lo stato della sessione ASP.Net in tempdb, il sistema dovrebbe aver generato un processo memorizzato (ASPState_Startup ) come segue nel database principale. Questo processo archiviato è configurato per essere eseguito automaticamente all'avvio di 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    

Quindi, le tabelle temporanee dovrebbero essere ricreate comunque, a meno che qualcosa non sia stato modificato dopo l'installazione.

Se sono necessarie autorizzazioni aggiuntive, cercherei di estendere il CreateTempTables esistente procedura in ASPState .

Se non funziona correttamente, potresti provare a utilizzare aspnet_regsql comando (trovato in %Windir%\Microsoft.Net\Framework\<framework version - per rimuovere, quindi aggiungere nuovamente il supporto dello stato della sessione al server. Vorresti usare -ssremove quindi -ssadd , ma suggerirei di passare /? prima di vedere tutte le opzioni applicabili.