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"