升級加密

適用於: 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,) 升級至最新的加密。

若要升級加密,請備份資料庫,然後在 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,以升級至最新的加密。

若要升級加密,請備份資料庫,然後使用 EnabledProperEncryption 選項進行還原。

或者,如果已經載入資料庫,請在 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 伺服器會使用服務帳戶的每個身分識別所保護的加密密鑰來加密秘密成品,例如資料庫連接字串。

如果您需要在不同帳戶下運作的服務之間傳輸資料庫,請務必遵循備份和還原方法。 此方法可確保在服務帳戶之間更順暢地轉換,同時保留數據的完整性。

  1. 使用 SSMS 將每個資料庫備份至 .abf 檔案。

  2. 停止 SSAS 服務。

  3. 變更 SSAS 服務帳戶。

  4. 刪除 Data 資料夾的內容,但 administrators.n.xml 檔案和 master.vmp 檔案除外。

  5. 啟動 SSAS 服務。

  6. 從備份 .abf 檔案還原資料庫。

實作這些步驟時請小心,以避免數據遺失或安全性弱點。 請務必在對服務帳戶或伺服器組態進行重大變更之前,先從系統管理員執行數據備份並尋求指引。

疑難排解

問題:如果未遵循上述備份/還原步驟,變更 SQL Server 2022 Analysis Services 服務帳戶可能會導致服務無法啟動。

Log\msmdsrv.log 檔案中的下列訊息表示服務無法啟動,因為服務帳戶已變更:

伺服器 Gen2 密碼編譯機不存在,但伺服器元件對象系統設定為使用伺服器 gen2 cryptokey。終止伺服器。 (來源: \?\C:\Program Files\Microsoft SQL Server\MSAS16。MSSQLSERVER\OLAP\Log\msmdsrv.log,類型: 1,類別: 289,事件標識符: 0x4121005C

解決方案: 在 msmdsrv.ini 檔案的 ConfigurationSettings>DataDir 中,決定 Data 資料夾的位置。 然後在 [數據] 資料夾中,刪除名稱包含 .asm.xml的檔案,以及擴展名為 .asm 的所有資料夾。

刪除檔案之後,請重新啟動 Analysis Services 服務。 .asm 檔案會自動重新建立。

接著必須使用 SSMS) SQL Server Management Studio (來設定下列加密屬性:

  • Log\QueryLog\QueryLogConnectionString。
  • 每個數據源 ImpersonationAccount 密碼或驗證密碼。

另請參閱

備份和還原 Analysis Services 資料庫
表格式模型的相容性層級