Stati dei file

Stati dei file

 

Si applica a: SQL Server 2016

In SQL Server lo stato di un file di database viene gestito in modo indipendente dallo stato del database. Lo stato di un file è sempre specifico, ad esempio ONLINE o OFFLINE. Per visualizzare lo stato corrente di un file, usare la vista del catalogo sys.master_files o sys.database_files. Se il database è offline, lo stato dei file è indicato nella vista del catalogo sys.master_files.

Lo stato dei file di un filegroup determina la disponibilità dell'intero filegroup. Un filegroup è disponibile se tutti i file in esso inclusi sono online. Per visualizzare lo stato corrente di un filegroup, usare la vista del catalogo sys.filegroups. Se un filegroup è offline e si tenta di accedervi tramite un'istruzione Transact-SQL, l'operazione avrà esito negativo e verrà restituito un errore. Quando Query Optimizer compila i piani di query per le istruzioni SELECT, evita gli indici non cluster e le viste cluster incluse nei filegroup offline, lasciando che queste istruzioni vengano eseguite. Se tuttavia il filegroup offline contiene l'indice cluster o heap della tabella di destinazione, l'istruzione SELECT avrà esito negativo, così come tutte le istruzioni INSERT, UPDATE o DELETE che implicano la modifica di una tabella tramite un indice incluso in un filegroup offline.

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

StateDefinizione
ONLINEIl file è disponibile per tutte le operazioni. I file del filegroup primario sono sempre online se il database stesso è online. Se un file del filegroup primario non è online, il database non sarà online e gli stati dei file secondari risulteranno indefiniti.
OFFLINEIl file non è accessibile e potrebbe non essere presente sul disco. I file vengono portati offline a seguito di un'azione esplicita da parte dell'utente e rimangono tali finché l'utente non interviene.

 ** Attenzione ** Un file deve essere portato offline solo se è danneggiato, ma può essere ripristinato. Per riportare online un file impostato su offline, è necessario ripristinare il file dal backup. Per altre informazioni sul ripristino di un singolo file, vedere RESTORE (Transact-SQL).
RESTORINGIl file è in fase di ripristino. Questo stato indica che è stato eseguito un comando di ripristino che interessa l'intero file e non solo una pagina e rimarrà attivo fino al completamento dell'operazione di ripristino e di recupero del file.
RECOVERY PENDINGIl recupero del file è stato posticipato. Questo stato viene attivato automaticamente durante un processo di ripristino a fasi in cui il file non viene ripristinato e recuperato. Per risolvere l'errore e consentire il completamento del processo di recupero, è necessario un ulteriore intervento da parte dell'utente. Per altre informazioni, vedere Ripristini a fasi (SQL Server).
SUSPECTNon è stato possibile recuperare il file durante un processo di ripristino online. Se il file è incluso nel filegroup primario, anche il database viene contrassegnato come suspect, ovvero sospetto. In caso contrario, solo il file sarà sospetto mentre il database risulterà ancora online.

Lo stato suspect rimarrà attivo finché il file non viene reso disponibile mediante uno dei metodi seguenti:

Ripristino e recupero

DBCC CHECKDB con REPAIR_ALLOW_DATA_LOSS
DEFUNCTIl file è stato eliminato quando non era online. Lo stato di tutti i file di un filegroup è defunct quando si rimuove un filegroup offline.

ALTER DATABASE (Transact-SQL)

Stati del database

Stati di mirroring (SQL Server)

DBCC CHECKDB (Transact-SQL)

Filegroup e file di database

Aggiunte alla community

AGGIUNGI
Mostra:
© 2016 Microsoft