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

Perché il mio tempdb reimposta le autorizzazioni quando il server viene riavviato?

Prima di tutto, non dovresti assegnare autorizzazioni direttamente al tempdb. Per le ovvie ragioni per cui viene ricreato ad ogni riavvio.

Il che in realtà solleva una domanda:perché è comunque necessario disporre di autorizzazioni dirette per questo database?

Non sono necessarie autorizzazioni oltre alla semplice possibilità di connettersi al server sql per creare tabelle temporanee. Tuttavia, se stai creando tabelle reali nel tempdb, ti consiglio vivamente di modificarlo per utilizzare un database dedicato a questo scopo.

AGGIORNAMENTO
Sulla base del commento di Martin tutto quello che posso dire è wow. Non avrei mai nemmeno considerato che questa sarebbe stata un'opzione.

Ok, ora che mi sono ripreso dallo shock.

Crea un nuovo lavoro nel server sql che viene eseguito in base a una pianificazione. La pianificazione deve essere impostata su "Avvia automaticamente all'avvio di SQL Server Agent". Il processo dovrebbe ricreare le autorizzazioni tempdb necessarie.

In poche parole, quando il server viene riavviato, SQL Server Agent verrà riavviato (a condizione che il servizio sia impostato in questo modo). Al riavvio, avvierà questo lavoro che risolverà le tue autorizzazioni. Mi aspetto che il sito rimanga inattivo solo per pochi secondi in più rispetto al riavvio completo del server SQL.