你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

删除 Azure Arc 启用的 SQL 托管实例

在本操作指南中,你将找到并删除由 Azure Arc 启用的 SQL 托管实例。或者,在删除托管实例后,你可以回收关联的 Kubernetes 持久卷声明 (PVC)。

  1. 查找现有实例:

    az sql mi-arc list --k8s-namespace <namespace> --use-k8s
    

    示例输出:

    Name    Replicas    ServerEndpoint    State
    ------  ----------  ----------------  -------
    demo-mi 1/1         10.240.0.4:32023  Ready
    
  2. 删除 SQL 托管实例,运行适合你的部署类型的命令之一:

    1. 间接连接模式:

      az sql mi-arc delete --name <instance_name> --k8s-namespace <namespace> --use-k8s
      

      示例输出:

      # az sql mi-arc delete --name demo-mi --k8s-namespace <namespace> --use-k8s
      Deleted demo-mi from namespace arc
      
    2. 直接连接模式:

      az sql mi-arc delete --name <instance_name> --resource-group <resource_group>
      

      示例输出:

      # az sql mi-arc delete --name demo-mi --resource-group my-rg
      Deleted demo-mi from namespace arc
      

可选 - 回收 Kubernetes PVC

永久性卷声明 (PVC) 是用户在创建存储并添加到 SQL 托管实例时,由 Kubernetes 群集中的用户提出的存储请求。 建议删除 PVC,但不是必需的。 但是,如果不回收这些 PVC,那么 Kubernetes 群集中最终会出现错误。 例如,无法通过 Kubernetes API 来创建、读取、更新或删除资源。 你可能无法运行像 az arcdata dc export 这样的命令,因为控制器 pod 由于存储问题而被从 Kubernetes 节点中逐出(正常的 Kubernetes 行为)。 你可以在日志中看到类似于以下内容的消息:

  • 注释:microsoft.com/ignore-pod-health: true
  • 状态:失败
  • 原因:被逐出
  • 消息:节点资源(临时存储)不足。 容器控制器使用的是 16372Ki,超过了其请求的 0。

根据设计,删除 SQL 托管实例不会删除其关联的 PVC。 目的是确保你可以访问数据库文件,以防意外删除。

  1. 若要回收 PVC,请执行以下步骤:
    1. 查找已删除的服务器组的 PVC。

      kubectl get pvc
      

      在下面的示例中,请留意删除的 SQL 托管实例的 PVC。

      # 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. 删除已删除的每个 SQL 托管实例的数据和日志 PVC。 此命令的一般格式为:

      kubectl delete pvc <name of pvc>
      

      例如:

      kubectl delete pvc data-demo-mi-0 -n arc
      kubectl delete pvc logs-demo-mi-0 -n arc
      

      其中每个 kubectl 命令都将确认成功删除 PVC。 例如:

      persistentvolumeclaim "data-demo-mi-0" deleted
      persistentvolumeclaim "logs-demo-mi-0" deleted
      

详细了解由 Azure Arc 启用的 SQL 托管实例的特性和功能

首先创建数据控制器

已创建数据控制器? 创建由 Azure Arc 启用的 SQL 托管实例