Stati del database

Lo stato di un database è sempre specifico e può essere ad esempio ONLINE, OFFLINE o SUSPECT. Per verificare lo stato corrente di un database, selezionare la colonna state_desc nella vista del catalogo sys.databases oppure la proprietà Status della funzione DATABASEPROPERTYEX.

Definizioni degli stati del database

Nella tabella seguente sono riportate le definizioni degli stati del database.

Stato

Definizione

ONLINE

Il database è disponibile per l'accesso. Il filegroup primario è in linea sebbene sia possibile che la fase di annullamento del recupero non sia stata completata.

OFFLINE

Il database non è disponibile. Un database viene portato non in linea a seguito di un'azione esplicita da parte dell'utente e rimane tale finché l'utente non interviene. È ad esempio possibile che il database sia stato portato non linea per consentire lo spostamento di un file su un nuovo disco. In tal caso verrà portato nuovamente in linea dopo il completamento dell'operazione di spostamento.

RESTORING

È in corso il ripristino di uno o più file del filegroup primario oppure il ripristino di uno o più file secondari viene eseguito non in linea. Il database non è disponibile.

RECOVERING

È in corso il recupero del database. Il processo di recupero è uno stato temporaneo. Il database verrà portato automaticamente in linea se il recupero ha esito positivo. Se invece ha esito negativo, il database verrà contrassegnato come sospetto. Il database non è disponibile.

RECOVERY PENDING

SQL Server ha rilevato un errore correlato a una risorsa durante il recupero. Il database non è danneggiato, tuttavia i file potrebbero risultare mancanti oppure limitazioni relative alle risorse di sistema ne potrebbero impedire l'avvio. Il database non è disponibile. Per risolvere il problema che ha causato l'errore e consentire il completamento del processo di recupero, è necessario un ulteriore intervento da parte dell'utente.

SUSPECT

Almeno il filegroup primario è sospetto e potrebbe essere danneggiato. Non è possibile recuperare il database durante l'avvio di SQL Server. Il database non è disponibile. Per risolvere il problema, è necessario l'intervento dell'utente.

EMERGENCY

L'utente ha modificato il database e impostato lo stato su EMERGENCY. Il database è in modalità utente singolo e può corretto o ripristinato. Il database è contrassegnato come READ_ONLY, la registrazione è disattivata e l'accesso è limitato ai soli membri del ruolo predefinito del server sysadmin. Lo stato EMERGENCY viene utilizzato principalmente per la risoluzione dei problemi. È ad esempio possibile impostare lo stato EMERGENCY per un database contrassegnato come sospetto in modo da consentire all'amministratore di sistema di accedere in sola lettura al database. Solo i membri del ruolo predefinito del server sysadmin possono impostare lo stato EMERGENCY per un database.