Configurer SQL Managed Instance doté d’Azure Arc
Cet article explique comment configurer SQL Managed Instance doté d’Azure Arc.
Configurer des ressources telles que des cœurs et de la mémoire
Configurer via l’interface CLI
Pour mettre à jour la configuration d’une instance avec l’interface CLI. Exécutez la commande suivante pour afficher les options de configuration.
az sql mi-arc update --help
Pour mettre à jour la mémoire et les cœurs disponibles pour une instance, utilisez :
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
L’exemple suivant définit les demandes et les limites de mémoire et de cœur de processeur.
az sql mi-arc update --cores-limit 4 --cores-request 2 --memory-limit 4Gi --memory-request 2Gi -n sqlinstance1 --k8s-namespace arc --use-k8s
Pour voir les modifications apportées à l’instance, vous pouvez utiliser les commandes suivantes pour afficher le fichier yaml de configuration :
az sql mi-arc show -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s
Secondaires accessibles en lecture
Lorsque vous déployez SQL Managed Instance doté d’Azure Arc dans le niveau de service BusinessCritical
avec deux réplicas ou plus, par défaut, un réplica secondaire est automatiquement configuré en tant que readableSecondary
. Ce paramètre peut être modifié pour ajouter ou supprimer les secondaires accessibles en lecture de la façon suivante :
az sql mi-arc update --name <sqlmi name> --readable-secondaries <value> --k8s-namespace <namespace> --use-k8s
L’exemple suivant réinitialise les secondaires accessibles en lecture sur 0.
az sql mi-arc update --name sqlmi1 --readable-secondaries 0 --k8s-namespace mynamespace --use-k8s
Configurer des réplicas
Vous pouvez également effectuer un scale-up ou un scale-down du nombre de réplicas déployés dans le niveau de service BusinessCritical
comme suit :
az sql mi-arc update --name <sqlmi name> --replicas <value> --k8s-namespace <namespace> --use-k8s
Par exemple :
L’exemple suivant réduit le nombre de réplicas de 3 à 2.
az sql mi-arc update --name sqlmi1 --replicas 2 --k8s-namespace mynamespace --use-k8s
Remarque
Si vous effectuez un scale-down de deux réplicas à un seul réplica, vous risquez de provoquer un conflit avec le paramètre --readable--secondaries
préconfiguré. Vous pouvez modifier le paramètre --readable--secondaries
avant d’effectuer un scale-down des réplicas.
Configurer les options de serveur
Vous pouvez configurer certains paramètres de configuration de serveur pour SQL Managed Instance doté d’Azure Arc pendant ou après la création. Cet article explique comment configurer des paramètres tels que l’activation des « requêtes distribuées ad hoc » ou la « compression par défaut des sauvegardes », etc.
Actuellement, il est possible de configurer les options de serveur suivantes :
- Requêtes distribuées ad hoc
- Trace par défaut activée
- Database Mail XPs
- Compression des sauvegardes par défaut
- Seuil des coûts pour le parallélisme
- Optimiser pour les charges de travail ad hoc
Remarque
Actuellement, ces options peuvent uniquement être spécifiées via le fichier YAML, soit lors de la création de SQL Managed Instance, soit après le déploiement.
La balise d’image d’instance gérée SQL doit avoir la version 1.19.x ou ultérieure.
Ajoutez les éléments suivants à votre fichier YAML pendant le déploiement pour configurer l’une de ces options.
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
Si vous disposez déjà d’une instance gérée SQL dotée d’Azure Arc existante, vous pouvez exécuter kubectl edit sqlmi <sqlminame> -n <namespace>
et ajouter les options ci-dessus aux spécifications.
Example de fichier 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
Activer SQL Server Agent
L’agent SQL Server est désactivé pendant un déploiement par défaut de SQL Managed Instance dotée d’Azure Arc. Il peut être activé en exécutant la commande suivante :
az sql mi-arc update -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s --agent-enabled true
Par exemple :
az sql mi-arc update -n sqlinstance1 --k8s-namespace arc --use-k8s --agent-enabled true
Activer les indicateurs de trace
Les indicateurs de trace peuvent être activés comme suit :
az sql mi-arc update -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s --trace-flags "3614,1234"