連線 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 和埠號碼,並使用您慣用的工具連線到 SQL Sever/Azure SQL 實例,例如 Azure Data Studio 或 SQL Server Management Studio。 不過,如果您使用快速入門 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 '*'