Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se explica cómo conectarse a la instancia administrada de SQL habilitada por Azure Arc mediante herramientas de cliente de SQL Server estándar.
Visualización de SQL Managed Instance habilitada por Azure Arc
Para ver la instancia y los puntos de conexión externos, use el siguiente comando:
az sql mi-arc list --k8s-namespace <namespace> --use-k8s -o table
La salida debe ser similar a la que se muestra a continuación:
Name PrimaryEndpoint Replicas State
--------- ------------------- ---------- -------
sqldemo 10.240.0.107,1433 1/1 Ready
Si usa AKS o kubeadm o OpenShift, etc., puede copiar la dirección IP externa y el número de puerto desde aquí y conectarse a él mediante su herramienta favorita para conectarse a una instancia de SQL Server o Azure SQL, como SQL Server Management Studio (SSMS) o sqlcmd. Sin embargo, si usa la máquina virtual de inicio rápido, consulte a continuación para obtener información especial sobre cómo conectarse a esa máquina virtual desde fuera de Azure.
Nota:
Las directivas corporativas pueden bloquear el acceso a la dirección IP y el puerto, especialmente si se ha creado en la nube pública.
Conectar
Conexión con SQL Server Management Studio o sqlcmd
Utilice SQL Server Management Studio (SSMS) o sqlcmd para conectarse a su instancia con la dirección IP del punto de conexión externo y el número de puerto anteriores. Si usa una máquina virtual de Azure, necesitará la dirección IP pública , que es identificable mediante la nota especial sobre las implementaciones de máquinas virtuales de Azure.
Por ejemplo:
- Servidor: 52.229.9.30,30913
- Nombre de usuario: sa
- Contraseña: contraseña de SQL que especificó en el momento del aprovisionamiento
Nota:
Para conectarse a una instancia administrada que se creó mediante un manifiesto de Kubernetes, el nombre de usuario y la contraseña deben proporcionarse a sqlcmd en formato codificado en base64.
Para conectarse mediante sqlcmd en Linux o Windows, puede usar un comando similar al siguiente. Escriba la contraseña de SQL cuando se le solicite.
sqlcmd -S 52.229.9.30,30913 -U sa
Nota especial sobre las implementaciones de máquinas virtuales de Azure
Si usa una máquina virtual de Azure, la dirección IP del punto de conexión no mostrará la dirección IP pública. Para buscar la dirección IP externa, use el siguiente comando:
az network public-ip list -g azurearcvm-rg --query "[].{PublicIP:ipAddress}" -o table
Después, puede combinar la dirección IP pública con el puerto para establecer la conexión.
También puede que tenga que exponer el puerto de la instancia de SQL a través de la puerta de enlace de seguridad de red (NSG). Para permitir el tráfico en el NSG, tendrá que agregar una regla mediante el comando siguiente.
Para establecer una regla, deberá conocer el nombre del NSG, el cual puede encontrar mediante el comando siguiente:
az network nsg list -g azurearcvm-rg --query "[].{NSGName:name}" -o table
Una vez que tenga el nombre del NSG, puede agregar una regla de firewall mediante el comando siguiente. Los valores de ejemplo aquí crean una regla de NSG para el puerto 30913 y permiten la conexión desde cualquier dirección IP de origen. No es un procedimiento recomendado de seguridad. Puede conseguir un bloqueo mejor si especifica un valor para -source-address-prefixes específico de la dirección IP del cliente o un intervalo de direcciones IP que abarque las direcciones IP del equipo o la organización.
Reemplace el valor del parámetro --destination-port-ranges siguiente por el número de puerto que ha obtenido del comando az sql mi-arc list anterior.
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 '*'