Applies to: SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
SQL Server 2022 Analysis Services (SSAS) CU1 以降のバージョンには、モデル データベース スキーマに対する特定の書き込み操作の暗号化が強化されています。 以前の SSAS バージョンからアップグレードする場合は、最新の暗号化を使用するようにモデル データベースを更新する必要があります。 暗号化がアップグレードされていない場合、特定のデータベース スキーマの書き込み操作がブロックされます。 たとえば、新しいデータ ソースを追加したり、接続文字列を変更したりすることはできません。
Caution
暗号化が強化された新しい Analysis Services データベースまたはアップグレードされた Analysis Services データベースは、以前のバージョンの SQL Server Analysis Services では読み込めません。
テーブル モデル データベースのアップグレード
1600 以上の互換性レベルの表形式モデル データベースの場合、特定のスキーマ書き込み操作中に次のエラーが返されることがあります。
"新しい表形式データベース '%{DatabaseName/}' は、最新の暗号化スキーマを使用していません。最新の暗号化にアップグレードするには、EnsureProperEncryption オプション (または同じオプションを使用してバックアップ ファイルから DB を復元する) を指定して RemoveDiscontinuedFeatured コマンドを実行してください。"
To upgrade encryption, either back up the database and then restore with the EnsureProperEncryption option enabled by running the following XMLA command in SQL Server Management Studio:
<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 で次の XML for Analysis (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 を復元して、最新の暗号化にアップグレードしてください。"
To upgrade encryption, back up the database and then restore with the EnsureProperEncryption option enabled.
または、データベースが既に読み込まれている場合は、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 Analysis Services では、データベース暗号化キーを使用して、データ ソースの資格情報や接続文字列など、データベースごとに機密データを暗号化します。 SSAS 2025 以降のバージョンでは、DBSCHEMA_CATALOGS スキーマ行セットを使用して、モデル データベースの暗号化レベルとデータベース キーの有効期間を決定できます。 ENCRYPTION_LEVEL列を確認し、レベルが Analysis Services 2022 CU であることを確認します。 CRYPTOKEY_UPDATED列で、データベース暗号化キーの作成日または最終再生成日を確認します。
RemoveDiscontinuedFeatures コマンドを使用して、データベース暗号化キーを再生成できます。 前述のレガシ暗号化からのアップグレードと同様に、RemoveDiscontinuedFeatures コマンドはセキュリティ保護可能なデータの暗号化を解除し、新しいデータベース暗号化キーを生成してから、新しいデータベース暗号化キーを使用してセキュリティ保護可能なデータを再暗号化します。
<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 Analysis Services は、サーバー全体の暗号化キーを使用して、各データベース暗号化キーを暗号化します。 SSAS 2022 CU1 以降のバージョンでの拡張暗号化では、データ保護 API (DPAPI) を使用して、現在のサービス アカウントとローカル コンピューター アカウントの情報を使用して、サーバー暗号化キーを安全に保護してアクセスします。 サーバー暗号化キーは、ローカル コンピューター上の同じサービス アカウントを使用してのみ復号化できます。 現在のサービス アカウントに依存しているため、次の手順に従って SQL Server Analysis Services サービス アカウントを変更してください。
多次元インスタンスのサービス アカウントの変更
多次元モードで実行されているサーバー インスタンスのサービス アカウントを変更する必要がある場合は、モデル データベースのバックアップ、サーバーのアンインストールと再インストール、モデル データベースの復元が不可欠です。 この方法により、QueryLogConnectionString や ImpersonationAccount 資格情報など、すべてのセキュリティ保護可能なリソースが適切に暗号化されます。 Alternatively, you can also use an attach/detach approach, but this approach requires you to preserve the existing data folder.
SSMS を使用して、各データベースを .abf ファイルにバックアップします。
SSAS サーバー インスタンスをアンインストールします。
残りのデータ フォルダーや構成ファイルなど、アンインストールされたサーバー インスタンスの残りの部分をすべて削除します。
新しい SSAS サーバー インスタンスをインストールし、新しいサービス アカウントを割り当てます。
バックアップ .abf ファイルからデータベースを復元します。
これらの手順を実装する場合は、データの損失やセキュリティの脆弱性を回避するために注意してください。 サービス アカウントまたはサーバー構成を大幅に変更する前に、常にデータ バックアップを実行し、システム管理者にガイダンスを求めてください。
表形式インスタンスのサービス アカウントの変更
表形式サーバー インスタンスでは、サーバー全体の QueryLogConnectionString または ImpersonationAccount 資格情報が使用されないため、サーバーの完全な再インストールは必要ありません。 この手順はデータベース バックアップに依存しませんが、サービス アカウントまたはサーバー構成を大幅に変更する前に、常にデータ バックアップを実行し、システム管理者にガイダンスを求める必要があります。
SSMS を使用して各データベースを .abf ファイルにバックアップすることをお勧めしますが、省略可能です。
すべてのモデル データベースをデタッチします。
SSAS サービスを停止します。
Administrators.xml および master.vmp ファイルを除く Data フォルダー内のすべてのファイルを削除し、msmdsrv.iniでクエリ ログ接続文字列と偽装パスワードを削除し、データベース ディレクトリを保持します。
SSAS サービス アカウントを変更します。
SSAS サービスを開始します。
すべてのモデル データベースを再アタッチします。
モデル データベースを別のサーバー インスタンスに移動する
サーバー間でモデル データベースを転送する必要がある場合は、バックアップ/復元またはデタッチ/アタッチ方法を使用することが不可欠です。 SSMS、AMO、または XMLA を使用したデタッチ/アタッチアプローチの使用方法の詳細については、 Analysis Services データベースの移動 に関するページを参照してください。
フェールオーバー クラスターのサポート
暗号化が強化された SQL Server 2025 Analysis Services を Windows Server フェールオーバー クラスター (WSFC) にインストールして、高可用性を実現できます。 WSFC 環境では、すべてのサーバー インスタンスでサーバー暗号化キーを復号化できるように、すべてのサーバー インスタンスでサービス アカウントと同じ Active Directory ドメイン ユーザー アカウントを使用する必要があります。 ローカル Windows アカウント、Build-In アカウント、Entra ID アカウントはサポートされていません。
Note
暗号化が強化された SQL Server 2022 Analysis Services CU1 では、フェールオーバー クラスターのサポートは提供されません。 フェールオーバー クラスター環境での暗号化の強化を利用するには、SQL Server 2025 Analysis Services にアップグレードする必要があります。
Troubleshooting
Problem: If the backup/restore steps above aren't followed, changing SQL Server 2022 Analysis Services service account can cause the service to fail to start.
Log\msmdsrv.log ファイルの次のメッセージは、サービス アカウントが変更されたためにサービスを開始できないことを示しています。
"Server Gen2 cryptokey は存在しませんが、サーバー アセンブリ オブジェクト System はサーバー gen2 暗号化キーを使用するように設定されています。サーバーを終了しています。(ソース: \?\C:\Program Files\Microsoft SQL Server\MSAS16。MSSQLSERVER\OLAP\Log\msmdsrv.log,型: 1, カテゴリ: 289, イベント ID: 0x4121005C"
Solution: In the msmdsrv.ini file, in ConfigurationSettings>DataDir, determine the ___location of the Data folder. Then in the Data folder, delete the files with the name containing .asm.xml, and all folders with an .asm extension.
ファイルを削除した後、Analysis Services サービスを再起動します。 .asm ファイルが自動的に再作成されます。
次の暗号化されたプロパティは、SQL Server Management Studio (SSMS) を使用して構成する必要があります。
- Log\QueryLog\QueryLogConnectionString.
- 各データ ソースの ImpersonationAccount パスワードまたは認証パスワード。