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"