Löschen einer Instanz von SQL Managed Instance mit Azure Arc-Unterstützung
In dieser Schrittanleitung suchen Sie eine durch Azure Arc aktivierte SQL Managed Instance-Instanz und löschen sie. Nach dem Löschen verwalteter Instanzen können Sie optional zugeordnete Kubernetes-Ansprüche für persistente Volumes (Persistent Volume Claims, PVCs) freigeben.
Suchen der vorhandenen Instanzen:
az sql mi-arc list --k8s-namespace <namespace> --use-k8s
Beispielausgabe:
Name Replicas ServerEndpoint State ------ ---------- ---------------- ------- demo-mi 1/1 10.240.0.4:32023 Ready
Löschen Sie die Instanz von SQL Managed Instance, und führen Sie einen der für Ihren Bereitstellungstyp geeigneten Befehle aus:
Indirekter Verbindungsmodus:
az sql mi-arc delete --name <instance_name> --k8s-namespace <namespace> --use-k8s
Beispielausgabe:
# az sql mi-arc delete --name demo-mi --k8s-namespace <namespace> --use-k8s Deleted demo-mi from namespace arc
Direkter Verbindungsmodus:
az sql mi-arc delete --name <instance_name> --resource-group <resource_group>
Beispielausgabe:
# az sql mi-arc delete --name demo-mi --resource-group my-rg Deleted demo-mi from namespace arc
Optional: Freigeben von Kubernetes-PVCs
Ein Anspruch für persistente Volumes ist eine Anforderung zum Speichern durch einen Benutzer aus dem Kubernetes-Cluster beim Erstellen und Hinzufügen von Speichervolumen zu SQL Managed Instance. Das Löschen von PVCs wird empfohlen, ist jedoch nicht obligatorisch. Wenn Sie diese PVCs nicht freigeben, treten jedoch letztendlich Fehler im Kubernetes-Cluster auf. Sie können beispielsweise keine Ressourcen über die Kubernetes-API erstellen, lesen, aktualisieren oder löschen. Möglicherweise können Sie keine Befehle wie az arcdata dc export
ausführen, weil die Controllerpods aufgrund von Speicherproblemen aus den Kubernetes-Knoten entfernt wurden (normales Kubernetes-Verhalten). In den Protokollen werden Meldungen wie die folgenden angezeigt:
- Annotations: microsoft.com/ignore-pod-health: true
- Status: Fehler
- Reason: Evicted
- Message: The node was low on resource: ephemeral-storage. Container controller was using 16372Ki, which exceeds its request of 0 (Der Containercontroller hat 16372Ki verwendet, was die Anforderung von 0 überschreitet).
Beim Löschen einer SQL Managed Instance-Instanz werden ihre zugeordneten PVCs entwurfsbedingt nicht entfernt. Auf diese Weise kann sichergestellt werden, dass Sie auf die Datenbankdateien zugreifen können, falls eine Instanz versehentlich gelöscht wurde.
- Führen Sie die folgenden Schritte aus, um die PVCs freizugeben:
Suchen der PVCs für die Servergruppe, die Sie gelöscht haben
kubectl get pvc
Beachten Sie im Beispiel die PVCs für die von Ihnen gelöschten SQL Managed Instance-Instanzen.
# kubectl get pvc -n arc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE data-demo-mi-0 Bound pvc-1030df34-4b0d-4148-8986-4e4c20660cc4 5Gi RWO managed-premium 13h logs-demo-mi-0 Bound pvc-11836e5e-63e5-4620-a6ba-d74f7a916db4 5Gi RWO managed-premium 13h
Löschen Sie die Daten, und protokollieren Sie die PVCs für jede der von Ihnen gelöschten SQL Managed Instance-Instanzen. Das allgemeine Format des Befehls lautet:
kubectl delete pvc <name of pvc>
Beispiel:
kubectl delete pvc data-demo-mi-0 -n arc kubectl delete pvc logs-demo-mi-0 -n arc
Mit jedem dieser kubectl-Befehle wird das erfolgreiche Löschen des PVCs bestätigt. Beispiel:
persistentvolumeclaim "data-demo-mi-0" deleted persistentvolumeclaim "logs-demo-mi-0" deleted
Zugehöriger Inhalt
Weitere Informationen zu Features und Funktionen von durch Azure Arc aktiviertem SQL Managed Instance
Beginnen Sie mit der Erstellung eines Datencontrollers
Wurde bereits ein Datencontroller erstellt? Erstellen einer durch Azure Arc aktivierten SQL Managed Instance-Instanz