Partilhar via


Configurar a Instância Gerenciada SQL habilitada pelo Azure Arc

Este artigo explica como configurar a Instância Gerenciada do SQL habilitada pelo Azure Arc.

Configurar recursos como núcleos e memória

Configurar usando CLI

Para atualizar a configuração de uma instância com a CLI. Execute o seguinte comando para ver as opções de configuração.

az sql mi-arc update --help

Para atualizar a memória e os núcleos disponíveis para uma instância, use:

az sql mi-arc update --cores-limit 4 --cores-request 2 --memory-limit 4Gi --memory-request 2Gi -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s

O exemplo a seguir define o núcleo da CPU e as solicitações e limites de memória.

az sql mi-arc update --cores-limit 4 --cores-request 2 --memory-limit 4Gi --memory-request 2Gi -n sqlinstance1 --k8s-namespace arc --use-k8s

Para exibir as alterações feitas na instância, você pode usar os seguintes comandos para exibir o arquivo yaml de configuração:

az sql mi-arc show -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s

Configurar sistemas secundários legíveis

Quando você implanta a Instância Gerenciada SQL habilitada pelo Azure Arc na BusinessCritical camada de serviço com 2 ou mais réplicas, por padrão, uma réplica secundária é configurada automaticamente como readableSecondary. Essa configuração pode ser alterada para adicionar ou remover os secundários legíveis da seguinte maneira:

az sql mi-arc update --name <sqlmi name>  --readable-secondaries <value> --k8s-namespace <namespace> --use-k8s

Por exemplo, o exemplo a seguir redefine os secundários legíveis como 0.

az sql mi-arc update --name sqlmi1 --readable-secondaries 0 --k8s-namespace mynamespace --use-k8s

Configurar réplicas

Você também pode aumentar ou diminuir o número de réplicas implantadas na BusinessCritical camada de serviço da seguinte maneira:

az sql mi-arc update --name <sqlmi name> --replicas <value> --k8s-namespace <namespace> --use-k8s

Por exemplo:

O exemplo a seguir reduz o número de réplicas de 3 para 2.

az sql mi-arc update --name sqlmi1 --replicas 2 --k8s-namespace mynamespace --use-k8s

Observação

Ao reduzir de 2 réplicas para 1 réplica, poderá ocorrer um conflito com a configuração pré-configurada --readable--secondaries. Você pode editar primeiro o --readable--secondaries antes de reduzir as réplicas.

Configure as opções do servidor

Você pode definir determinadas definições de configuração de servidor para a Instância Gerenciada SQL habilitada pelo Azure Arc durante ou após o tempo de criação. Este artigo descreve como configurar definições, como ativar "Consultas Distribuídas Ad Hoc" ou ajustar o "padrão de compressão de backup".

Atualmente, as seguintes opções de servidor podem ser configuradas:

  • Consultas ad hoc distribuídas
  • Rastreamento padrão habilitado
  • Database Mail XPs
  • Padrão de compactação de backup
  • Limiar de custo para paralelismo
  • Otimizar para cargas de trabalho específicas e temporárias

Observação

  • Atualmente, essas opções só podem ser especificadas via arquivo YAML, durante a criação da Instância Gerenciada SQL ou após a implantação.

  • A tag de imagem da instância gerida SQL deve ser, pelo menos, a versão v1.19.x ou superior.

Adicione o seguinte ao seu arquivo YAML durante a implantação para configurar qualquer uma dessas opções.

spec:
  serverConfigurations:
  - name: "Ad Hoc Distributed Queries"
    value: 1
  - name: "Default Trace Enabled"
    value: 0
  - name: "Database Mail XPs"
    value: 1
  - name: "backup compression default"
    value: 1
  - name: "cost threshold for parallelism"
    value: 50
  - name: "optimize for ad hoc workloads"
    value: 1

Se você já tiver uma instância gerenciada SQL existente habilitada pelo Azure Arc, poderá executar kubectl edit sqlmi <sqlminame> -n <namespace> e adicionar as opções acima à especificação.

Exemplo de arquivo YAML:

apiVersion: sql.arcdata.microsoft.com/v13
kind: SqlManagedInstance
metadata:
  name: sql1
  annotations:
    exampleannotation1: exampleannotationvalue1
    exampleannotation2: exampleannotationvalue2
  labels:
    examplelabel1: examplelabelvalue1
    examplelabel2: examplelabelvalue2
spec:
  dev: true #options: [true, false]
  licenseType: LicenseIncluded #options: [LicenseIncluded, BasePrice].  BasePrice is used for Azure Hybrid Benefits.
  tier: GeneralPurpose #options: [GeneralPurpose, BusinessCritical]
  serverConfigurations:
  - name: "Ad Hoc Distributed Queries"
    value: 1
  - name: "Default Trace Enabled"
    value: 0
  - name: "Database Mail XPs"
    value: 1
  - name: "backup compression default"
    value: 1
  - name: "cost threshold for parallelism"
    value: 50
  - name: "optimize for ad hoc workloads"
    value: 1
  security:
    adminLoginSecret: sql1-login-secret
  scheduling:
    default:
      resources:
        limits:
          cpu: "2"
          memory: 4Gi
        requests:
          cpu: "1"
          memory: 2Gi
  services:
    primary:
      type: LoadBalancer
  storage:
    backups:
      volumes:
      - className: azurefile # Backup volumes require a ReadWriteMany (RWX) capable storage class
        size: 5Gi
    data:
      volumes:
      - className: default # Use default configured storage class or modify storage class based on your Kubernetes environment
        size: 5Gi
    datalogs:
      volumes:
      - className: default # Use default configured storage class or modify storage class based on your Kubernetes environment
        size: 5Gi
    logs:
      volumes:
      - className: default # Use default configured storage class or modify storage class based on your Kubernetes environment
        size: 5Gi

Habilitar o SQL Server Agent

O agente do SQL Server é desabilitado durante uma implantação padrão da Instância Gerenciada do SQL habilitada pelo Azure Arc. Ele pode ser ativado executando o seguinte comando:

az sql mi-arc update -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s --agent-enabled true

A título de exemplo:

az sql mi-arc update -n sqlinstance1 --k8s-namespace arc --use-k8s --agent-enabled true

Ativar sinalizadores de rastreamento

Os sinalizadores de rastreamento podem ser habilitados da seguinte maneira:

az sql mi-arc update -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s --trace-flags "3614,1234"