sql >> Base de Datos >  >> RDS >> Sqlserver

Agregar elementos tempdb al inicio en SQL Server

Um, si usó la configuración estándar para habilitar el estado de sesión de ASP.Net en tempdb, el sistema debería haber generado un proceso almacenado (ASPState_Startup ) de la siguiente manera en la base de datos maestra. Este proceso almacenado está configurado para ejecutarse automáticamente al iniciar 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    

Por lo tanto, las tablas temporales deberían volver a crearse de todos modos, a menos que se haya modificado algo desde la instalación.

Si se requieren permisos adicionales, buscaría extender las CreateTempTables existentes procedimiento en ASPState .

Si esto no funciona correctamente, puede intentar usar aspnet_regsql comando (que se encuentra en %Windir%\Microsoft.Net\Framework\<framework version - para eliminar y luego volver a agregar soporte de estado de sesión al servidor. Querrías usar -ssremove entonces -ssadd , pero sugeriría pasar /? primero para ver todas las opciones aplicables.