Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Base de Dados SQL do Azure
Azure SQL Managed Instance
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
No SQL Server, o estado de um ficheiro de base de dados é mantido independentemente do estado da base de dados. Um ficheiro está sempre num estado específico, como ONLINE ou OFFLINE. Para visualizar o estado atual de um ficheiro, utilize a vista de catálogo sys.master_files ou sys.database_files . Se a base de dados estiver offline, o estado dos ficheiros pode ser visualizado a partir da vista de catálogo sys.master_files .
O estado dos ficheiros num grupo determina a disponibilidade de todo o grupo de ficheiros. Para que um grupo de arquivos esteja disponível, todos os arquivos dentro do grupo de arquivos devem estar online. Para visualizar o estado atual de um grupo de ficheiros, utilize a vista de catálogo sys.filegroups . Se um grupo de ficheiros estiver offline e tentar aceder ao grupo de ficheiros por uma instrução Transact-SQL, falhará com um erro. Quando o otimizador de consultas constrói planos de consulta para instruções SELECT, evita índices não agrupados e vistas indexadas que residem em grupos de ficheiros offline, permitindo que estas instruções tenham sucesso. No entanto, se o grupo de arquivos offline contiver o heap ou o índice clusterizado da tabela de destino, as instruções SELECT falharão. Além disso, qualquer instrução INSERT, UPDATE ou DELETE que modifique uma tabela com qualquer índice num grupo de ficheiros offline falhará.
Definições de Estado do Ficheiro
A tabela seguinte define os estados dos ficheiros.
| Estado | Definition |
|---|---|
| ONLINE | O ficheiro está disponível para todas as operações. Os ficheiros do grupo principal estão sempre online se a própria base de dados estiver online. Se um ficheiro no grupo primário não estiver online, a base de dados não está online e os estados dos ficheiros secundários são indefinidos. |
| OFFLINE | O ficheiro não está disponível para acesso e pode não estar presente no disco. Os ficheiros ficam offline por ação explícita do utilizador e permanecem offline até que sejam tomadas ações adicionais do utilizador. ** Cuidado ** O estado do ficheiro pode ser definido offline quando o ficheiro está corrompido, mas pode ser restaurado. Um ficheiro configurado para offline só pode ser definido online restaurando o ficheiro a partir de backup. Para mais informações sobre restauração de um único ficheiro, consulte RESTORE (Transact-SQL). Um ficheiro de base de dados também é definido OFFLINE quando uma base de dados está em recuperação total ou logada em massa e um ficheiro é descartado. A entrada em sys.master_files persiste até que um registo de transações seja truncado para além do valor drop_lsn. Para mais informações, consulte Truncamento do Registo de Transações. |
| RESTAURANDO | O ficheiro está a ser restaurado. Os ficheiros entram no estado de restauração devido a um comando de restauração que afeta todo o ficheiro, não apenas uma restauração de página, e permanecem nesse estado até que a restauração seja concluída e o ficheiro seja recuperado. |
| RECUPERAÇÃO PENDENTE | A recuperação do ficheiro foi adiada. Um ficheiro entra automaticamente neste estado devido a um processo de restauro fragmentado em que o ficheiro não é restaurado nem recuperado. É necessária uma ação adicional por parte do utilizador para resolver o erro e permitir a conclusão do processo de recuperação. Para mais informações, consulte Restaurações Parciais (SQL Server). |
| SUSPEITO | A recuperação do ficheiro falhou durante um processo de restauro online. Se o ficheiro estiver no grupo primário, a base de dados também é marcada como suspeita. Caso contrário, só o ficheiro é suspeito e a base de dados continua online. O ficheiro permanecerá no estado suspeito até ser disponibilizado por um dos seguintes métodos: Restauro e recuperação DBCC CHECKDB com REPAIR_ALLOW_DATA_LOSS |
| DESCONTINUADO | O ficheiro foi cancelado quando não estava online. Todos os ficheiros de um grupo de ficheiros tornam-se inativos quando um grupo offline é removido. |
Conteúdo relacionado
ALTERAR BASE DE DADOS (Transact-SQL)