Настройка Управляемый экземпляр SQL включена Azure Arc
В этой статье объясняется, как настроить Управляемый экземпляр SQL, включенную Azure Arc.
Настройка ресурсов, таких как ядра и память
Настройка с использованием интерфейса командной строки
Обновление конфигурации экземпляра с помощью интерфейса командной строки. Выполните следующую команду, чтобы просмотреть параметры конфигурации.
az sql mi-arc update --help
Чтобы обновить доступную память и ядра для использования экземпляра:
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
В следующем примере задаются запросы и ограничения для ядра ЦП и памяти.
az sql mi-arc update --cores-limit 4 --cores-request 2 --memory-limit 4Gi --memory-request 2Gi -n sqlinstance1 --k8s-namespace arc --use-k8s
Чтобы просмотреть изменения, внесенные в экземпляр, можно использовать следующие команды для просмотра файла yaml конфигурации:
az sql mi-arc show -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s
Настройка доступных для чтения вторичных файлов
При развертывании Управляемый экземпляр SQL, включенной Azure Arc на BusinessCritical
уровне служб с 2 или более репликами, по умолчанию одна вторичная реплика автоматически настраивается как readableSecondary
. Этот параметр можно изменить, чтобы добавить или удалить доступные для чтения вторичные файлы следующим образом:
az sql mi-arc update --name <sqlmi name> --readable-secondaries <value> --k8s-namespace <namespace> --use-k8s
Например, следующий пример сбрасывает доступные для чтения вторичные файлы на 0.
az sql mi-arc update --name sqlmi1 --readable-secondaries 0 --k8s-namespace mynamespace --use-k8s
Настройка реплик
Вы также можете увеличить или уменьшить количество реплик, развернутых на BusinessCritical
уровне служб следующим образом:
az sql mi-arc update --name <sqlmi name> --replicas <value> --k8s-namespace <namespace> --use-k8s
Например:
В следующем примере показано, как уменьшить число реплик от 3 до 2.
az sql mi-arc update --name sqlmi1 --replicas 2 --k8s-namespace mynamespace --use-k8s
Примечание.
При уменьшении масштаба с 2 реплик до 1 реплики может возникнуть конфликт с предварительно настроенным --readable--secondaries
параметром. Перед масштабированием реплик можно сначала изменить --readable--secondaries
.
Настройка параметров сервера
Вы можете настроить определенные параметры конфигурации сервера для Управляемый экземпляр SQL, включенных Azure Arc в течение или после создания. В этой статье описывается настройка параметров, таких как включение "Нерегламентированные распределенные запросы" или "сжатие резервных копий по умолчанию" и т. д.
В настоящее время можно настроить следующие параметры сервера:
- Нерегламентированные распределенные запросы
- Включена трассировка по умолчанию
- Database Mail XPs
- Сжатие резервных копий по умолчанию
- Порог затрат для параллелизма
- Оптимизировать для нерегламентированной рабочей нагрузки
Примечание.
В настоящее время эти параметры можно указать только с помощью YAML-файла во время Управляемый экземпляр SQL создания или после развертывания.
Тег образа управляемого экземпляра SQL должен иметь по крайней мере версию версии 1.19.x или более поздней.
Добавьте следующий код в файл YAML во время развертывания, чтобы настроить любой из этих параметров.
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
Если у вас уже есть управляемый экземпляр SQL, включенный Azure Arc, можно запустить kubectl edit sqlmi <sqlminame> -n <namespace>
и добавить приведенные выше параметры в спецификацию.
Пример ФАЙЛА YAML:
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
Включение агента SQL Server
Агент SQL Server отключен во время развертывания Управляемый экземпляр SQL по умолчанию, включенного Azure Arc. Его можно включить, выполнив следующую команду:
az sql mi-arc update -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s --agent-enabled true
Например:
az sql mi-arc update -n sqlinstance1 --k8s-namespace arc --use-k8s --agent-enabled true
Включение флагов трассировки
Флаги трассировки можно включить следующим образом:
az sql mi-arc update -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s --trace-flags "3614,1234"