共用方式為


增強式加密

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

SQL Server 2022 Analysis Services (SSAS) CU1 和更新版本包含模型資料庫架構特定寫入作業的增強式加密。 從舊版 SSAS 升級時,您必須更新模型資料庫以使用最新的加密。 如果未升級加密,則會封鎖特定資料庫架構寫入作業。 例如,您無法新增資料源或改變連接字串。

謹慎

舊版 SQL Server Analysis Services 無法載入具有增強式加密的新或升級 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 中執行下列 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,以升級至最新的加密。

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

或者,如果資料庫已經載入,請在 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 憑證。 或者,您也可以使用 附加/卸離方法,但此方法會要求您保留現有的數據資料夾。

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

  2. 卸載 SSAS 伺服器實例。

  3. 刪除卸載的伺服器實例的任何剩餘部分,例如剩餘的數據資料夾或組態檔。

  4. 安裝新的 SSAS 伺服器實例,並指派新的服務帳戶。

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

實作這些步驟時請小心,以避免數據遺失或安全性弱點。 請一律執行數據備份,並尋求系統管理員的指引,再對服務帳戶或伺服器設定進行重大變更。

變更 Tabular 實例的服務帳戶

表格式伺服器實例不需要完整伺服器重新安裝,因為表格式伺服器不會使用全伺服器 QueryLogConnectionString 或 ImpersonationAccount 認證。 即使此程式不依賴資料庫備份,您仍應該一律執行數據備份,並在對服務帳戶或伺服器設定進行大量變更之前,先向系統管理員尋求指引。

  1. 建議但選用,請使用 SSMS 將每個資料庫備份至 .abf 檔案。

  2. 卸離所有模型資料庫。

  3. 停止 SSAS 服務。

  4. 變更 SSAS 服務帳戶。

  5. 啟動 SSAS 服務。

  6. 重新附加所有模型資料庫。

將模型資料庫移至不同的伺服器實例

如果您必須在伺服器之間傳輸模型資料庫,則必須使用備份/還原或卸離/附加方法。 如需有關使用 SSMS、AMO 或 XMLA 的卸離/附加方法的詳細資訊,請參閱 移動 Analysis Services 資料庫

故障轉移叢集支援

具有增強式加密的 SQL Server 2025 Analysis Services 可以安裝在 Windows Server 故障轉移叢集 (WSFC) 中,以達到高可用性。 在 WSFC 環境中,所有伺服器實例都必須使用與服務帳戶相同的 Active Directory 網域用戶帳戶,才能在所有伺服器實例上解密伺服器加密密鑰。 不支援本機 Windows 帳戶、Build-In 帳戶和 Entra ID 帳戶。

備註

具有增強式加密的 SQL Server 2022 Analysis Services CU1 不提供故障轉移叢集支援。 若要受益於故障轉移叢集環境中的增強式加密,您必須升級至 SQL Server 2025 Analysis Services。

故障排除

問題: 如果未遵循上述備份/還原步驟,變更 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 資料夾的位置。 然後在 [數據] 資料夾中,刪除名稱包含 .asm.xml的檔案,以及擴展名為 .asm 的所有資料夾。

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

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

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

另請參閱

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