Configurare le Istanza gestita di SQL abilitate da Azure Arc

Questo articolo illustra come configurare Istanza gestita di SQL abilitati da Azure Arc.

Configurare risorse come core e memoria

Configurare tramite 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 di 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 di , è possibile usare i comandi seguenti 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 abilitato da Azure Arc nel BusinessCritical livello di servizio 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

Configurare le repliche

È anche possibile aumentare o ridurre il numero di repliche distribuite nel BusinessCritical livello di servizio 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 preconfigurato --readable--secondaries . È possibile modificare prima --readable--secondaries di ridurre le repliche.

Configurare le opzioni del server

È possibile configurare determinate impostazioni di configurazione del server per Istanza gestita di SQL abilitate da Azure Arc durante o dopo la creazione. Questo articolo descrive come configurare impostazioni come l'abilitazione di "Query distribuite ad hoc" o "backup compression default" e così via.

Attualmente è possibile configurare le opzioni del server seguenti:

  • Query distribuite ad hoc
  • Traccia predefinita abilitata
  • Database Mail XPs
  • Impostazione predefinita per la compressione dei backup
  • Soglia dei costi per il parallelismo
  • Ottimizza per carichi di lavoro ad hoc

Nota

  • Attualmente queste opzioni possono essere specificate solo tramite il file YAML, durante Istanza gestita di SQL creazione o post-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"