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

Nota

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

Configurar 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 configurações como ativar "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
  • Limiar de custo para paralelismo
  • Otimizar para cargas de trabalho ad hoc

Nota

  • 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 marca de imagem da instância gerenciada 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

Em forma 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"