증상
Microsoft SQL Server 2019에서 TDE(투명한 데이터 암호화)가 사용하도록 설정된 데이터베이스의 압축된 데이터베이스 또는 로그 백업을 복원하면 다음 오류가 발생할 수 있습니다.
Msg 3241, Level 16, State 18, Line <LineNumber>
디바이스 '<백업 파일 이름>'의 미디어 패밀리가 잘못 구성되었습니다. SQL Server는 이 미디어 패밀리를 처리할 수 없습니다.
해결 방법
이 문제를 해결하려면 다음 방법 중 하나를 사용하여 TDE 사용 데이터베이스의 백업을 압축하지 마세요.
-
BACKUP(Transact-SQL)에 설명된 대로 WITH COMPRESSION을 사용합니다.
-
백업 압축 기본 서버 구성 옵션 보기 또는 구성에 설명된 대로 백업 압축 기본값을 사용합니다.
해결 방법
누적 업데이트 정보
이 문제는 SQL Server에 대한 다음 누적 업데이트에서 해결되었습니다.
참고 문제를 방지하려면 이 수정 사항과 함께 백업을 만들어야 합니다. 대상 인스턴스에 고정 CU를 설치하고 수정 없이 만든 동일한 백업을 복원하려고 하면 작동하지 않습니다.
추가 정보
중요: SQL Server 2019 CU16부터 TDE 사용 데이터베이스의 압축된 백업(데이터베이스 또는 로그)을 만들면 CU16 이상이 설치된 인스턴스에서만 복원할 수 있는 새 백업 형식이 사용됩니다.
CU15 이전 버전의 SQL Server 2019 인스턴스에서 CU16 이상에서 만든 TDE 지원 데이터베이스의 압축된 백업을 복원하면 실패하고 다음 오류가 발생합니다.
-
RESTORE DATABASE
Msg 3013, Level 16, State 1, Line <LineNumber>
RESTORE DATABASE가 비정상적으로 종료됩니다.
Msg 9004, Level 21, State 1, Line <LineNumber>
데이터베이스 'TDE_DB'에 대한 로그를 처리하는 동안 오류가 발생했습니다. 가능하면 백업에서 복원합니다. 백업을 사용할 수 없는 경우 로그를 다시 빌드해야 할 수 있습니다.
-
RESTORE LOG
위치: mediaRead.cpp:1018
식: readSize <= m_Demand
SPID: 84
프로세스 ID: ProcessID
Msg 3013, Level 16, State 1, Line <LineNumber>
RESTORE LOG가 비정상적으로 종료됩니다.
Msg 3624, Level 20, State 1, Line <LineNumber>
시스템 어설션 검사가 실패했습니다. 자세한 내용은 SQL Server 오류 로그를 확인합니다. 일반적으로 어설션 오류는 소프트웨어 버그 또는 데이터 손상으로 인해 발생합니다. 데이터베이스 손상을 확인하려면 DBCC CHECKDB를 실행하는 것이 좋습니다. 설치 중에 Microsoft에 덤프를 보내기로 합의한 경우 미니 덤프가 Microsoft로 전송됩니다. 최신 서비스 팩 또는 기술 지원의 핫픽스에서 Microsoft에서 업데이트를 사용할 수 있습니다.
참고 RESTORE HEADERONLY 및 RESTORE FILELISTONLY는 문제의 영향을 받지 않으며 모든 경우에 작동합니다.
RESTORE VERIFYONLY는 위의 시나리오에 따라 유효하지 않은 전체 백업에 대해 성공적으로 반환될 수 있습니다. 위의 문제를 발생시키지 않고 백업을 복원할 수 있도록 RESTORE VERIFYONLY를 사용하지 마세요. 로그 백업에 대한 RESTORE VERIFYONLY는 일반적으로 위에서 설명한 실제 RESTORE LOG와 동일한 오류와 함께 실패합니다.
따라서 TDE 및 백업 압축을 사용할 수 있는 컨텍스트에서 다른 SQL Server 2019 인스턴스의 백업을 사용하는 모든 SQL Server 2019 인스턴스가 백업 자료를 생성하는 인스턴스 앞에 CU16(이상)을 수신하는지 확인해야 합니다. 로그 전달 아키텍처는 보조 인스턴스를 먼저 업그레이드하는 상황의 대표적인 예입니다.
압축을 사용하여 트랜잭션 로그 백업을 만든 후에는 일반적으로 압축 없이 다시 만들 수 없습니다. 따라서 이러한 컨텍스트에서 로그 전달 주 서버를 SQL Server 2019 CU16 이상으로 업그레이드하면 보조 서버도 업그레이드될 때까지 복원 작업이 중단됩니다.
TDE 사용 데이터베이스의 압축되지 않은 백업, TDE에 대해 사용하도록 설정되지 않은 데이터베이스의 압축된 백업 또는 TDE에 대해 사용하도록 설정되지 않은 데이터베이스의 압축되지 않은 백업은 CU16에 도입된 새 백업 형식을 사용하지 않으며 모든 버전의 SQL Server 2019 인스턴스에서 복원할 수 있습니다.
따라서 TDE 사용 데이터베이스 자료(전체 백업 또는 트랜잭션 로그 백업)를 SQL Server 2019 CU16 이전 버전의 SQL Server 인스턴스로 복원하려는 경우 백업 압축을 사용하지 않도록 설정해야 합니다.
SQL Server에 대한 각각의 새로운 누적 업데이트에는 이전 빌드에 있던 모든 핫픽스 및 보안 수정 사항이 포함되어 있습니다. SQL Server 버전에 대한 최신 빌드를 설치하는 것이 좋습니다.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.
참조
Microsoft가 소프트웨어 업데이트를 설명하는 데 사용하는 용어에 대해 알아보세요.