Share via


連線到 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 '*'