升級加密
適用於: 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 選項執行 RemoveDiscontinuedFeatured 命令(或使用相同的選項從備份檔還原 DB),以升級至最新的加密。”
若要升級加密,請備份資料庫,然後使用 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,以升級至最新的加密。”
若要升級加密,請備份資料庫,然後使用 enabled 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 伺服器會使用每個服務帳戶身分識別所保護的加密密鑰來加密秘密成品,例如資料庫連接字串。
如果您需要在不同帳戶下運作的服務之間傳輸資料庫,請務必遵循備份和還原方法。 這種方法可確保服務帳戶之間更順暢地轉換,同時保留數據的完整性。
使用 SSMS 將每個資料庫備份到 .abf 檔案。
停止 SSAS 服務。
變更 SSAS 服務帳戶。
刪除 Data 資料夾的內容,但 administrators.n.xml 檔案和 master.vmp 檔案除外。
啟動 SSAS 服務。
從備份 .abf 檔案還原資料庫。
實作這些步驟時請小心,以避免數據遺失或安全性弱點。 在對服務帳戶或伺服器組態進行重大變更之前,請一律執行數據備份,並尋求系統管理員的指引。
故障排除
問題: 如果未遵循上述備份/還原步驟,變更 SQL Server 2022 Analysis Services 服務帳戶可能會導致服務無法啟動。
Log\msmdsrv.log 檔案中的下列訊息表示服務無法啟動,因為服務帳戶已變更:
“Server Gen2 cryptokey 不存在,但伺服器元件對象系統會設定為使用 server gen2 cryptokey。終止伺服器。(來源:\?\C:\Program Files\Microsoft SQL Server\MSAS16。MSSQLSERVER\OLAP\Log\msmdsrv.log,類型: 1,類別: 289,事件標識符: 0x4121005C”
解決方案: 在 msmdsrv.ini 檔案中,在 ConfigurationSettings>DataDir中,判斷 Data 資料夾的位置。 然後在 [Data] 資料夾中,刪除名稱包含 .asm.xml的檔案,以及擴展名為 .as m 的所有資料夾。
刪除檔案之後,請重新啟動 Analysis Services 服務。 .asm 檔案會自動再次建立。
接著必須使用 SQL Server Management Studio (SSMS) 來設定下列加密屬性:
- Log\QueryLog\QueryLogConnectionString。
- 每個數據源 ImpersonationAccount 密碼或驗證密碼。
另請參閱
備份和還原 Analysis Services 資料庫
表格式模型的 相容性層級