Configurar a Instância Gerenciada de SQL habilitada pelo Azure Arc

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

Configurar recursos como núcleos e memória

Configuração usando a CLI

Para atualizar a configuração de uma instância com a CLI. Execute o comando a seguir 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 ver as alterações feitas na instância, você pode usar os seguintes comandos para exibir o arquivo de configuração yaml:

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

Configurar secundários legíveis

Quando você implanta a instância gerenciada de SQL habilitada pelo Azure Arc na camada de serviço BusinessCritical 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 redefinirá as réplicas secundárias para leitura como 0.

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

Configurar réplicas

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

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

Por exemplo:

O exemplo a seguir reduzirá verticalmente o número de réplicas de três para duas.

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

Observação

Se você reduzir verticalmente de duas réplicas para uma, poderá entrar em conflito com a configuração --readable--secondaries pré-definida. Primeiro, você pode editar os --readable--secondaries antes de reduzir verticalmente as réplicas.

Configurar opções de servidor

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

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

  • Consultas Distribuídas Ad Hoc
  • Rastreamento Padrão Habilitado
  • Database Mail XPs
  • Padrão de compactação de backup
  • Limite de custo para paralelismo
  • Otimizar para cargas de trabalho ad hoc

Observação

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

  • A marca de imagem da instância gerenciada de 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 de 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 de SQL habilitada pelo Azure Arc. Ele poderá ser habilitado pela execução do seguinte comando:

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

Por exemplo:

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

Habilitar sinalizadores de rastreamento

Os sinalizadores de rastreamento podem ser habilitados da seguinte forma:

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