Aggiornare la crittografia

Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

SQL Server 2022 Analysis Services CU1 e versioni successive include la crittografia avanzata per determinate operazioni di scrittura nello schema del database modello. Per garantire che i database del modello usino la crittografia più recente, è necessario aggiornare tali database. Se la crittografia non viene aggiornata, alcune operazioni di scrittura dello schema del database, ad esempio l'aggiunta di una nuova origine dati o la modifica delle stringhe di connessione vengono bloccate e viene restituito un errore.

Attenzione

Non è possibile caricare database di Analysis Services nuovi o aggiornati con crittografia avanzata se SQL Server CU1 viene disinstallato.

Modalità tabulare

Per i database modello tabulare a livello di compatibilità 1600 e superiore, è possibile restituire l'errore seguente durante determinate operazioni di scrittura dello schema:

"Il nuovo database tabulare '%{DatabaseName/}' non usa lo schema di crittografia più recente. Eseguire il comando RemoveDiscontinuedFeatured con l'opzione EnsureProperEncryption (o ripristinare il database dal file di backup con la stessa opzione) per eseguire l'aggiornamento alla crittografia più recente.

Per aggiornare la crittografia, eseguire il backup del database e quindi ripristinare con l'opzione EnsureProperEncryption abilitata eseguendo il comando XMLA seguente 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>

In alternativa, se il database è già caricato, eseguire il comando XMLA seguente in SQL Server Management Studio:

<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>

Modalità multidimensionale

Per i database del modello multidimensionale a tutti i livelli di compatibilità, è possibile restituire l'errore seguente durante determinate operazioni di scrittura dello schema:

"Database multidimensionale '%{DatabaseName/}' non usa lo schema di crittografia più recente. Creare un file di backup e ripristinare il database dal file di backup con l'opzione EnsureProperEncryption per eseguire l'aggiornamento alla crittografia più recente.

Per aggiornare la crittografia, eseguire il backup del database e quindi eseguire il ripristino con l'opzione EnsureProperEncryption abilitata.

In alternativa, se il database è già caricato, eseguire il comando XMLA seguente in SQL Server Management Studio:

<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>

Limitazioni della procedura di modifica dell'account del servizio Analysis Services dopo l'installazione di SQL Server 2022 CU1

La modifica diretta degli account di servizio non è supportata a causa della nuova progettazione.

A partire da SQL Server 2022 CU1, il server Analysis Services crittografa artefatti segreti, ad esempio le stringhe di connessione del database, usando una chiave di crittografia protetta per identità dell'account del servizio.

Se è necessario il trasferimento di database tra servizi che operano con account diversi, è essenziale seguire il metodo di backup e ripristino. Questo approccio garantisce una transizione più semplice tra gli account del servizio mantenendo al tempo stesso l'integrità dei dati.

  1. Usare SSMS per eseguire il backup di ogni database in un file con estensione abf.

  2. Arrestare il servizio SSAS.

  3. Modificare l'account del servizio SSAS.

  4. Eliminare il contenuto della cartella Dati, ad eccezione del file administrators.n.xml e del file master.vmp.

  5. Avviare il servizio SSAS.

  6. Ripristinare i database dai file con estensione abf di backup.

Prestare attenzione quando si implementano questi passaggi per evitare la perdita di dati o le vulnerabilità di sicurezza. Eseguire sempre i backup dei dati e richiedere indicazioni all'amministratore di sistema prima di apportare modifiche sostanziali agli account del servizio o alle configurazioni del server.

Risoluzione dei problemi

Problema: Se i passaggi di backup/ripristino precedenti non vengono seguiti, la modifica di SQL Server account del servizio Analysis Services 2022 può causare l'avvio del servizio.

Il messaggio seguente nel file Log\msmdsrv.log indica che il servizio non è in grado di avviare perché l'account del servizio è stato modificato:

"La chiave di crittografia Server Gen2 non è presente, ma il sistema dell'oggetto assembly del server è impostato per l'uso della cryptokey di server gen2. Server di terminazione. (Origine: \?\C:\Programmi\Microsoft SQL Server\MSAS16. MSSQLSERVER\OLAP\Log\msmdsrv.log, Tipo: 1, Categoria: 289, ID evento: 0x4121005C"

Soluzione: Nel file msmdsrv.ini, in ConfigurationSettings>DataDir, determinare il percorso della cartella Dati . Nella cartella Dati eliminare quindi i file con il nome contenente .asm.xmle tutte le cartelle con estensione asm .

Dopo aver eliminato i file, riavviare il servizio Analysis Services. I file con estensione asm vengono creati di nuovo automaticamente.

Le proprietà crittografate seguenti devono quindi essere configurate tramite SQL Server Management Studio (SSMS):

  • Log\QueryLog\QueryLogConnectionString.
  • Ogni origine dati ImpersonationAccount password o password di autenticazione.

Vedi anche

Eseguire il backup e il ripristino di database di Analysis Services
Livello di compatibilità per i modelli tabulari