Freigeben über


Konfigurieren der von Azure Arc aktivierten verwalteten SQL-Instanz

In diesem Artikel wird erläutert, wie eine mit Azure Arc aktivierte SQL Managed Instance konfiguriert wird.

Konfigurieren von Ressourcen, etwa Cores und Arbeitsspeicher

Konfigurieren mithilfe der Befehlszeilenschnittstelle

So aktualisieren Sie die Konfiguration einer Instanz mit der CLI. Führen Sie den folgenden Befehl aus, um die Konfigurationsoptionen anzuzeigen.

az sql mi-arc update --help

So aktualisieren Sie den verfügbaren Arbeitsspeicher und Cores für eine Instanz:

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

Im folgenden Beispiel werden die CPU-Kern- und Arbeitsspeicheranforderungen und Grenzwerte festgelegt.

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

Zum Anzeigen der Änderungen, die an der Instanz vorgenommen wurden, können Sie die folgenden Befehle verwenden, um die YAML-Konfigurationsdatei anzuzeigen:

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

Konfigurieren lesbarer sekundärer Replikate

Wenn Sie eine verwaltete und durch Azure Arc aktivierte SQL-Instanz auf einer BusinessCritical Dienstebene mit 2 oder mehr Replikaten bereitstellen, wird ein sekundäres Replikat standardmäßig automatisch als readableSecondary konfiguriert. Diese Einstellung kann geändert werden, um die lesbaren sekundären Replikate wie folgt entweder hinzuzufügen oder zu entfernen:

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

Im folgenden Beispiel werden z. B. die lesbaren sekundären Replikate auf 0 zurückgesetzt.

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

Konfigurieren von Replikaten

Sie können auch die Anzahl der Replikate skalieren, die auf der BusinessCritical Dienstebene wie folgt bereitgestellt werden:

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

Beispiel:

Im folgenden Beispiel wird die Anzahl der Replikate von 3 auf 2 herabgesetzt.

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

Hinweis

Beim Herabsetzen von 2 Replikaten auf 1 können möglicherweise Konflikte mit der vorkonfigurierten --readable--secondaries-Einstellung auftreten. Sie können die --readable--secondaries-Replikate zuerst bearbeiten, bevor Sie die Replikate herunterskalieren.

Konfigurieren von Serveroptionen

Sie können gewisse Serverkonfigurationseinstellungen für die von Azure Arc aktivierte SQL Managed Instance entweder während oder nach der Erstellungszeit konfigurieren. In diesem Artikel wird Konfigurieren solcher Einstellungen wie z. B. Aktivieren von "Ad Hoc Distributed Queries" oder "Sicherungskomprimierungsstandard" usw. beschrieben.

Zurzeit können folgende Serveroptionen konfiguriert werden:

  • Ad Hoc Distributed Queries
  • Default Trace Enabled
  • Database Mail XPs
  • Backup Compression Default
  • Cost Threshold For Parallelism
  • Optimize for Ad Hoc Workloads

Hinweis

  • Derzeit können diese Optionen nur über die YAML-Datei festgelegt werden, entweder während der Erstellung von verwalteten SQL-Instanzen oder nach der Bereitstellung.

  • Das Bild-Tag für verwaltete SQL-Instanzen muss mindestens Version v1.19.x oder höher sein.

Während der Bereitstellung fügen Sie Ihrer YAML-Datei Folgendes hinzu, um eine dieser Optionen zu konfigurieren.

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

Wenn Sie bereits eine von Azure Arc aktivierte SQL-verwaltete Instanz haben, können Sie kubectl edit sqlmi <sqlminame> -n <namespace> ausführen und die o.g. Optionen zur Spezifikation hinzufügen.

YAML-Beispieldatei:

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

Aktivieren des SQL Server-Agents.

Während einer standardmäßigen Bereitstellung der durch Azure Arc aktivierten SQL Managed Instance ist SQL Server Agent deaktiviert. Er kann durch Ausführen des folgenden Befehls aktiviert werden:

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

Beispiel:

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

Aktivieren von Ablaufverfolgungsflags

Ablaufverfolgungsflags können wie folgt aktiviert werden:

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