Configurar o SQL Server habilitado pelo Azure Arc

Aplica-se a:SQL Server

Cada servidor habilitado para o Azure Arc inclui um conjunto de propriedades que se aplicam a todas as instâncias do SQL Server instaladas nesse servidor. Você poderá configurar essas propriedades depois que a extensão do Azure para SQL Server for instalada no computador. No entanto, as propriedades só terão efeito se uma ou mais instâncias do SQL Server estiverem instaladas. No portal do Azure, a visão geral do SQL Server habilitado pelo Azure Arc reflete como a configuração do SQL Server afeta uma instância específica.

A Configuração do SQL Server do portal do Azure permite que você execute as seguintes tarefas de gerenciamento:

  1. Configurar o tipo de licença do SQL Server
  2. Definir a propriedade Atualizações de Segurança Estendidas
  3. Adicionar à lista Excluir instâncias

Pré-requisitos

Registrar provedores de recursos

Para registrar os provedores de recursos, use um dos métodos abaixo:

  1. Selecione Assinaturas
  2. Escolha sua assinatura
  3. Em Configurações, selecione Provedores de recursos
  4. Procure por Microsoft.AzureArcData e Microsoft.HybridCompute, em seguida, selecione Registrar

Modificar a configuração do SQL Server

Você pode usar o portal do Azure, o PowerShell ou a CLI para alterar todas ou algumas configurações em um servidor específico habilitado para o Arc para o estado desejado.

Para modificar a configuração do SQL Server para um escopo maior, como um grupo de recursos, uma assinatura ou várias assinaturas com um único comando, use o script modify-license-type.ps1 do PowerShell. Ele é publicado como um exemplo de código aberto do SQL Server e inclui as instruções passo a passo.

Dica

Execute o script do Azure Cloud Shell porque:

  • Ele tem os módulos necessários do Azure PowerShell pré-instalados
  • Ele autentica você automaticamente

Para obter detalhes, confira Executar o script usando Cloud Shell.

Há duas maneiras de configurar o host do SQL Server no portal do Azure.

  • Abra a página de visão geral do servidor habilitado para o Arc e selecione Configuração do SQL Server, conforme mostrado.

    Captura de tela de um SQL Server habilitado pelo Azure Arc no portal do Azure.

    Ou

  • Abra a página de visão geral do SQL Server habilitado para Arc e selecione Propriedades. Em Configuração do SQL Server, selecione a configuração que deve ser modificada:

    • Tipo de licença
    • Assinatura do ESU
    • Atualizações automáticas

    Captura de tela da configuração de instância do SQL Server do portal do Azure.

Definir a propriedade Tipo de Licença

Escolha um dos tipos de licença. Confira Tipos de licença para obter descrições.

Definir a propriedade Atualizações de Segurança Estendidas

Atualizações de Segurança Estendidas (ESU) estão disponíveis para instâncias qualificadas do SQL Server que usam Licença com Software Assurance ou Pagamento conforme o uso como tipo de licença. Se o tipo de licença for somente licença, a opção de ativar a assinatura da ESU será desabilitada. Consulte Atualizações de Segurança Estendidas para o SQL Server.

Observação

  • Para ativar uma assinatura da ESU, o tipo de licença deve ser definido como Pagamento conforme o uso ou Licença com Software Assurance. Se estiver definido como Somente licença, as opções de Atualizações de Segurança Estendidas serão desabilitadas.
  • Se a ESU estiver habilitada, o Tipo de Licença não poderá ser alterado para LicenseOnly até que a assinatura da ESU seja cancelada.

Aplicar licença de núcleo físico

Marque esta caixa de seleção se essa for uma máquina virtual e você estiver aproveitando o benefício ilimitado de virtualização para licenciar o software SQL Server ou sua assinatura SQL. Se selecionado, o núcleo físico terá precedência e os custos de software do SQL Server ou USU associados a essa VM serão anulados.

Importante

  1. O benefício UV não tem suportado para as VMs em execução na infraestrutura dos provedores listados. Se você selecionar essa opção para essa VM, esta intenção será ignorada e você será cobrado pelos núcleos virtuais da VM. Consulte Provedores listados para obter detalhes.
  2. Se você estiver configurando uma VM que não está sujeita à restrição acima, verifique se o tipo de Licença selecionado corresponde ao Plano de cobrança configurado no recurso de licença do núcleo físico.

