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 マネージド インスタンスをデプロイすると、既定では、1 つのセカンダリ レプリカが 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

Note

2 つのレプリカから 1 つのレプリカにスケールダウンすると、事前に構成された --readable--secondaries の設定と競合する可能性があります。 レプリカをスケールダウンする前に、最初に --readable--secondaries を編集できます。

サーバー オプションの構成

作成時または作成後に、特定の Azure Arc 対応 SQL Managed Instance のサーバー構成設定を構成できます。 この記事では、"Ad Hoc Distributed Queries" や "backup compression default" などの設定を構成する方法について説明します。

現在、次のサーバー オプションを構成できます。

  • Ad Hoc Distributed Queries
  • Default Trace Enabled
  • Database Mail XP
  • backup compression default
  • cost threshold for parallelism
  • アドホック ワークロードの最適化

Note

  • 現在、これらのオプションは、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"