파일 상태
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
SQL Server에서 데이터베이스 파일의 상태는 데이터베이스의 상태와는 별도로 유지 관리됩니다. 파일은 항상 하나의 특정 상태에 있습니다. 예를 들어 ONLINE이나 OFFLINE 상태일 수 있습니다. 파일의 현재 상태를 보려면 sys.master_files 또는 sys.database_files 카탈로그 뷰를 사용합니다. 데이터베이스가 오프라인인 경우 sys.master_files 카탈로그 뷰에서 파일의 상태를 볼 수 있습니다.
전체 파일 그룹의 가용성은 파일 그룹의 파일의 상태에 따라 결정됩니다. 파일 그룹을 사용하려면 파일 그룹 내의 모든 파일이 온라인 상태여야 합니다. 파일 그룹의 현재 상태를 보려면 sys.filegroups 카탈로그 뷰를 사용합니다. 파일 그룹이 오프라인 상태고 Transact-SQL 문으로 파일 그룹에 액세스하려고 하면 오류가 발생하며 실패하게 됩니다. SELECT 문에 대한 쿼리 계획을 작성할 때 쿼리 최적화 프로그램은 오프라인 파일 그룹에 있는 비클러스터형 인덱스 및 인덱싱된 뷰는 피함으로써 이러한 문이 성공하도록 합니다. 그러나 오프라인 파일 그룹에 대상 테이블의 힙이나 클러스터형 인덱스가 있는 경우 SELECT 문은 실패합니다. 또한 오프라인 파일 그룹에 인덱스를 가진 테이블을 수정하는 INSERT, UPDATE 또는 DELETE 문은 실패합니다.
파일 상태 정의
다음 표에서는 파일 상태를 정의합니다.
시스템 상태 | 정의 |
---|---|
ONLINE | 이 파일은 모든 작업에 사용할 수 있습니다. 데이터베이스 자체가 온라인인 경우 기본 파일 그룹의 파일은 항상 온라인 상태입니다. 주 파일 그룹의 파일이 온라인 상태가 아니면 데이터베이스가 온라인 상태가 아니고 보조 파일의 상태가 정의되지 않습니다. |
OFFLINE | 파일에 액세스할 수 없으며 디스크에 없을 수 있습니다. 파일은 명시적 사용자 작업에 의해 오프라인 상태가 되고 추가 사용자 작업이 수행될 때까지 오프라인 상태로 유지됩니다. ** 주의 ** 파일이 손상되었을 때 파일 상태를 오프라인으로 설정할 수 있지만 복원할 수 있습니다. 오프라인으로 설정된 파일을 온라인으로 설정할 수 있는 유일한 방법은 백업에서 파일을 복원하는 것입니다. 단일 파일 복원 방법은 RESTORE (Transact-SQL)를 참조하세요. 데이터베이스가 전체 또는 대량 로그 복구 중이고 파일이 삭제되면 데이터베이스 파일도 OFFLINE으로 설정됩니다. sys.master_files 항목은 트랜잭션 로그가 drop_lsn 값을 지나서 잘리기 전까지 유지됩니다. 자세한 내용은 트랜잭션 로그 잘림을 참조하세요. |
RESTORING | 파일을 복원하는 중입니다. 페이지 복원이 아닌 전체 파일에 영향을 주는 복원 명령으로 인해 파일이 복원 중 상태가 되어 복원이 완료되고 파일이 복구될 때까지 이 상태로 있습니다. |
RECOVERY PENDING | 파일 복구가 연기되었습니다. 파일이 복원 및 복구되지 않는 증분 복원 프로세스로 인해 파일이 자동으로 복구 보류 상태가 됩니다. 오류를 해결하고 복구 프로세스를 완료할 수 있도록 하려면 사용자의 추가 작업이 필요합니다. 자세한 내용은 증분 복원(SQL Server)을 참조하세요. |
SUSPECT | 온라인 복원 프로세스 중에 파일 복구에 실패했습니다. 파일이 주 파일 그룹에 속하면 데이터베이스도 주의 대상으로 표시됩니다. 그렇지 않으면 파일만 주의 대상이고 데이터베이스는 여전히 온라인 상태입니다. 다음 방법 중 하나를 사용하여 파일을 사용 가능하게 설정할 때까지 파일이 주의 대상 상태로 있습니다. 복원 및 복구 DBCC CHECKDB with REPAIR_ALLOW_DATA_LOSS |
소멸 | 온라인 상태가 아닐 때 파일이 삭제되었습니다. 오프라인 파일 그룹이 제거되면 파일 그룹의 모든 파일이 소멸됩니다. |