Adicionar à lista Excluir instâncias

Você pode excluir determinadas instâncias das operações de integração em grande escala conduzidas pela política do Azure ou por processos de integração automática. Para excluir instâncias específicas dessas operações, adicione os nomes das instâncias à lista Ignorar Instâncias. Para obter detalhes sobre as opções de integração em grande escala, consulte Opções alternativas de implantação para o SQL Server habilitado pelo o Azure Arc.

Cuidado

As instâncias do SQL Server que usam o Pagamento Conforme o Uso (PAYG) não podem ser excluídas.

Salvar a configuração atualizada

Depois de verificar o tipo de licença, a configuração de ESU e qualquer instância a ser excluída, selecione Salvar para aplicar as alterações.

Consultar a configuração do SQL Server

Você pode usar o Azure Resource Graph para consultar as configurações do SQL Server dentro de um escopo selecionado. Consulte os exemplos a seguir.

Contagem por tipo de licença

Este exemplo retorna a contagem por tipo de licença.

resources
| where type == "microsoft.hybridcompute/machines/extensions"
| where properties.type in ("WindowsAgent.SqlServer","LinuxAgent.SqlServer")
| extend licenseType = iff(properties.settings.LicenseType == '', 'Configuration needed', properties.settings.LicenseType)
| summarize count() by tostring(licenseType)

Identificar instâncias em que o tipo de licença é indefinido

Essa consulta retorna uma lista de instâncias em que o tipo de licença é nulo.

resources
| where type == "microsoft.hybridcompute/machines/extensions"
| where properties.type in ("WindowsAgent.SqlServer","LinuxAgent.SqlServer")
| where isnull(properties.settings.LicenseType)
| project ['id'], resourceGroup, subscriptionId

Listar detalhes de configuração para cada instância do SQL Server

Essa consulta identifica vários detalhes sobre cada instância, incluindo o tipo de licença, as configurações de ESU e os recursos habilitados.

resources
| where type == "microsoft.hybridcompute/machines"| where properties.detectedProperties.mssqldiscovered == "true"| extend machineIdHasSQLServerDiscovered = id
| project name, machineIdHasSQLServerDiscovered, resourceGroup, subscriptionId
| join kind= leftouter (
    resources
    | where type == "microsoft.hybridcompute/machines/extensions"    | where properties.type in ("WindowsAgent.SqlServer","LinuxAgent.SqlServer")
    | extend machineIdHasSQLServerExtensionInstalled = iff(id contains "/extensions/WindowsAgent.SqlServer" or id contains "/extensions/LinuxAgent.SqlServer", substring(id, 0, indexof(id, "/extensions/")), "")
    | project Extension_State = properties.provisioningState,
    License_Type = properties.settings.LicenseType,
    ESU = iff(notnull(properties.settings.enableExtendedSecurityUpdates), iff(properties.settings.enableExtendedSecurityUpdates == true,"enabled","disabled"), ""),
    Extension_Version = properties.instanceView.typeHandlerVersion,
    Excluded_instances = properties.ExcludedSqlInstances,
    Purview = iff(notnull(properties.settings.ExternalPolicyBasedAuthorization),"enabled",""),
    Entra = iff(notnull(properties.settings.AzureAD),"enabled",""),
    BPA = iff(notnull(properties.settings.AssessmentSettings),"enabled",""),
    machineIdHasSQLServerExtensionInstalled)on $left.machineIdHasSQLServerDiscovered == $right.machineIdHasSQLServerExtensionInstalled
| where isnotempty(machineIdHasSQLServerExtensionInstalled)
| project-away machineIdHasSQLServerDiscovered, machineIdHasSQLServerExtensionInstalled

Listar servidores habilitados pelo Arc com instâncias do SQL Server

Essa consulta identifica os servidores habilitados pelo Azure Arc com instâncias do SQL Server detectadas neles.

resources
| where type == "microsoft.hybridcompute/machines"
| where properties.detectedProperties.mssqldiscovered == "true"
//| summarize count()

Essa consulta retorna os servidores habilitados pelo Azure Arc que têm instâncias do SQL Server, mas a extensão do SQL Server do Arc não está instalada. Essa consulta se aplica apenas a servidores Windows.

