Azure Arc 지원 SQL Managed Instance 구성

이 문서에서는 Azure Arc 지원 SQL Managed Instance를 구성하는 방법에 대해 설명합니다.

코어 및 메모리와 같은 리소스 구성

CLI를 사용하여 구성

CLI를 사용하여 인스턴스의 구성을 업데이트합니다. 구성 옵션을 보려면 다음 명령을 실행합니다.

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

다음 예에서는 CPU 코어, 메모리 요청 및 제한을 설정합니다.

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

읽기 가능한 보조 구성

2개 이상의 복제본이 있는 BusinessCritical 서비스 계층에 Azure Arc 지원 SQL Managed Instance를 배포하면 기본적으로 하나의 보조 복제본이 자동으로 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를 편집할 수 있습니다.

서버 옵션 구성

만드는 시간 동안 또는 그 이후에 Azure Arc 지원 SQL 관리형 인스턴스의 특정 서버 구성 설정을 구성할 수 있습니다. 이 문서에서는 "임시 분산 쿼리" 또는 "백업 압축 기본값"을 사용하도록 설정하는 등 설정을 구성하는 방법을 설명합니다.

현재, 다음 서버 옵션을 구성할 수 있습니다.

  • 임시 분산 쿼리
  • 기본 추적 설정
  • Database Mail XPs
  • 백업 압축 기본값
  • 병렬 처리에 대한 비용 임계값
  • 임시 작업을 위한 최적화

참고 항목

  • 현재 이러한 옵션은 SQL Managed Instance를 만들거나 배포한 후에 YAML 파일을 통해서만 지정할 수 있습니다.

  • SQL Managed Instance 이미지 태그는 버전 v1.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

기존의 Azure Arc 지원 SQL Managed Instance가 이미 있는 경우 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 에이전트는 Azure Arc 지원 SQL Managed Instance를 기본 배포하는 동안 사용하지 않도록 설정됩니다. 다음 명령을 실행하여 사용하도록 설정할 수 있습니다.

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"