Compartilhar via


Enhanced encryption

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

O SSAS (SQL Server 2022 Analysis Services) CU1 e versões posteriores incluem criptografia aprimorada para determinadas operações de gravação no esquema de banco de dados modelo. Ao atualizar de uma versão anterior do SSAS, você deve atualizar seus bancos de dados de modelo para usar a criptografia mais recente. Se a criptografia não for atualizada, determinadas operações de gravação de esquema de banco de dados serão bloqueadas. Por exemplo, você não pode adicionar uma nova fonte de dados ou alterar cadeias de conexão.

Caution

Bancos de dados novos ou atualizados do Analysis Services com criptografia aprimorada não podem ser carregados em versões anteriores do SQL Server Analysis Services.

Atualizando bancos de dados de modelo tabular

Para bancos de dados de modelo de tabela no nível de compatibilidade 1600 e superior, o seguinte erro pode ser retornado durante determinadas operações de gravação de esquema:

"Novo banco de dados tabular '%{DatabaseName/}' não está usando o esquema de criptografia mais recente. Execute o comando RemoveDiscontinuedFeatured com a opção EnsureProperEncryption (ou restaure o BD do arquivo de backup com a mesma opção) para atualizar para a criptografia mais recente."

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>

Ou, se o banco de dados já estiver carregado, execute o seguinte comando XML for Analysis (XMLA) no 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>

Atualizando bancos de dados de modelo multidimensional

Para bancos de dados de modelo multidimensional em todos os níveis de compatibilidade, o seguinte erro pode ser retornado durante determinadas operações de gravação de esquema:

"Banco de dados multidimensional '%{DatabaseName/}' não está usando o esquema de criptografia mais recente. Crie um arquivo de backup e restaure o BD do arquivo de backup com a opção EnsureProperEncryption para atualizar para a criptografia mais recente."

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

Ou, se o banco de dados já estiver carregado, execute o seguinte comando XMLA no 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>

Gerenciamento de vida útil da chave

O SQL Server Analysis Services usa uma chave de criptografia de banco de dados para criptografar dados confidenciais por banco de dados, como credenciais de fonte de dados e cadeias de conexão. No SSAS 2025 e versões posteriores, você pode usar o conjunto de linhas de esquema DBSCHEMA_CATALOGS para determinar o nível de criptografia dos bancos de dados de modelo, bem como a idade da chave de banco de dados. Verifique a coluna ENCRYPTION_LEVEL e verifique se o nível corresponde ao Analysis Services 2022 CU. Verifique a coluna CRYPTOKEY_UPDATED para a data de criação ou a última data de regeneração da chave de criptografia do banco de dados.

Você pode regenerar a chave de criptografia do banco de dados usando o comando RemoveDiscontinuedFeatures. Como a atualização da criptografia herdada descrita anteriormente, o comando RemoveDiscontinuedFeatures descriptografa os dados protegíveis, gera uma nova chave de criptografia de banco de dados e criptografa novamente os dados protegíveis usando a nova chave de criptografia de banco de dados.

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

Procedimentos de alteração da conta de serviço

O SQL Server Analysis Services criptografa cada chave de criptografia de banco de dados usando uma chave de criptografia em todo o servidor. A criptografia aprimorada no SSAS 2022 CU1 e versões posteriores usa a DPAPI (API de proteção de dados) para proteger e acessar com segurança a chave de criptografia do servidor usando informações da conta de serviço atual e da conta de computador local. A chave de criptografia do servidor só pode ser descriptografada usando a mesma conta de serviço no computador local. Devido à dependência da conta de serviço atual, siga os procedimentos abaixo para alterar a conta de serviço do SQL Server Analysis Services.

Alterando a conta de serviço de uma instância Multidimensional

