設定已由 Azure Arc 啟用的 SQL 受控執行個體
本文說明如何設定已由 Azure Arc 啟用的 SQL 受控執行個體。
設定核心和記憶體之類的資源
使用 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 受控執行個體時,預設會自動將一個次要複本設定為 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
- 備份壓縮預設值
- 平行處理原則的成本臨界值
- 針對特定工作負載最佳化
注意
目前,這些選項只能透過 YAML 檔案指定,不論是在 SQL 受控執行個體建立期間還是部署後。
SQL 受控執行個體映像標記至少必須是 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 受控執行個體,您可以執行 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 Agent
在 Azure Arc 啟用的 SQL 受控執行個體的預設部署期間,會停用 SQL Server 代理程式。您可以執行下列命令予以啟用:
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"