Freigeben über


Löschen einer SQL-verwaltete Instanz, die von Azure Arc aktiviert ist

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.

  1. 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
    
  2. Löschen Sie die Instanz von SQL Managed Instance, und führen Sie einen der für Ihren Bereitstellungstyp geeigneten Befehle aus:

    1. 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
      
    2. 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.

  1. Führen Sie die folgenden Schritte aus, um die PVCs freizugeben:
    1. 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
      
    2. 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
      

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