파일 및 파일 그룹 개요
추가 파일 그룹을 정의하여 사용하면 데이터베이스의 성능을 개선하는 것은 물론 데이터베이스 개체를 백업 및 복원하는 방식을 효율적으로 관리할 수 있습니다. 예를 들어 여러 파일 그룹을 서로 다른 실제 디스크에 정의하여 액세스 시간을 줄일 수 있습니다. 스키마의 모든 데이터베이스 개체를 특정 파일 그룹과 연결하면 해당 개체를 한 번에 백업 및 복원할 수 있습니다. 파일 그룹에 대한 자세한 내용은 Microsoft 웹 사이트의 파일 및 파일 그룹 아키텍처 항목을 참조하십시오.
참고
DAC(데이터 계층 응용 프로그램) 프로젝트에 대한 작업을 수행하는 경우에는 파일 또는 파일 그룹을 정의할 수 없습니다. 데이터베이스의 파일 및 파일 그룹을 제어하려면 .dbschema 데이터베이스 프로젝트를 사용해야 합니다.
동작
데이터베이스 프로젝트에서 파일 및 파일 그룹을 정의하기 전에 원하는 동작과 원하지 않는 문제를 구별할 수 있도록 다음 유형의 동작을 고려해야 합니다.
스키마 가져오기
기존 데이터베이스에서 스키마를 가져오는 경우 데이터베이스의 파일 그룹 및 파일 정의도 가져오게 됩니다.
스키마 비교
스키마를 비교하면 이름이 동일한 개체가 서로 다른 이름의 파일 그룹에서 만들어졌는지 여부를 확인할 수 있습니다. 또한 대상이 아닌 소스에서만 파일 그룹이 추가 또는 제거되었는지도 확인할 수 있습니다. 스키마 비교 방법에 대한 자세한 내용은 방법: 데이터베이스 스키마 비교를 참조하십시오.
데이터베이스 프로젝트 빌드 및 배포
파일 및 파일 그룹을 특정 빌드 구성에만 사용하도록 만들 수는 없습니다. 그러나 특정 구성에만 사용할 수 있는 MSBuild 변수로 파일을 정의할 수는 있습니다. 예를 들어 이 접근 방식을 사용하면 격리된 개발 환경에서 스테이징 서버와 다른 경로 및 파일 이름을 사용할 수 있습니다.
파일 그룹, 파일 및 로그 파일 삭제
데이터베이스 프로젝트에서 파일 그룹을 삭제하는 경우 이러한 변경 내용을 새 데이터베이스에 배포할 수는 있지만 기존 데이터베이스에 배포하면 해당 변경 내용이 무시됩니다. 데이터베이스 프로젝트에서 파일 그룹을 삭제하면 해당 파일 그룹과 연관된 파일도 모두 삭제됩니다. 또한 데이터베이스 프로젝트에서 삭제된 파일 그룹에 있던 개체는 오류 상태로 표시됩니다. 이 오류를 해결하려면 파일 그룹을 다시 만들거나, 해당 개체 정의를 수정하여 이를 다른 파일 그룹과 연결해야 합니다. 이러한 경우 오류가 해결될 때까지는 데이터베이스 프로젝트를 배포할 수 없습니다.
기본 파일 그룹은 삭제할 수 없으며, 항상 지정되어 있어야 합니다. 파일 그룹에서 유일한 파일을 제거하면 오류 목록 창에 파일 그룹 정의가 불완전함을 나타내는 경고가 표시됩니다. 또한 데이터베이스 프로젝트에서 유일한 로그 파일은 제거할 수 없습니다. 데이터베이스 프로젝트에는 항상 로그 파일이 하나 이상 정의되어 있어야 합니다.
제한
다음은 파일 그룹에 변경 내용을 배포하거나, 파일 그룹의 이름을 바꾸거나, 읽기 전용 파일 그룹의 데이터베이스 개체를 정의할 때 적용될 수 있는 제한 사항입니다.
변경 내용 배포
데이터베이스 프로젝트에 파일 그룹을 추가하는 경우 해당 변경 내용을 새 데이터베이스나 기존 데이터베이스에 배포할 수 있습니다. 또한 파일 그룹을 삭제하거나 해당 파일 또는 속성을 수정하는 경우 이러한 변경 내용을 새 데이터베이스에 배포할 수 있습니다. 그러나 프로젝트를 기존 데이터베이스에 배포하는 경우에는 파일 그룹의 삭제 및 수정 내용이 무시됩니다. 데이터베이스 프로젝트의 파일 그룹 이름이 대상에 있는 파일 그룹의 이름과 일치하는 경우 두 파일 그룹은 동일한 것으로 간주됩니다.
파일 그룹의 이름을 바꾼 후 기존 데이터베이스에 배포하면 새 이름의 파일 그룹이 만들어지고 기존 파일 그룹은 변경되지 않습니다.
개체 정의에서 파일 그룹 이름 바꾸기
데이터베이스 리팩터링을 사용하여 데이터베이스 개체 정의에서 파일 그룹의 이름을 업데이트할 수 있습니다. 자세한 내용은 데이터베이스 개체에 대한 모든 참조 이름 바꾸기를 참조하십시오.
읽기 전용 파일 그룹의 개체 정의
파일 그룹에 대해 읽기 전용 확인란을 선택하더라도 데이터베이스 프로젝트에서 해당 파일 그룹의 개체를 계속 정의할 수 있습니다. 하지만 이러한 변경 내용을 기존 데이터베이스에 배포하려고 하면 오류가 표시되며 작업이 실패하게 됩니다. 변경 내용을 새 데이터베이스에 배포하면 읽기 전용 확인란의 선택이 취소되었을 때와 같이 개체가 만들어집니다. 개체가 만들어지면 데이터베이스에서 해당 파일 그룹이 읽기 전용으로 설정됩니다.
데이터 계층 응용 프로그램에 대한 작업
DAC(데이터 계층 응용 프로그램) 프로젝트를 만드는 경우 이 프로젝트에 대한 파일 또는 파일 그룹을 정의할 수 없습니다. 또한 데이터베이스 프로젝트를 DAC 프로젝트로 변환하는 경우에는 해당 데이터베이스 프로젝트에 정의된 모든 파일 및 파일 그룹에서 오류를 발생시킵니다. 자세한 내용은 데이터 계층 응용 프로그램 프로젝트와 데이터베이스 프로젝트 간 변환을 참조하십시오.