Compartir a través de


Enhanced encryption

Applies to: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

SQL Server 2022 Analysis Services (SSAS) CU1 y versiones posteriores incluyen cifrado mejorado para determinadas operaciones de escritura en el esquema de base de datos modelo. Al actualizar desde una versión anterior de SSAS, debe actualizar las bases de datos del modelo para usar el cifrado más reciente. Si no se actualiza el cifrado, se bloquean determinadas operaciones de escritura de esquema de base de datos. Por ejemplo, no puede agregar un nuevo origen de datos ni modificar cadenas de conexión.

Caution

Las bases de datos de Analysis Services nuevas o actualizadas con cifrado mejorado no se pueden cargar en versiones anteriores de SQL Server Analysis Services.

Actualización de bases de datos de modelos tabulares

En el caso de las bases de datos del modelo tabular en el nivel de compatibilidad 1600 y superior, se puede devolver el siguiente error durante determinadas operaciones de escritura de esquema:

"Nueva base de datos tabular "%{DatabaseName/}" no usa el esquema de cifrado más reciente. Ejecute el comando RemoveDiscontinuedFeatured con la opción EnsureProperEncryption (o restaure la base de datos del archivo de copia de seguridad con la misma opción) para actualizar al cifrado más reciente".

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>

O bien, si la base de datos ya está cargada, ejecute el siguiente comando XML for Analysis (XMLA) en 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>

Actualización de bases de datos de modelos multidimensionales

En el caso de las bases de datos de modelos multidimensionales en todos los niveles de compatibilidad, se puede devolver el siguiente error durante determinadas operaciones de escritura de esquema:

"La base de datos multidimensional "%{DatabaseName/}" no usa el esquema de cifrado más reciente. Cree un archivo de copia de seguridad y restaure la base de datos a partir del archivo de copia de seguridad con la opción AsegurarProperEncryption para actualizar al cifrado más reciente".

To upgrade encryption, back up the database and then restore with the EnsureProperEncryption option enabled.

O bien, si la base de datos ya está cargada, ejecute el siguiente comando XMLA en 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>

Administración de vigencia de clave

SQL Server Analysis Services usa una clave de cifrado de base de datos para cifrar datos confidenciales por base de datos, como credenciales de origen de datos y cadenas de conexión. En SSAS 2025 y versiones posteriores, puede usar el conjunto de filas de esquema DBSCHEMA_CATALOGS para determinar el nivel de cifrado de las bases de datos del modelo, así como la antigüedad de la clave de base de datos. Compruebe la columna ENCRYPTION_LEVEL y compruebe que el nivel es Analysis Services 2022 CU. Compruebe la columna CRYPTOKEY_UPDATED para obtener la fecha de creación o la fecha de última regeneración de la clave de cifrado de base de datos.

Puede volver a generar la clave de cifrado de base de datos mediante el comando RemoveDiscontinuedFeatures. Al igual que la actualización del cifrado heredado descrito anteriormente, el comando RemoveDiscontinuedFeatures descifra los datos protegibles, genera una nueva clave de cifrado de base de datos y, a continuación, vuelve a cifrar los datos protegibles mediante la nueva clave de cifrado de base de datos.

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

Procedimientos de cambio de cuenta de servicio

SQL Server Analysis Services cifra cada clave de cifrado de base de datos mediante una clave de cifrado para todo el servidor. El cifrado mejorado en SSAS 2022 CU1 y versiones posteriores usa la API de protección de datos (DPAPI) para proteger y acceder de forma segura a la clave de cifrado del servidor mediante la información de la cuenta de servicio actual y la cuenta del equipo local. La clave de cifrado del servidor solo se puede descifrar mediante la misma cuenta de servicio en el equipo local. Debido a la dependencia de la cuenta de servicio actual, asegúrese de seguir los procedimientos siguientes para cambiar la cuenta de servicio de SQL Server Analysis Services.

Cambio de la cuenta de servicio de una instancia multidimensional

