Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Adicionando itens tempdb na inicialização no SQL Server


Hum, se você usou as configurações padrão para habilitar o estado da sessão ASP.Net no tempdb, o sistema deve ter gerado um proc armazenado (ASPState_Startup ) como segue no banco de dados mestre. Este proc armazenado está configurado para ser executado automaticamente na inicialização do 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    

Portanto, as tabelas temporárias devem ser recriadas de qualquer maneira, a menos que algo tenha sido alterado desde a instalação.

Se forem necessárias permissões adicionais, gostaria de estender o CreateTempTables existente procedimento em ASPState .

Se isso não estiver funcionando corretamente, você pode tentar usar o aspnet_regsql comando (encontrado em %Windir%\Microsoft.Net\Framework\<framework version - para remover e adicionar novamente o suporte de estado de sessão ao servidor. Você gostaria de usar -ssremove então -ssadd , mas sugiro passar /? primeiro a ver todas as opções aplicáveis.