sql >> Database >  >> RDS >> Sqlserver

Tempdb-items toevoegen bij opstarten in SQL Server

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.




  1. Verfijning van Oracle DG40DBC

  2. SQL Server-bestandsnamen versus versies

  3. Hoe kan ik JSON_EXTRACT in MySQL gebruiken en een string krijgen zonder de aanhalingstekens?

  4. SQL Server 2005:schijfruimte ingenomen door verwijderde kolommen