Si debe cambiar la cuenta de servicio de una instancia de servidor que se ejecuta en modo multidimensional, es esencial realizar copias de seguridad de las bases de datos del modelo, desinstalar y volver a instalar el servidor y, a continuación, restaurar las bases de datos del modelo. Este enfoque garantiza que todos los elementos protegibles se cifren correctamente, incluidas las credenciales QueryLogConnectionString y ImpersonationAccount. Alternatively, you can also use an attach/detach approach, but this approach requires you to preserve the existing data folder.

  1. Use SSMS para realizar una copia de seguridad de cada base de datos en un archivo .abf.

  2. Desinstale la instancia del servidor SSAS.

  3. Elimine los restos de la instancia de servidor desinstalada, como carpetas de datos sobrantes o archivos de configuración.

  4. Instale una nueva instancia del servidor SSAS y asigne una nueva cuenta de servicio.

  5. Restaure las bases de datos a partir de los archivos .abf de copia de seguridad.

Tenga cuidado al implementar estos pasos para evitar la pérdida de datos o vulnerabilidades de seguridad. Realice siempre copias de seguridad de datos y busque instrucciones del administrador del sistema antes de realizar cambios sustanciales en las cuentas de servicio o las configuraciones del servidor.

Cambio de la cuenta de servicio de una instancia tabular

Las instancias del servidor tabular no requieren una reinstalación completa del servidor porque los servidores tabulares no usan las credenciales QueryLogConnectionString o ImpersonationAccount de todo el servidor. Aunque el procedimiento no se basa en copias de seguridad de base de datos, siempre debe realizar copias de seguridad de datos y buscar instrucciones del administrador del sistema antes de realizar cambios sustanciales en las cuentas de servicio o las configuraciones del servidor.

  1. Se recomienda, pero opcional, use SSMS para realizar copias de seguridad de cada base de datos en un archivo .abf.

  2. Desasocie todas las bases de datos del modelo.

  3. Detenga el servicio SSAS.

  4. Elimine todos los archivos de la carpeta Datos, excepto Administrators.xml y el archivo master.vmp, elimine la cadena de conexión del registro de consultas y la contraseña de suplantación en msmdsrv.iniy mantenga los directorios de base de datos.

  5. Cambie la cuenta de servicio de SSAS.

  6. Inicie el servicio SSAS.

  7. Vuelva a adjuntar todas las bases de datos del modelo.

Mover bases de datos de modelo a una instancia de servidor diferente

Si debe transferir bases de datos de modelo entre servidores, es esencial aplicar un método de copia de seguridad, restauración o desasociación o asociación. Consulte Mover una base de datos de Analysis Services para obtener más información sobre el uso del método de desasociación o asociación mediante SSMS, AMO o XMLA.

Compatibilidad con clústeres de recuperación frente a errores

SQL Server 2025 Analysis Services, con cifrado mejorado, puede instalarse en un clúster de conmutación por error de Windows Server (WSFC) para lograr alta disponibilidad. En un entorno WSFC, todas las instancias de servidor deben usar la misma cuenta de usuario de dominio de Active Directory que la cuenta de servicio para que la clave de cifrado del servidor se pueda descifrar en todas las instancias del servidor. No se admiten cuentas locales de Windows, cuentas de Build-In ni cuentas de Id. de Entra.

Note

SQL Server 2022 Analysis Services CU1 con cifrado mejorado no es compatible con clústeres de recuperación frente a errores. Para aprovechar el cifrado mejorado en un entorno de clúster de recuperación frente a errores, debe aplicar la actualización de 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.

El siguiente mensaje del archivo Log\msmdsrv.log indica que el servicio no se puede iniciar porque se cambió la cuenta de servicio:

La clave criptográfica Server Gen2 no está presente, pero el objeto de ensamblado del sistema de servidor está configurado para usar la clave criptográfica gen2 del servidor. Terminando el servidor. (Origen: \?\C:\Archivos de programa\Microsoft SQL Server\MSAS16.MSSQLSERVER\OLAP\Log\msmdsrv.log, Tipo: 1, Categoría: 289, Id. de evento: 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.

Después de eliminar los archivos, reinicie el servicio Analysis Services. Los archivos .asm se vuelven a crear automáticamente.

Las siguientes propiedades cifradas deben configurarse mediante SQL Server Management Studio (SSMS):

  • Log\QueryLog\QueryLogConnectionString.
  • Cada contraseña ImpersonationAccount o contraseña de autenticación del origen de datos.

See also

Copia de seguridad y restauración de bases de datos de Analysis Services
Nivel de compatibilidad para modelos tabulares