Configurare l’Istanza gestita di SQL abilitata da Azure Arc
Questo articolo illustra come configurare l’Istanza gestita di SQL abilitata da Azure Arc.
Configurare risorse come core e memoria
Configurare con l'interfaccia della riga di comando
Per aggiornare la configurazione di un'istanza con l'interfaccia della riga di comando. Eseguire il comando seguente per visualizzare le opzioni di configurazione.
az sql mi-arc update --help
Per aggiornare la memoria e i core disponibili per un'istanza usare:
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
Nell'esempio seguente vengono impostati i limiti e le richieste core cpu e memoria.
az sql mi-arc update --cores-limit 4 --cores-request 2 --memory-limit 4Gi --memory-request 2Gi -n sqlinstance1 --k8s-namespace arc --use-k8s
Per visualizzare le modifiche apportate all'istanza, è possibile usare i seguenti comandi per visualizzare il file yaml di configurazione:
az sql mi-arc show -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s
Configurare repliche secondarie leggibili
Quando si distribuisce Istanza gestita di SQL abilitata da Azure Arc nel livello di servizio BusinessCritical
con 2 o più repliche, per impostazione predefinita, una replica secondaria viene configurata automaticamente come readableSecondary
. Questa impostazione può essere modificata per aggiungere o rimuovere le repliche secondarie leggibili come indicato di seguito:
az sql mi-arc update --name <sqlmi name> --readable-secondaries <value> --k8s-namespace <namespace> --use-k8s
Nell'esempio seguente, ad esempio, i database secondari leggibili vengono reimpostati su 0.
az sql mi-arc update --name sqlmi1 --readable-secondaries 0 --k8s-namespace mynamespace --use-k8s
Configura repliche
È anche possibile aumentare o ridurre il numero di repliche distribuite nel livello di servizio BusinessCritical
come indicato di seguito:
az sql mi-arc update --name <sqlmi name> --replicas <value> --k8s-namespace <namespace> --use-k8s
Ad esempio:
Nell'esempio seguente viene ridotto il numero di repliche da 3 a 2.
az sql mi-arc update --name sqlmi1 --replicas 2 --k8s-namespace mynamespace --use-k8s
Nota
Se si passa da 2 repliche a 1 replica, è possibile che si verifichi un conflitto con l'impostazione --readable--secondaries
preconfigurata. È prima possibile modificare --readable--secondaries
prima di ridurre le repliche.
Configurare le opzioni del server
È possibile configurare determinate impostazioni di configurazione dell’Istanza gestita di SQL abilitata da Azure Arc durante o dopo la creazione. Questo articolo descrive come configurare impostazioni quali l'abilitazione di "Ad Hoc Distributed Queries" o "Backup compression default" e così via.
Attualmente è possibile configurare le opzioni del server seguenti:
- Ad Hoc Distributed Queries
- Default Trace Enabled
- Database Mail XPs
- Backup compression default
- Cost threshold for parallelism
- Ottimizza per carichi di lavoro ad hoc
Nota
Attualmente queste opzioni possono essere specificate solo tramite il file YAML, durante la creazione di Istanza gestita di SQL o dopo la distribuzione.
Il tag di immagine dell'istanza gestita di SQL deve essere almeno versione 1.19.x o successiva.
Aggiungere quanto segue al file YAML durante la distribuzione per configurare una di queste opzioni.
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 è già abilitata un'istanza gestita di SQL esistente da Azure Arc, è possibile eseguire kubectl edit sqlmi <sqlminame> -n <namespace>
e aggiungere le opzioni precedenti nella specifica.
File YAML di esempio:
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
Abilitare SQL Server Agent
SQL Server Agent è disabilitato durante una distribuzione predefinita di Istanza gestita di SQL abilitata da Azure Arc. Può essere abilitata eseguendo il comando seguente:
az sql mi-arc update -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s --agent-enabled true
Ad esempio:
az sql mi-arc update -n sqlinstance1 --k8s-namespace arc --use-k8s --agent-enabled true
Abilitare i flag di traccia
I flag di traccia possono essere abilitati come segue:
az sql mi-arc update -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s --trace-flags "3614,1234"