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.

Exemple 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"