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"