다음을 통해 공유


데이터베이스 파일 및 파일 그룹

최소한 모든 SQL Server 데이터베이스에는 데이터 파일과 로그 파일이라는 두 개의 운영 체제 파일이 있습니다. 데이터 파일에는 테이블, 인덱스, 저장 프로시저 및 뷰와 같은 데이터 및 개체가 포함됩니다. 로그 파일에는 데이터베이스의 모든 트랜잭션을 복구하는 데 필요한 정보가 포함되어 있습니다. 할당 및 관리 목적으로 파일 그룹에서 데이터 파일을 그룹화할 수 있습니다.

데이터베이스 파일

SQL Server 데이터베이스에는 다음 표와 같이 세 가지 유형의 파일이 있습니다.

파일 설명
기본 기본 데이터 파일은 데이터베이스에 대한 시작 정보를 포함하고 데이터베이스의 다른 파일을 가리킵니다. 사용자 데이터 및 개체는 이 파일 또는 보조 데이터 파일에 저장할 수 있습니다. 모든 데이터베이스에는 하나의 기본 데이터 파일이 있습니다. 기본 데이터 파일에 권장되는 파일 이름 확장명은 .mdf.
부차적인 보조 데이터 파일은 선택 사항이며 사용자 정의이며 사용자 데이터를 저장합니다. 보조 파일은 각 파일을 다른 디스크 드라이브에 배치하여 여러 디스크에 데이터를 분산하는 데 사용할 수 있습니다. 또한 데이터베이스가 단일 Windows 파일의 최대 크기를 초과하는 경우 데이터베이스가 계속 증가할 수 있도록 보조 데이터 파일을 사용할 수 있습니다.

보조 데이터 파일에 권장되는 파일 이름 확장명은 .ndf입니다.
트랜잭션 로그 트랜잭션 로그 파일에는 데이터베이스를 복구하는 데 사용되는 로그 정보가 저장됩니다. 각 데이터베이스에 대해 하나 이상의 로그 파일이 있어야 합니다. 트랜잭션 로그에 권장되는 파일 이름 확장명은 .ldf입니다.

예를 들어 모든 데이터와 개체를 포함하는 하나의 기본 파일과 트랜잭션 로그 정보를 포함하는 로그 파일을 포함하는 Sales 라는 간단한 데이터베이스를 만들 수 있습니다. 또는 기본 파일 1개와 보조 파일 5 개를 포함하는 Orders 라는 더 복잡한 데이터베이스를 만들 수 있습니다. 데이터베이스 내의 데이터와 개체는 6개 파일 모두에 분산되고 4개의 로그 파일에는 트랜잭션 로그 정보가 포함됩니다.

기본적으로 데이터 및 트랜잭션 로그는 동일한 드라이브 및 경로에 배치됩니다. 단일 디스크 시스템을 처리하기 위해 수행됩니다. 그러나 프로덕션 환경에는 적합하지 않을 수 있습니다. 데이터 및 로그 파일을 별도의 디스크에 배치하는 것이 좋습니다.

파일 그룹

모든 데이터베이스에는 기본 파일 그룹이 있습니다. 이 파일 그룹에는 기본 데이터 파일과 다른 파일 그룹에 배치되지 않은 보조 파일이 포함됩니다. 관리, 데이터 할당 및 배치를 위해 데이터 파일을 그룹화하기 위해 사용자 정의 파일 그룹을 만들 수 있습니다.

예를 들어 세 개의 파일인 Data1.ndf, Data2.ndf 및 Data3.ndf를 각각 세 개의 디스크 드라이브에 만들고 파일 그룹 fgroup1에 할당할 수 있습니다. 그런 다음 파일 그룹 fgroup1에서 테이블을 특별히 만들 수 있습니다. 테이블의 데이터에 대한 쿼리는 세 개의 디스크에 분산됩니다. 이렇게 하면 성능이 향상됩니다. RAID(독립 디스크의 중복 배열) 스트라이프 집합에서 만든 단일 파일을 사용하여 동일한 성능 향상을 수행할 수 있습니다. 그러나 파일 및 파일 그룹을 사용하면 새 디스크에 새 파일을 쉽게 추가할 수 있습니다.

모든 데이터 파일은 다음 표에 나열된 파일 그룹에 저장됩니다.

파일그룹 설명
기본 기본 파일을 포함하는 파일 그룹입니다. 모든 시스템 테이블은 기본 파일 그룹에 할당됩니다.
사용자 정의 사용자가 데이터베이스를 처음 만들거나 나중에 수정할 때 사용자가 특별히 만든 모든 파일 그룹입니다.

기본 파일 그룹

개체가 속한 파일 그룹을 지정하지 않고 데이터베이스에 만들어지면 기본 파일 그룹에 할당됩니다. 언제든지 정확히 하나의 파일 그룹이 기본 파일 그룹으로 지정됩니다. 기본 파일 그룹의 파일은 다른 파일 그룹에 할당되지 않은 새 개체를 저장할 수 있을 만큼 커야 합니다.

ALTER DATABASE 문을 사용하여 변경하지 않는 한 PRIMARY 파일 그룹은 기본 파일 그룹입니다. 시스템 개체 및 테이블에 대한 할당은 새 기본 파일 그룹이 아닌 PRIMARY 파일 그룹 내에 유지됩니다.

CREATE DATABASE(SQL Server Transact-SQL)

ALTER DATABASE 파일 및 파일 그룹 옵션(Transact-SQL)

데이터베이스 분리 및 연결(SQL Server)