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"