EFS를 사용하여 데이터베이스 파일을 암호화할 때 SQL Server 성능 저하

적용 대상: SQL Server
원래 KB 번호: 922121

증상

EFS(파일 시스템 암호화)를 사용하여 SQL Server 데이터베이스 파일을 암호화하면 일부 SQL Server 기능의 성능이 저하됩니다. 예를 들어 미리 읽기검사점 기능이 있습니다.

원인

이 문제는 SQL Server 비동기 I/O 요청이 EFS로 암호화된 데이터베이스 파일에서 동기 I/O 작업으로 변환되기 때문에 발생합니다. 자세한 내용은 Windows에서 비동기 디스크 I/O가 동기로 표시 됨을 참조하세요. I/O 작업 중에 작업자 스레드는 I/O 작업이 완료될 때까지 기다립니다. 스레드가 I/O 작업을 기다리는 경우 현재 작업자 스레드가 계속될 때까지 SQL Server 스케줄러가 일시 중단됩니다. 따라서 스케줄러에 남아 있는 작업자 스레드는 첫 번째 작업자 스레드가 I/O 작업을 계속할 때까지 보류됩니다. 그러나 비동기 I/O의 경우 스레드는 I/O를 요청하고 다른 작업을 계속 수행합니다.

참고

NTFS(신기술 파일 시스템) 압축으로 인해 비동기 I/O는 여전히 동기로 표시됩니다. 파일 시스템 드라이버는 압축된 파일에 비동기적으로 액세스하지 않습니다. 대신 모든 작업이 동기적으로 수행됩니다.

해결 방법

SQL Server TDE(투명한 데이터 암호화), Always Encrypted열 수준 암호화 Transact-SQL 함수와 같은 많은 암호화 기술을 제공합니다. EFS 대신 이러한 암호화 기능을 사용하는 것이 좋습니다.

참고

EFS를 사용하여 데이터베이스 파일을 암호화하는 경우 데이터베이스 파일에 포함된 실제 데이터 및 메타데이터에 관계없이 전체 데이터베이스 파일이 암호화됩니다. 물리적 미디어가 손실될 수 있는 경우 EFS를 사용할 수도 있습니다.

참조

보안 파일 시스템 구성