Mengonfigurasi SQL Managed Instance yang diaktifkan oleh Azure Arc

Artikel ini menjelaskan cara mengonfigurasi SQL Managed Instance yang diaktifkan oleh Azure Arc.

Mengonfigurasi sumber daya seperti inti dan memori

Mengonfigurasi menggunakan CLI

Untuk memperbarui konfigurasi instans dengan CLI. Jalankan perintah berikut untuk melihat opsi konfigurasi.

az sql mi-arc update --help

Untuk memperbarui memori dan inti yang tersedia untuk penggunaan instans:

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

Contoh berikut menetapkan permintaan dan batasan inti cpu dan memori.

az sql mi-arc update --cores-limit 4 --cores-request 2 --memory-limit 4Gi --memory-request 2Gi -n sqlinstance1 --k8s-namespace arc --use-k8s

Untuk melihat perubahan yang dilakukan pada instans, Anda dapat menggunakan perintah berikut untuk melihat file yaml konfigurasi:

az sql mi-arc show -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s

Mengonfigurasi sekunder yang dapat dibaca

Saat Anda menyebarkan SQL Managed Instance yang diaktifkan oleh Azure Arc di BusinessCritical tingkat layanan dengan 2 replika atau lebih, secara default, satu replika sekunder secara otomatis dikonfigurasi sebagai readableSecondary. Pengaturan ini dapat diubah, baik untuk menambahkan atau menghapus sekunder yang dapat dibaca sebagai berikut:

az sql mi-arc update --name <sqlmi name>  --readable-secondaries <value> --k8s-namespace <namespace> --use-k8s

Misalnya, contoh berikut mengatur ulang sekunder yang dapat dibaca menjadi 0.

az sql mi-arc update --name sqlmi1 --readable-secondaries 0 --k8s-namespace mynamespace --use-k8s

Mengonfigurasi replika

Anda juga dapat meningkatkan atau menurunkan jumlah replika yang disebarkan di BusinessCritical tingkat layanan sebagai berikut:

az sql mi-arc update --name <sqlmi name> --replicas <value> --k8s-namespace <namespace> --use-k8s

Misalnya:

Contoh berikut menurunkan skala jumlah replika dari 3 menjadi 2.

az sql mi-arc update --name sqlmi1 --replicas 2 --k8s-namespace mynamespace --use-k8s

Catatan

Jika Anda menurunkan skala dari 2 replika menjadi 1 replika, Anda mungkin mengalami konflik dengan pengaturan yang telah dikonfigurasi --readable--secondaries sebelumnya. Anda dapat terlebih dahulu mengedit --readable--secondaries sebelum menurunkan skala replika.

Mengonfigurasi opsi server

Anda dapat mengonfigurasi pengaturan konfigurasi server tertentu untuk SQL Managed Instance yang diaktifkan oleh Azure Arc baik selama atau setelah waktu pembuatan. Artikel ini menjelaskan cara mengonfigurasi pengaturan seperti mengaktifkan "Kueri Terdistribusi Ad Hoc" atau "default kompresi cadangan" dll.

Saat ini opsi server berikut dapat dikonfigurasi:

  • Kueri Terdistribusi Ad Hoc
  • Pelacakan Default Diaktifkan
  • XP Email Database
  • Default kompresi cadangan
  • Ambang biaya untuk paralelisme
  • Optimalkan untuk beban kerja ad hoc

Catatan

  • Saat ini opsi ini hanya dapat ditentukan melalui file YAML, baik selama pembuatan SQL Managed Instance atau pasca penyebaran.

  • Tag gambar instans terkelola SQL harus setidaknya versi v1.19.x atau lebih tinggi.

Tambahkan yang berikut ini ke file YAML Anda selama penyebaran untuk mengonfigurasi salah satu opsi ini.

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

Jika Anda sudah memiliki instans terkelola SQL yang sudah ada yang diaktifkan oleh Azure Arc, Anda dapat menjalankan kubectl edit sqlmi <sqlminame> -n <namespace> dan menambahkan opsi di atas ke dalam spesifikasi.

Contoh file 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

Mengaktifkan SQL Server Agent

Agen SQL Server dinonaktifkan selama penyebaran default SQL Managed Instance yang diaktifkan oleh Azure Arc. Ini dapat diaktifkan dengan menjalankan perintah berikut:

az sql mi-arc update -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s --agent-enabled true

Sebagai contoh:

az sql mi-arc update -n sqlinstance1 --k8s-namespace arc --use-k8s --agent-enabled true

Mengaktifkan bendera pelacakan

Bendera pelacakan dapat diaktifkan sebagai berikut:

az sql mi-arc update -n <NAME_OF_SQL_MI> --k8s-namespace <namespace> --use-k8s --trace-flags "3614,1234"