resources
| where type == "microsoft.hybridcompute/machines"
| where properties.detectedProperties.mssqldiscovered == "true"
| project machineIdHasSQLServerDiscovered = id
| join kind= leftouter (
    resources
    | where type == "microsoft.hybridcompute/machines/extensions"
    | where properties.type == "WindowsAgent.SqlServer"
    | project machineIdHasSQLServerExtensionInstalled = substring(id, 0, indexof(id, "/extensions/WindowsAgent.SqlServer")))
on $left.machineIdHasSQLServerDiscovered == $right.machineIdHasSQLServerExtensionInstalled
| where isempty(machineIdHasSQLServerExtensionInstalled)
| project machineIdHasSQLServerDiscoveredButNotTheExtension = machineIdHasSQLServerDiscovered

Para obter mais exemplos de Consultas do Azure Resource Graph, confira Inicializador de Consultas do Resource Graph.

Gerenciar a virtualização ilimitada

Para habilitar a virtualização ilimitada, o SQL Server habilitado pelo Azure Arc oferece suporte a um tipo de recurso especial: SQLServerLicense. Esse recurso permite que você licencie muitas máquinas virtuais com as instâncias do SQL Server instaladas. Para obter detalhes do modelo de licenciamento, consulte Licenciando instâncias do SQL Server com virtualização ilimitada.

Pré-requisitos

Sua função RBAC inclui as seguintes permissões:

  • Microsoft. AzureArcData/SqlLicenses/read
  • Microsoft. AzureArcData/SqlLicenses/write
  • Microsoft.Management/managementGroups/read
  • Microsoft.Resources/subscriptions/read
  • Microsoft.Resources/subscriptions/resourceGroups/read
  • Microsoft.Support/supporttickets/write

Criar licença do SQL Server

Para criar o recurso de licença do SQL Server, use um dos métodos abaixo:

  1. Selecione o Azure Arc
  2. Em Serviços de Dados, selecione Licenças do SQL Server
  3. Clique em +Criar
  4. Selecione Licença de núcleo físico do SQL Server
  5. Concluir o assistente de criação

Alterar propriedades de licença do SQL Server

Para alterar a propriedade de licença do SQL Server, por exemplo, ativá-la posteriormente, use um dos métodos abaixo:

  1. Selecione o Azure Arc
  2. Em Serviços de Dados, selecione Licenças do SQL Server
  3. Clique na licença em questão
  4. Selecione Configurar em Gerenciamento
  5. Faça as alterações e clique em Aplicar

Gerenciar recursos no escopo

Você pode gerenciar os recursos no escopo de uma licença de núcleo físico específica do SQL Server usando as seguintes etapas:

  1. Selecione o Azure Arc
  2. Em Serviços de Dados, selecione Licenças do SQL Server
  3. Clique na licença em questão
  4. Selecionar Recursos no escopo em Gerenciamento

Se os recursos específicos não estiverem configurados para usar esta licença (a coluna Aplicar licença física principal exibe "NÃO"), você poderá alterar isso:

  1. Selecione o(s) recurso(s) específico na lista
  2. Clique na guia Aplicar licença.
  3. Leia o aviso de isenção de responsabilidade e clique em Confirmar.

Listar servidores habilitados para Arc no escopo da licença do SQL Server

Esta consulta lista todos os servidores habilitados para Azure Arc no escopo da licença e as propriedades relevantes de cada um.

resources
        | where type =~ 'Microsoft.HybridCompute/machines'
        | where ('${scopeType}'!= 'Subscription' or subscriptionId == '${subscription}')
        | where ('${scopeType}' != 'ResourceGroup' or (resourceGroup == '${resourceGroup.toLowerCase()}' and subscriptionId == '${subscription}'))
        | extend status = tostring(properties.status)
        | where status =~ 'Connected'
        | join kind = leftouter
        (
        resources
        | where type =~ 'Microsoft.HybridCompute/machines/extensions'
        | where name == 'WindowsAgent.SqlServer' or name == 'LinuxAgent.SqlServer'
        | extend machineId = substring(id, 0, indexof(id, '/extensions'))
        | extend extensionId = id
        )
        on $left.id == $right.machineId
        | where isnotnull(extensionId)
        | project id, name, properties.status, resourceGroup, subscriptionId, Model = properties.detectedProperties.model, Manufacturer = properties.detectedProperties.manufacturer, kind, OSE = properties.osName, License_applied = properties1.settings.UsePhysicalCoreLicense.IsApplied
        |order by name asc