압축된 볼륨의 SQL Server 데이터베이스 지원에 대한 설명

이 문서에서는 압축된 드라이브에서 SQL Server 데이터베이스 파일 스토리지 동작에 대해 설명합니다.

원래 제품 버전: SQL Server
원래 KB 번호: 231347

요약

SQL Server 데이터베이스는 SQL Server 2005 이상 버전에 대한 특별한 경우를 제외하고는 NTFS 또는 FAT 압축 볼륨에서 지원되지 않습니다. 압축된 볼륨은 섹터 정렬 쓰기를 보장하지 않으며 경우에 따라 트랜잭션 복구를 보장하기 위해 필요합니다.

SQL Server 2005 이상 버전의 경우 압축된 드라이브의 데이터베이스 파일 스토리지는 다음과 같이 작동합니다.

  • 데이터 파일이 읽기 전용 파일 그룹에 속하는 경우 파일이 허용됩니다.

  • 데이터 파일이 읽기 전용 데이터베이스에 속하는 경우 파일이 허용됩니다.

  • 트랜잭션 로그 파일이 읽기 전용 데이터베이스에 속하는 경우 파일이 허용됩니다.

  • 압축된 드라이브에 파일이 있는 읽기/쓰기 데이터베이스를 가져오려고 하면 SQL Server 다음 오류가 발생합니다.

    Msg 5118, Level 16, State 2, Line 1 파일 "<file_name>"은 압축되지만 읽기 전용 데이터베이스 또는 파일 그룹에는 없습니다. 파일을 압축 해제해야 합니다.

SQL Server 2008의 읽기 전용 데이터베이스 및 읽기 전용 파일 그룹에 대한 제외에 대한 자세한 내용은 다음 MSDN 웹 사이트를 참조하세요.

읽기 전용 파일 그룹 및 압축

참고

이 항목은 SQL Server 2012 이상 버전에도 적용됩니다.

추가 정보

물리적으로 압축된 볼륨에 SQL Server 데이터베이스를 추가할 수 있지만 권장하지 않으며 지원되지 않습니다. 이에 대한 기본 이유는 다음과 같습니다.

  • 성능

    압축된 볼륨의 데이터베이스는 상당한 성능 오버헤드를 일으킬 수 있습니다. 크기는 I/O의 볼륨 및 쓰기에 대한 읽기 비율에 따라 달라집니다. 그러나 일부 조건에서는 500% 이상의 성능 저하가 관찰되었습니다.

  • 데이터베이스 복구

    데이터베이스의 안정적인 트랜잭션 복구에는 섹터 정렬 쓰기가 필요하며 압축된 볼륨은 이 시나리오를 지원하지 않습니다. 두 번째 문제는 내부 복구 공간 관리와 관련이 있습니다. SQL Server 내부적으로 롤백을 위해 데이터베이스 파일에 미리 할당된 공간을 예약합니다. 압축된 볼륨에서 사전 할당된 파일 에서 공간 부족 오류를 받을 수 있으며 이는 성공적인 복구를 방해합니다.

특정 시나리오에서는 압축된 볼륨 또는 압축된 폴더에 대한 SQL Server 백업에 성공하지 않습니다. 이 문제가 발생하면 다음 오류 메시지 중 하나가 표시됩니다.

  • Windows Vista 이상 버전의 Windows에서

    STATUS_FILE_SYSTEM_LIMITATION 파일 시스템 제한으로 인해 요청된 작업을 완료할 수 없습니다.
    운영 체제 오류 665(파일 시스템 제한으로 인해 요청된 작업을 완료할 수 없음)

  • 이전 버전의 Windows에서

    요청된 서비스 운영 체제 오류 1450(요청된 또는 33을 완료하는 데 시스템 리소스가 부족합니다.) 시스템 리소스가 충분하지 않은 STATUS_INSUFFICIENT_RESOURCES(다른 프로세스가 파일의 일부를 잠갔기 때문에 프로세스에서 파일에 액세스할 수 없습니다.)

이 문제에 대한 자세한 내용은 NTFS 볼륨의 조각화된 파일이 특정 크기를 초과하여 증가하지 않을 수 있음을 참조하세요.

참고

  • KB 문서 967351 설명된 Windows Vista 이상 버전의 Windows용 핫픽스는 압축된 볼륨 또는 압축된 폴더에 성공하지 못한 SQL Server 백업 문제를 resolve 수 없습니다. 그러나 이 핫픽스는 문제를 중재하는 데 도움이 됩니다.
  • KB 문서 967351 설명된 핫픽스를 적용한 후에는 매개 변수를 사용하여 압축을 사용하도록 설정하는 드라이브의 형식을 /L 지정해야 합니다. 매개 변수를 사용하여 /L 압축을 사용할 드라이브의 형식을 지정하면 파일 레코드별 바이트 세그먼트가 1,024바이트에서 4,096바이트로 증가합니다.

압축된 볼륨에 백업을 SQL Server 디스크 공간을 절약할 수 있습니다. 그러나 백업 작업 중에 CPU 사용량이 증가할 수 있습니다. 항상 BACKUP 체크섬 기능을 사용하여 데이터 무결성을 보장하는 것이 좋습니다.

SQL Server 시스템은 SQL Server I/O 안정성 프로그램 요구 사항에 설명된 대로 안정적인 미디어에 대한 보장된 배달을 지원해야 합니다.

SQL Server 데이터베이스 엔진의 입력 및 출력 요구 사항에 대한 자세한 내용은 Microsoft SQL Server 데이터베이스 엔진 입력/출력 요구 사항을 참조하세요.