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"