Se você precisar alterar a conta de serviço de uma instância de servidor em execução no modo Multidimensional, será essencial fazer backup dos bancos de dados modelo, desinstalar e, em seguida, reinstalar o servidor e restaurar os bancos de dados modelo. Essa abordagem garante que todos os itens de segurança sejam criptografados corretamente, incluindo as credenciais de QueryLogConnectionString e de ImpersonationAccount. Alternatively, you can also use an attach/detach approach, but this approach requires you to preserve the existing data folder.

  1. Use o SSMS para fazer backup de cada banco de dados no arquivo .abf.

  2. Desinstale a instância do servidor SSAS.

  3. Exclua os remanescentes da instância de servidor desinstalada, como pastas de dados restantes ou arquivos de configuração.

  4. Instale uma nova instância do servidor SSAS e atribua uma nova conta de serviço.

  5. Restaure os bancos de dados dos arquivos .abf de backup.

Tenha cuidado ao implementar essas etapas para evitar vulnerabilidades de segurança ou perda de dados. Sempre execute backups de dados e procure orientação do administrador do sistema antes de fazer alterações substanciais em contas de serviço ou configurações de servidor.

Alterando a conta de serviço de uma instância tabular

As instâncias de servidor tabular não exigem a reinstalação completa do servidor porque os servidores tabulares não usam as credenciais QueryLogConnectionString ou ImpersonationAccount em todo o servidor. Embora o procedimento não dependa de backups de banco de dados, você sempre deve executar backups de dados e buscar orientação do administrador do sistema antes de fazer alterações substanciais em contas de serviço ou configurações de servidor.

  1. Recomendado, mas opcional, use o SSMS para fazer backup de cada banco de dados no arquivo .abf.

  2. Desanexe todos os bancos de dados de modelo.

  3. Interrompa o serviço SSAS.

  4. Exclua todos os arquivos na pasta Dados, exceto Administrators.xml e master.vmp, exclua a cadeia de conexão de log de consulta e a senha de impersonação em msmdsrv.ini e mantenha os diretórios do banco de dados.

  5. Altere a conta de serviço do SSAS.

  6. Inicie o serviço SSAS.

  7. Reconectar todos os bancos de dados padrão.

Movendo bancos de dados de modelo para uma instância de servidor diferente

Se precisar transferir bancos de dados de modelo entre servidores, é fundamental usar um método de backup/restauração ou desanexar/anexar. Consulte Mover um banco de dados do Analysis Services para obter detalhes sobre como usar a abordagem de desanexar/anexar usando SSMS, AMO ou XMLA.

Suporte para cluster de failover

O SQL Server 2025 Analysis Services com criptografia aprimorada pode ser instalado em um WSFC (Cluster de Failover do Windows Server) para obter alta disponibilidade. Em um ambiente WSFC, todas as instâncias de servidor devem usar a mesma conta de usuário de domínio do Active Directory que a conta de serviço para que a chave de criptografia do servidor possa ser descriptografada em todas as instâncias do servidor. Não há suporte para contas locais do Windows, contas Build-In e contas de ID do Entra.

Note

O SQL Server 2022 Analysis Services CU1 com criptografia aprimorada não fornece suporte ao Cluster de Failover. Para aproveitar a criptografia aprimorada em um ambiente de cluster de failover, você deve atualizar para o 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.

A seguinte mensagem no arquivo Log\msmdsrv.log indica que o serviço não pode ser iniciado porque a conta de serviço foi alterada:

Chave criptográfica do Server Gen2 não está presente, mas o objeto de montagem do sistema do servidor está configurado para utilizar a chave criptográfica do Server Gen2. Encerrando o servidor. (Origem: \?\C:\Arquivos de Programas\Microsoft SQL Server\MSAS16.MSSQLSERVER\OLAP\Log\msmdsrv.log, Tipo: 1, Categoria: 289, ID do 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.

Depois de excluir os arquivos, reinicie o serviço Serviços de Análise. Os arquivos .asm são criados automaticamente novamente.

As seguintes propriedades criptografadas devem ser configuradas usando o SSMS (SQL Server Management Studio):

  • Log\QueryLog\QueryLogConnectionString.
  • Cada fonte de dados usa uma senha de ImpersonationAccount ou uma senha de autenticação.

See also

Fazer backup e restaurar bancos de dados do Analysis Services
Nível de compatibilidade para modelos tabulares