Настройка Управляемый экземпляр 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"