Configuración de SQL Managed Instance habilitada por Azure Arc

En este artículo se explica cómo configurar SQL Managed Instance habilitada por Azure Arc.

Configuración de recursos como núcleos y memoria

Configuración mediante la CLI

Para actualizar la configuración de una instancia con la CLI. Ejecute el siguiente comando para ver las opciones de configuración.

az sql mi-arc update --help

Para actualizar la memoria y los núcleos disponibles para un uso de instancia:

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

En el ejemplo siguiente se establecen las solicitudes y límites de CPU, núcleos y memoria.

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

Para ver los cambios realizados en la instancia, puede usar los siguientes comandos para ver el archivo yaml de configuración:

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

Configuración de secundarias legibles

Al implementar SQL Managed Instance habilitado por Azure Arc en BusinessCritical nivel de servicio con 2 o más réplicas, de forma predeterminada, una réplica secundaria se configura automáticamente como readableSecondary. Esta configuración se puede cambiar, ya sea para agregar o para quitar las secundarias legibles de la siguiente manera:

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

Por ejemplo, en el ejemplo siguiente se restablecen las secundarias legibles a 0.

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

Configuración de réplicas

También puede escalar o reducir verticalmente el número de réplicas implementadas en el nivel de servicio BusinessCritical de la siguiente manera:

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

Por ejemplo:

En el ejemplo siguiente se reduce verticalmente el número de réplicas de 3 a 2.

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

Nota:

Si reduce verticalmente de 2 réplicas a 1 réplica, es posible que se produzca un conflicto con la configuración de --readable--secondaries preconfigurada. Puede editar primero --readable--secondaries antes de reducir verticalmente las réplicas.

Configurar las opciones del servidor

Puede configurar determinadas opciones de configuración de servidor para SQL Managed Instance habilitada por Azure Arc durante o después de la creación. En este artículo se describe cómo configurar opciones como habilitar "Consultas distribuidas ad hoc" o "valor predeterminado de compresión de copia de seguridad", etc.

ConfiguradasSe pueden configurar las siguientes opciones actualmente:

  • Consultas distribuidas ad hoc
  • Seguimiento predeterminado habilitado
  • Mail XPs de base de datos
  • Valor predeterminado de compresión de copia de seguridad
  • Umbral de costo para paralelismo
  • Optimizar para cargas de trabajo ad hoc

Nota:

  • Actualmente, estas opciones solo se pueden especificar a través del archivo YAML, ya sea durante la creación o posterior a la implementación de SQL Managed Instance.

  • La etiqueta de imagen de instancia administrada de SQL debe ser al menos la versión v1.19.x o superior.

Agregue lo siguiente al archivo YAML durante la implementación para configurar cualquiera de estas opciones.

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

Si ya tiene una instancia administrada de SQL existente habilitada por Azure Arc, puede ejecutar kubectl edit sqlmi <sqlminame> -n <namespace> y agregar las opciones anteriores a la especificación.

Archivo YAML de ejemplo:

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

Habilitar el Agente SQL Server

El agente SQL Server está deshabilitado durante una implementación predeterminada de SQL Managed Instance habilitada por Azure Arc. Para habilitarlo, se puede ejecutar el comando siguiente:

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

Por ejemplo:

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

Activación de marcas de seguimiento

Las marcas de seguimiento se pueden habilitar de la siguiente manera:

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