Stati dei fileFile States

In SQL ServerSQL Serverlo stato di un file di database viene gestito in modo indipendente dallo stato del database.In SQL ServerSQL Server, the state of a database file is maintained independently from the state of the database. Lo stato di un file è sempre specifico, ad esempio ONLINE o OFFLINE.A file is always in one specific state, such as ONLINE or OFFLINE. Per visualizzare lo stato corrente di un file, usare la vista del catalogo sys.master_files o sys.database_files .To view the current state of a file, use the sys.master_files or sys.database_files catalog view. Se il database è offline, lo stato dei file è indicato nella vista del catalogo sys.master_files .If the database is offline, the state of the files can be viewed from the sys.master_files catalog view.

Lo stato dei file di un filegroup determina la disponibilità dell'intero filegroup.The state of the files in a filegroup determines the availability of the whole filegroup. Un filegroup è disponibile se tutti i file in esso inclusi sono online.For a filegroup to be available, all files within the filegroup must be online. Per visualizzare lo stato corrente di un filegroup, usare la vista del catalogo sys.filegroups .To view the current state of a filegroup, use the sys.filegroups catalog view. Se un filegroup è offline e si tenta di accedervi tramite un'istruzione Transact-SQLTransact-SQL , l'operazione avrà esito negativo e verrà restituito un errore.If a filegroup is offline and you try to access the filegroup by a Transact-SQLTransact-SQL statement, it will fail with an error. 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.When the query optimizer builds query plans for SELECT statements, it avoids nonclustered indexes and indexed views that reside in offline filegroups, letting these statements to succeed. Se tuttavia il filegroup offline contiene l'indice cluster o heap della tabella di destinazione, l'istruzione SELECT avrà esito negativo,However, if the offline filegroup contains the heap or clustered index of the target table, the SELECT statements fail. così come tutte le istruzioni INSERT, UPDATE o DELETE che implicano la modifica di una tabella tramite un indice incluso in un filegroup offline.Additionally, any INSERT, UPDATE, or DELETE statement that modifies a table with any index in an offline filegroup will fail.

Definizioni degli stati del fileFile State Definitions

Nella tabella seguente sono riportate le definizioni degli stati del file.The following table defines the file states.

StateState DefinizioneDefinition
ONLINEONLINE Il file è disponibile per tutte le operazioni.The file is available for all operations. I file del filegroup primario sono sempre online se il database stesso è online.Files in the primary filegroup are always online if the database itself is online. Se un file del filegroup primario non è online, il database non sarà online e gli stati dei file secondari risulteranno indefiniti.If a file in the primary filegroup is not online, the database is not online and the states of the secondary files are undefined.
OFFLINEOFFLINE Il file non è accessibile e potrebbe non essere presente sul disco.The file is not available for access and may not be present on the disk. I file vengono portati offline a seguito di un'azione esplicita da parte dell'utente e rimangono tali finché l'utente non interviene.Files become offline by explicit user action and remain offline until additional user action is taken.

** Attenzione *\* Un file deve essere portato offline solo se è danneggiato, ma può essere ripristinato.** Caution *\* A file should only be set offline when the file is corrupted, but it can be restored. Per riportare online un file impostato su offline, è necessario ripristinare il file dal backup.A file set to offline can only be set online by restoring the file from backup. Per altre informazioni sul ripristino di un singolo file, vedere RESTORE (Transact-SQL).For more information about restoring a single file, see RESTORE (Transact-SQL).
RESTORINGRESTORING Il file è in fase di ripristino.The file is being restored. 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.Files enter the restoring state because of a restore command affecting the whole file, not just a page restore, and remain in this state until the restore is completed and the file is recovered.
RECOVERY PENDINGRECOVERY PENDING Il recupero del file è stato posticipato.The recovery of the file has been postponed. Questo stato viene attivato automaticamente durante un processo di ripristino a fasi in cui il file non viene ripristinato e recuperato.A file enters this state automatically because of a piecemeal restore process in which the file is not restored and recovered. Per risolvere l'errore e consentire il completamento del processo di recupero, è necessario un ulteriore intervento da parte dell'utente.Additional action by the user is required to resolve the error and allow for the recovery process to be completed. Per altre informazioni, vedere Ripristini a fasi (SQL Server).For more information, see Piecemeal Restores (SQL Server).
SUSPECTSUSPECT Non è stato possibile recuperare il file durante un processo di ripristino online.Recovery of the file failed during an online restore process. Se il file è incluso nel filegroup primario, anche il database viene contrassegnato come suspect, ovvero sospetto.If the file is in the primary filegroup, the database is also marked as suspect. In caso contrario, solo il file sarà sospetto mentre il database risulterà ancora online.Otherwise, only the file is suspect and the database is still online.

Lo stato suspect rimarrà attivo finché il file non viene reso disponibile mediante uno dei metodi seguenti:The file will remain in the suspect state until it is made available by one of the following methods:

Ripristino e recuperoRestore and recovery

DBCC CHECKDB con REPAIR_ALLOW_DATA_LOSSDBCC CHECKDB with REPAIR_ALLOW_DATA_LOSS
DEFUNCTDEFUNCT Il file è stato eliminato quando non era online.The file was dropped when it was not online. Lo stato di tutti i file di un filegroup è defunct quando si rimuove un filegroup offline.All files in a filegroup become defunct when an offline filegroup is removed.

ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)

Stati del databaseDatabase States

Stati di mirroring (SQL Server)Mirroring States (SQL Server)

DBCC CHECKDB (Transact-SQL)DBCC CHECKDB (Transact-SQL)

Filegroup e file di databaseDatabase Files and Filegroups