Konfigurace služby SQL Managed Instance povolenou službou Azure Arc

Tento článek vysvětluje, jak nakonfigurovat spravovanou instanci SQL povolenou službou Azure Arc.

Konfigurace prostředků, jako jsou jádra a paměť

Konfigurace pomocí rozhraní příkazového řádku

Aktualizace konfigurace instance pomocí rozhraní příkazového řádku Spuštěním následujícího příkazu zobrazte možnosti konfigurace.

az sql mi-arc update --help

Aktualizace dostupné paměti a jader pro instanci:

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

Následující příklad nastaví požadavky a limity jader procesoru a paměti.

az sql mi-arc update --cores-limit 4 --cores-request 2 --memory-limit 4Gi --memory-request 2Gi -n sqlinstance1 --k8s-namespace arc --use-k8s

Pokud chcete zobrazit změny provedené v instanci, můžete k zobrazení konfiguračního souboru yaml použít následující příkazy:

az sql mi-arc show -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s

Konfigurace čitelných sekundárních souborů

Když nasadíte službu SQL Managed Instance povolenou službou Azure Arc na BusinessCritical úrovni služby s 2 nebo více replikami, ve výchozím nastavení se jedna sekundární replika automaticky nakonfiguruje jako readableSecondary. Toto nastavení můžete změnit tak, že přidáte nebo odeberete čitelné sekundární soubory následujícím způsobem:

az sql mi-arc update --name <sqlmi name>  --readable-secondaries <value> --k8s-namespace <namespace> --use-k8s

Například následující příklad resetuje čitelné sekundy na 0.

az sql mi-arc update --name sqlmi1 --readable-secondaries 0 --k8s-namespace mynamespace --use-k8s

Konfigurace replik

Můžete také vertikálně navýšit nebo snížit počet replik nasazených v BusinessCritical úrovni služby následujícím způsobem:

az sql mi-arc update --name <sqlmi name> --replicas <value> --k8s-namespace <namespace> --use-k8s

Příklad:

Následující příklad vertikálně navyšuje počet replik z 3 na 2.

az sql mi-arc update --name sqlmi1 --replicas 2 --k8s-namespace mynamespace --use-k8s

Poznámka:

Pokud vertikálně navyšujete kapacitu z 2 replik na 1 repliku, může dojít ke konfliktu s předem nakonfigurovaným --readable--secondaries nastavením. Před vertikálním snížením --readable--secondaries kapacity replik můžete nejprve upravit.

Konfigurace možností serveru

Můžete nakonfigurovat určitá nastavení konfigurace serveru pro službu SQL Managed Instance povolenou službou Azure Arc buď během vytváření, nebo po jeho vytvoření. Tento článek popisuje, jak nakonfigurovat nastavení, jako je povolení ad hoc distribuovaných dotazů nebo výchozí komprese zálohování atd.

V současné době je možné nakonfigurovat následující možnosti serveru:

  • Ad Hoc distribuované dotazy
  • Výchozí povolené trasování
  • Databázová pošta XPs
  • Výchozí komprese zálohování
  • Prahová hodnota nákladů pro paralelismus
  • Optimalizace pro ad hoc úlohy

Poznámka:

  • V současné době je možné tyto možnosti zadat pouze prostřednictvím souboru YAML, a to buď během vytváření spravované instance SQL, nebo po nasazení.

  • Značka image spravované instance SQL musí být minimálně verze 1.19.x nebo vyšší.

Přidáním následujícího postupu do souboru YAML během nasazování nakonfigurujte některou z těchto možností.

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

Pokud už máte existující spravovanou instanci SQL povolenou službou Azure Arc, můžete do specifikace spustit kubectl edit sqlmi <sqlminame> -n <namespace> a přidat výše uvedené možnosti.

Příklad souboru 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

Povolení agenta SQL Serveru

Agent SQL Serveru je zakázán během výchozího nasazení služby SQL Managed Instance, které služba Azure Arc povolila. Můžete ho povolit spuštěním následujícího příkazu:

az sql mi-arc update -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s --agent-enabled true

Příklad:

az sql mi-arc update -n sqlinstance1 --k8s-namespace arc --use-k8s --agent-enabled true

Povolení příznaků trasování

Příznaky trasování je možné povolit následujícím způsobem:

az sql mi-arc update -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s --trace-flags "3614,1234"