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.
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
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
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.
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
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
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"