暗号化のアップグレード

適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

SQL Server 2022 Analysis Services CU1 以降には、モデル データベース スキーマに対する特定の書き込み操作に対する強化された暗号化が含まれています。 モデル データベースで最新の暗号化を使用できるようにするには、それらのデータベースをアップグレードする必要があります。 暗号化がアップグレードされていない場合、新しいデータ ソースの追加や接続文字列の変更など、特定のデータベース スキーマの書き込み操作がブロックされ、エラーが返されます。

注意事項

SQL SERVER CU1 をアンインストールすると、暗号化が強化された新規またはアップグレードされた Analysis Services データベースを読み込むことができません。

テーブル モード

1600 以上の互換性レベルの表形式モデル データベースの場合、特定のスキーマ書き込み操作中に次のエラーが返されることがあります。

"新しい表形式データベース '%{DatabaseName/}' は、最新の暗号化スキーマを使用していません。最新の暗号化にアップグレードするには、EnsureProperEncryption オプション (または同じオプションを使用してバックアップ ファイルから DB を復元する) を指定して RemoveDiscontinuedFeatured コマンドを実行してください。"

暗号化をアップグレードするには、データベースをバックアップしてから、EnsureProperEncryption オプションを有効にして復元します。そのためには、SQL Server Management Studioで次の XMLA コマンドを実行します。

<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 サービス アカウント変更手順の制限事項

新しい設計のため、サービス アカウントを直接変更することはサポートされていません。

2022 CU1 SQL Server以降、Analysis Services サーバーは、サービス アカウントの ID ごとに保護された暗号化キーを使用して、データベース接続文字列などのシークレット成果物を暗号化します。

異なるアカウントで動作するサービス間でのデータベースの転送が必要な場合は、バックアップと復元の方法に従う必要があります。 この方法により、データの整合性を維持しながら、サービス アカウント間のよりシームレスな移行が保証されます。

  1. SSMS を使用して、各データベースを .abf ファイルにバックアップします。

  2. SSAS サービスを停止します。

  3. SSAS サービス アカウントを変更します。

  4. administrators.n.xml ファイルと master.vmp ファイルを除き、Data フォルダーの内容を削除します。

  5. SSAS サービスを開始します。

  6. バックアップ .abf ファイルからデータベースを復元します。

これらの手順を実装する場合は、データの損失やセキュリティの脆弱性を回避するために注意してください。 サービス アカウントまたはサーバー構成を大幅に変更する前に、常にデータ バックアップを実行し、システム管理者にガイダンスを求めてください。

トラブルシューティング

問題:上記のバックアップ/復元手順に従っていない場合は、2022 Analysis Services サービス アカウントSQL Server変更すると、サービスの起動に失敗する可能性があります。

Log\msmdsrv.log ファイルの次のメッセージは、サービス アカウントが変更されたため、サービスを開始できないことを示しています。

"Server Gen2 cryptokey は存在しませんが、サーバー アセンブリ オブジェクト System はサーバー gen2 暗号化キーを使用するように設定されています。サーバーを終了しています。(ソース: \?\C:\Program Files\Microsoft SQL Server\MSAS16。MSSQLSERVER\OLAP\Log\msmdsrv.log、種類: 1、カテゴリ: 289、イベント ID: 0x4121005C"

ソリューション: msmdsrv.ini ファイルの ConfigurationSettings>DataDir で、 Data フォルダーの場所を決定します。 次に、Data フォルダーで、.asm.xmlを含む名前のファイルと、拡張子が .asm のすべてのフォルダーを削除します。

ファイルを削除した後、Analysis Services サービスを再起動します。 .asm ファイルが再び自動的に作成されます。

次の暗号化されたプロパティは、SQL Server Management Studio (SSMS) を使用して構成する必要があります。

  • Log\QueryLog\QueryLogConnectionString。
  • 各データ ソース ImpersonationAccount パスワードまたは認証パスワード。

こちらもご覧ください

Analysis Services データベースのバックアップと復元
表形式モデルの互換性レベル