連線到 Azure Arc 所啟用的 SQL 受控執行個體
本文說明如何連線到 Azure Arc 所啟用的 SQL 受控執行個體。
檢視 Azure Arc 所啟用的 SQL 受控執行個體
若要檢視執行個體和外部端點,請使用下列命令:
az sql mi-arc list --k8s-namespace <namespace> --use-k8s -o table
輸出應該看起來像這樣︰
Name PrimaryEndpoint Replicas State
--------- ------------------- ---------- -------
sqldemo 10.240.0.107,1433 1/1 Ready
如果您使用 AKS、kubeadm 或 OpenShift 等,可以從這裡複製外部 IP 和連接埠號碼,並使用您慣用的工具進行連線,例如 Azure Data Studio 或 SQL Server Management Studio,以連線到 SQL Server/Azure SQL 執行個體。 不過,如果您使用快速啟動 VM,請參閱下方的特殊資訊,以了解如何從 Azure 外部連線到該 VM。
注意
您的公司原則可能會封鎖 IP 和連接埠存取,特別是在公用雲端中建立時。
連線
使用 Azure Data Studio、SQL Server Management Studio 或 SQLCMD 連線
開啟 Azure Data Studio,並使用上述外部端點 IP 位址和連接埠號碼連線到您的執行個體。 如果您使用 Azure VM,則需要公用 IP 位址 (可使用關於 Azure 虛擬機器部署的特殊注意事項進行識別)。
例如:
- 伺服器:52.229.9.30,30913
- 使用者名稱:sa
- 密碼:您在佈建時指定的 SQL 密碼
注意
您可以使用 Azure Data Studio 檢視 SQL 受控執行個體儀表板。
注意
若要連線到使用 Kubernetes 資訊清單建立的受控執行個體,使用者名稱和密碼必須以 base64 編碼形式提供給 sqlcmd。
若要使用 SQLCMD 或 Linux 或 Windows 進行連線,您可以使用如下的命令。 請在系統提示時輸入 SQL 密碼:
sqlcmd -S 52.229.9.30,30913 -U sa
關於 Azure 虛擬機器部署的特殊注意事項
如果您使用 Azure 虛擬機器,則端點 IP 位址不會顯示公用 IP 位址。 若要找出外部 IP 位址,請使用下列命令:
az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table
接著,您可以將公用 IP 位址與連接埠結合,以進行連線。
您可能也需要透過網路安全性閘道 (NSG) 來公開 SQL 執行個體的連接埠。 若要允許流量通過 NSG,您將需要使用下列命令來新增規則。
若要設定規則,您必須知道您的 NSG 名稱,使用下列命令可找出該名稱:
az network nsg list -g azurearcvm-rg --query "[].{NSGName:name}" -o table
一旦擁有 NSG 的名稱,就可以使用下列命令來新增防火牆規則。 這裡的範例值會建立連接埠 30913 的 NSG 規則,並允許來自任何來源 IP 位址的連線。 這並不是安全性最佳作法! 您可以指定專屬於您用戶端 IP 位址或 IP 位址範圍 (涵蓋您小組或組織 IP 位址) 的 -source-address-prefixes 值,以更好的方式來鎖定項目。
將以下 --destination-port-ranges
參數值取代為您從以上 az sql mi-arc list
命令取得的連接埠號碼。
az network nsg rule create -n db_port --destination-port-ranges 30913 --source-address-prefixes '*' --nsg-name azurearcvmNSG --priority 500 -g azurearcvm-rg --access Allow --description 'Allow port through for db access' --destination-address-prefixes '*' --direction Inbound --protocol Tcp --source-port-ranges '*'