Compartilhar via


Extensão do Azure para objetos do sistema SQL Server

Aplica-se a:SQL Server

Este artigo lista objetos do sistema que a extensão Azure para SQL Server implanta e gerencia. Elas incluem:

  • Arquivos
  • Chaves do Registro
  • Serviços do Windows
  • Tables

Arquivos do servidor Windows

Path Description
%ProgramFiles%\AzureConnectedMachineAgent\* azcmagent Executáveis de serviço de metadados de instância e CLI
%ProgramFiles%\AzureConnectedMachineAgent\GCArcService\GC\* Executáveis do serviço de extensão
%ProgramData%\AzureConnectedMachineAgent\* Arquivos de configuração, log e token de identidade para azcmagent CLI e serviço de metadados de instância
%ProgramData%\Application Data\Microsoft\Crypto\RSA\MachineKeys Chaves privadas de certificado do Windows

Arquivos do SQL Server

Path Descrição e notas
%ProgramFiles%\SQL Server Extension\* Arquivos de programa de extensão
%SYSTEMDRIVE%\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SQLServer\<extension_version>\* Executáveis de extensão
%SYSTEMDRIVE%\Windows\system32\extensionUpload\* Arquivos de uso
C:\Windows\System32\Tasks\Microsoft\SqlServerExtension XML para tarefa agendada para fornecer privilégios
C:\Windows\ServiceProfiles\SqlServerExtension\AppData\Local\Microsoft SQL Server Extension Agent\* Quando configurado para privilégios mínimos

Aplicativo de recursos
C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft SQL Server Extension Agent\* Quando não estiver configurado para privilégios mínimos

Aplicativo de recursos

Note

Atualmente, a configuração menos privilegiada não é aplicada por padrão.

Servidores existentes com versão 1.1.2859.223 de extensão ou superior eventualmente terão a configuração menos privilegiada aplicada. Essa extensão foi lançada em novembro de 2024. Para impedir a aplicação automática de privilégios mínimos, bloqueie as atualizações de extensão após 1.1.2859.223.

Serviços Windows

Nome do serviço Nome de exibição Nome do processo Description
SqlServerExtension Microsoft SQL Server Extension Service SqlServerExtension.exe Conecta sua instância do SQL Server ao Azure.
himds Serviço de Metadados de Instância Híbrida do Azure himds.exe Sincroniza metadados com o Azure e hospeda uma API REST local para que extensões e aplicativos acessem os metadados e solicitem tokens de identidade gerenciados pelo Microsoft Entra
GCArcService Serviço Arc de configuração de máquina gc_arc_service.exe (gc_service.exe anterior à versão 1.36) Audita e impõe políticas de configuração de máquina do Azure no computador.
ExtensionService Serviço de extensão de configuração de máquina gc_extension_service.exe (gc_service.exe anterior à versão 1.36) Instala, atualiza e gerencia extensões no computador.

Contas de serviço virtual

Conta Virtual Description
NT SERVICE\himds Conta sem privilégios usada para executar o Hybrid Instance Metadata Service.
NT Service\SQLServerExtension Conta sem privilégios usada para executar o Serviço de Extensão do SQL Server no modo de privilégio mínimo.

Chaves do Registro

Chave base: HKEY_LOCAL_MACHINE

Key Descrição e notas
SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRegistryName>\MSSQLSERVER Chave do Registro do ID do Microsoft Entra
SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceRegistryName>\PurviewConfig Chave do Registro do Purview
SOFTWARE\Microsoft\SystemCertificates Chave de registro de certificado do Windows

Tables

Em cada instância do SQL Server habilitada pelo Azure Arc, a extensão cria as seguintes tabelas em msdb:

  • dq.arcJobTriggers00
  • dt.arcJobDefinitions

Essas tabelas armazenam a definição de trabalho em segundo plano e o histórico de execução. Os trabalhos em segundo plano executam ações agendadas e iniciadas pelo usuário. Essas tabelas permitem que trabalhos de longa duração sejam retomados automaticamente se a Extensão Azure para SQL Server for reiniciada.

Além disso, a tabela dbo.SQLServerAzureArcProperties contém a identidade do recurso para a instância do SQL Server no Azure Resource Manager. Essa tabela pode ser usada para detectar se a instância do SQL Server está habilitada para Arc e, em caso afirmativo, qual é a identidade do recurso no Azure.

Perguntas frequentes

Onde ficam esses empregos de fundo?

Os trabalhos em segundo plano são usados para realizar tarefas de longa duração que podem persistir se o computador reiniciar. A lógica dos trabalhos é armazenada na extensão, enquanto o estado é armazenado em msdb. Por exemplo, um trabalho de avaliação de migração pode levar muito tempo para ser executado, então o estado é armazenado em msdb.

Em que contexto de segurança os trabalhos funcionam?

Para o modo de menor privilégio, os trabalhos são executados no contexto de C:\Program Files\SQL Server Extension\SqlServerExtension.Service.exe serviço. O serviço se conecta ao msdb banco de dados no SQL Server junto com a NT Service\SQLServerExtension conta. Este serviço possui as permissões mínimas necessárias para operar em msdb.

Se a extensão do agente não estiver no modo de menor privilégio, a conexão é feita usando a LocalSystem conta.

Por quanto tempo as linhas dessa tabela são mantidas? Qual é a política de purga?

A duração máxima do trabalho é de 15 dias. Essa configuração atualmente não é configurável pelo usuário via API do Azure Resource Manager. Após 15 dias, o motor elimina automaticamente os trabalhos antigos que foram executados.

Um determinado trabalho tem uma vida útil máxima de um dia antes de falhar. Esse período limita a vida útil que um emprego pode permanecer no sistema.

Qual o tamanho que essas mesas devem crescer?

Espera-se que as mesas sejam pequenas. O período de retenção é finito e há poucos empregos.

Quais índices preciso nessas tabelas?

Índices não ajudam no desempenho. As tabelas devem ter tamanhos triviais, pois estão ligadas ao número de recursos/jobs rodando em um dado momento.

Quais recursos usam essas tabelas e tabelas e tabecas?

Vários recursos da Extensão Arc SQL usam jobs em segundo plano para armazenar estado.

Incluindo:

  • Avaliação de Melhores Práticas
  • Avaliação da Migração
  • Backup/Restauração do Banco de Dados

As tabelas permitem que a extensão continue operações caras (como a descoberta) que podem levar longos períodos, sem começar do zero a cada vez.

O que acontece se essas tabelas forem descartadas inadvertidamente ou se ocorrer corrupção nessas tabelas?

Se as tabelas forem descartadas, o estado é perdido e o deployer de extensão recria a tabela. Se as tabelas forem corrompidas por mutações no estado de onde os jobs estão lendo, a extensão pode falhar.

Como essas tabelas podem ser recriadas manualmente se elas estão faltando?

Qualquer ação do Arc que invoque o deployer da extensão – como uma mudança nas configurações do ARM ou uma atualização – recria as tabelas.