암호화 업그레이드

적용 대상: SQL Server Analysis Services Azure Analysis Services 패브릭/Power BI Premium

SQL Server 2022 Analysis Services CU1 이상에는 모델 데이터베이스 스키마에 대한 특정 쓰기 작업에 대한 향상된 암호화가 포함됩니다. 모델 데이터베이스가 최신 암호화를 사용하도록 하려면 해당 데이터베이스를 업그레이드해야 합니다. 암호화가 업그레이드되지 않으면 새 데이터 원본 추가 또는 연결 문자열 변경과 같은 특정 데이터베이스 스키마 쓰기 작업이 차단되고 오류가 반환됩니다.

주의

SQL SERVER CU1이 제거된 경우 향상된 암호화를 사용하는 새 또는 업그레이드된 Analysis Services 데이터베이스를 로드할 수 없습니다.

테이블 형식 모드

1600 이상의 호환성 수준에서 테이블 형식 모델 데이터베이스의 경우 특정 스키마 쓰기 작업 중에 다음 오류를 반환할 수 있습니다.

"새 테이블 형식 데이터베이스 '%{DatabaseName/}'이(가) 최신 암호화 스키마를 사용하지 않습니다. 최신 암호화로 업그레이드하려면 EnsureProperEncryption 옵션을 사용하여 RemoveDiscontinuedFeatured 명령을 실행하세요(또는 동일한 옵션을 사용하여 백업 파일에서 DB 복원).

암호화를 업그레이드하려면 데이터베이스를 백업한 다음 SQL Server Management Studio 다음 XMLA 명령을 실행하여 EnsureProperEncryption 옵션을 사용하도록 설정하여 복원합니다.

<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine" Transaction="false" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl100="http://schemas.microsoft.com/analysisservices/2008/engine/100">
<Restore xmlns="http://schemas.microsoft.com/analysisservices/2003/engine" xmlns:ddl922="http://schemas.microsoft.com/analysisservices/2022/engine/922">
<File>your_backup_file_pathname</File>
<AllowOverwrite>true</AllowOverwrite>
<ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</Restore>
</Batch>

또는 데이터베이스가 이미 로드된 경우 SQL Server Management Studio 다음 XMLA 명령을 실행합니다.

<RemoveDiscontinuedFeatures xmlns='http://schemas.microsoft.com/analysisservices/2003/engine' xmlns:ddl922='http://schemas.microsoft.com/analysisservices/2022/engine/922'>
  <DatabaseID>DatabaseName</DatabaseID>
  <ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</RemoveDiscontinuedFeatures>

다차원 모드

모든 호환성 수준에서 다차원 모델 데이터베이스의 경우 특정 스키마 쓰기 작업 중에 다음 오류를 반환할 수 있습니다.

"다차원 데이터베이스 '%{DatabaseName/}'은(는) 최신 암호화 스키마를 사용하지 않습니다. 최신 암호화로 업그레이드하려면 EnsureProperEncryption 옵션을 사용하여 백업 파일을 만들고 백업 파일에서 DB를 복원하세요."

암호화를 업그레이드하려면 데이터베이스를 백업한 다음 EnsureProperEncryption 옵션을 사용하도록 설정하여 복원합니다.

또는 데이터베이스가 이미 로드된 경우 SQL Server Management Studio 다음 XMLA 명령을 실행합니다.

<RemoveDiscontinuedFeatures xmlns='http://schemas.microsoft.com/analysisservices/2003/engine' xmlns:ddl922='http://schemas.microsoft.com/analysisservices/2022/engine/922'>
  <DatabaseID>DatabaseName</DatabaseID>
  <ddl922:EnsureProperEncryption>true</ddl922:EnsureProperEncryption>
</RemoveDiscontinuedFeatures>

SQL Server 2022 CU1을 설치한 후 Analysis Services 서비스 계정 변경 절차 제한 사항

새로운 디자인으로 인해 서비스 계정을 직접 변경하는 것은 지원되지 않습니다.

SQL Server 2022 CU1부터 Analysis Services 서버는 서비스 계정의 ID별로 보호되는 암호화 키를 사용하여 데이터베이스 연결 문자열과 같은 비밀 아티팩트를 암호화합니다.

서로 다른 계정으로 작동하는 서비스 간에 데이터베이스를 전송해야 하는 경우 백업 및 복원 방법을 따르는 것이 중요합니다. 이 방법을 사용하면 데이터 무결성을 유지하면서 서비스 계정 간에 보다 원활하게 전환할 수 있습니다.

  1. SSMS를 사용하여 각 데이터베이스를 .abf 파일에 백업합니다.

  2. SSAS 서비스를 중지합니다.

  3. SSAS 서비스 계정을 변경합니다.

  4. administrators.n.xml 파일 및 master.vmp 파일을 제외하고 Data 폴더의 내용을 삭제합니다.

  5. SSAS 서비스를 시작합니다.

  6. 백업 .abf 파일에서 데이터베이스를 복원합니다.

데이터 손실 또는 보안 취약성을 방지하려면 이러한 단계를 구현할 때 주의해야 합니다. 서비스 계정 또는 서버 구성을 크게 변경하기 전에 항상 데이터 백업을 수행하고 시스템 관리자의 지침을 구합니다.

문제 해결

문제: 위의 백업/복원 단계를 따르지 않으면 SQL Server 2022 Analysis Services 서비스 계정을 변경하면 서비스가 시작되지 않을 수 있습니다.

Log\msmdsrv.log 파일의 다음 메시지는 서비스 계정이 변경되어 서비스를 시작할 수 없음을 나타냅니다.

"Server Gen2 암호화는 없지만 서버 어셈블리 개체 System은 server gen2 암호화 키를 사용하도록 설정되어 있습니다. 서버를 종료합니다. (원본: \?\C:\Program Files\Microsoft SQL Server\MSAS16. MSSQLSERVER\OLAP\Log\msmdsrv.log, 유형: 1, 범주: 289, 이벤트 ID: 0x4121005C"

솔루션: msmdsrv.ini 파일의 ConfigurationSettings>DataDir에서 Data 폴더의 위치를 확인합니다. 그런 다음 데이터 폴더에서 이름이 .asm.xml인 파일과 .asm 확장명을 가진 모든 폴더를 삭제합니다.

파일을 삭제한 후 Analysis Services 서비스를 다시 시작합니다. .asm 파일은 자동으로 다시 만들어집니다.

그런 다음, SSMS(SQL Server Management Studio)를 사용하여 다음 암호화된 속성을 구성해야 합니다.

  • Log\QueryLog\QueryLogConnectionString.
  • 각 데이터 원본 ImpersonationAccount 암호 또는 인증 암호입니다.

추가 정보

Analysis Services 데이터베이스 백업 및 복원
테이블 형식 모델의 호환성 수준