Conexión a una máquina virtual de SQL Server en Azure (implementación clásica)
Información general
En este tema se muestra cómo conectarse a su instancia de SQL Server que se ejecuta en una máquina virtual de Azure. En él se describen algunos escenarios de conectividad generales y se proporcionan los pasos detallados para configurar la conectividad de SQL Server en una máquina virtual de Azure.
Importante
Azure tiene dos modelos de implementación diferentes para crear recursos y trabajar con ellos: Resource Manager y el clásico. En este artículo se trata el modelo de implementación clásico. Microsoft recomienda que las implementaciones más recientes usen el modelo de Resource Manager. Si utiliza máquinas virtuales de Resource Manager, consulte Connect to a SQL Server Virtual Machine on Azure (Resource Manager)(Conexión a una máquina virtual de SQL Server en Azure (Resource Manager)).
Escenarios de conexión
La forma en que un cliente se conecta a SQL Server que se ejecuta en una máquina virtual varía según la ubicación del cliente y la configuración del equipo y la red. Entre los escenarios se incluyen los siguientes:
- Conexión a SQL Server en el mismo servicio en la nube
- Conexión a SQL Server a través de Internet
- Conexión a SQL Server en la misma red virtual
Nota
Antes de conectarse con cualquiera de estos métodos, debe seguir los pasos de este artículo para configurar la conectividad.
Conexión a SQL Server en el mismo servicio en la nube
Se pueden crear varias máquinas virtuales en el mismo servicio en la nube. Para comprender el escenario de las máquinas virtuales, consulte Cómo conectar máquinas virtuales con un servicio en la nube o red virtual. Este escenario se produce cuando un cliente de una máquina virtual intenta conectarse a una instancia de SQL Server que se ejecuta en otra máquina virtual del mismo servicio en la nube.
En dicho escenario, puede conectarse mediante la máquina virtual Nombre (también mostrada como Nombre de equipo o nombre de host en el portal). Este es el nombre que ha proporcionado para la máquina virtual durante su creación. Por ejemplo, si ha asignado a su máquina virtual de SQL el nombre mysqlvm, una máquina virtual cliente del mismo servicio en la nube podría usar la siguiente cadena de conexión para conectarse:
Server=mysqlvm;Integrated Security=false;User ID=<login_name>;Password=<your_password>
Conexión a SQL Server a través de Internet
Si quiere conectarse a su motor de base de datos de SQL Server desde Internet, debe crear un extremo de máquina virtual para la comunicación TCP entrante. Este paso de la configuración de Azure dirige el tráfico del puerto TCP de entrada a un puerto TCP al que puede tener acceso la máquina virtual.
Para conectarse a través de internet, debe usar el nombre DNS de la máquina virtual y el número de puerto del punto de conexión de la máquina virtual (configurado más adelante en este artículo). Para buscar el nombre DNS, vaya a Azure Portal y seleccione Máquinas virtuales (clásico). Después, seleccione la máquina virtual. El nombre DNS se muestra en la sección Información general.
Por ejemplo, piense en una máquina virtual clásica denominada mysqlvm con un nombre DNS de mysqlvm7777.cloudapp.net y un punto de conexión de la máquina virtual de 57500. Suponiendo que la conectividad se ha configurado correctamente, la cadena de conexión siguiente podría usarse para tener acceso a la máquina virtual desde cualquier lugar de Internet:
Server=mycloudservice.cloudapp.net,57500;Integrated Security=false;User ID=<login_name>;Password=<your_password>
Aunque esto permite a los clientes conectarse a través de Internet, esto no implica que cualquier usuario pueda conectarse a SQL Server. Los clientes externos necesitan el nombre de usuario y la contraseña correctos. Para aumentar la seguridad, no use el conocido puerto 1433 para el extremo público de la máquina virtual. Y, si es posible, considere la posibilidad también de agregar una ACL en el extremo para restringir el tráfico solo a los clientes que permita. Para obtener instrucciones sobre el uso de ACL con puntos de conexión, consulte Administrar la ACL en un punto de conexión.
Nota
Es importante tener en cuenta que cuando se recurre a esta técnica para comunicarse con SQL Server, todos los datos salientes desde el centro de datos de Azure están sujetos a precios de transferencia de datos salientesnormales.
Conexión a SQL Server en la misma red virtual
La red virtual permite otros escenarios. Puede conectar las máquinas virtuales en la misma red virtual, aunque esas máquinas virtuales existan en servicios en la nube diferentes. Asimismo, con una VPN de sitio a sitio, puede crear una arquitectura híbrida que conecta las máquinas virtuales con redes y máquinas locales.
Las redes virtuales también permiten unir las máquinas virtuales de Azure a un dominio. Esta es la única forma de usar la autenticación de Windows para SQL Server. Los demás escenarios de conexión requieren la autenticación de SQL con nombres de usuario y contraseñas.
Si va a configurar un entorno de dominio y la autenticación de Windows, no es necesario seguir los pasos de este artículo para configurar el punto de conexión público o los inicios de sesión y la autenticación de SQL. En este escenario, puede conectarse a la instancia de SQL Server especificando el nombre de la máquina virtual de SQL Server en la cadena de conexión. En el siguiente ejemplo se da por hecho también que se configuró la autenticación de Windows y que se concedió al usuario acceso a la instancia de SQL Server.
Server=mysqlvm;Integrated Security=true
Pasos para configurar la conectividad de SQL Server en una máquina virtual de Azure
Los pasos siguientes muestran cómo conectarse a la instancia de SQL Server a través de Internet mediante SQL Server Management Studio (SSMS). Sin embargo, se aplican los mismos pasos para hacer que la máquina virtual de SQL Server sea accesible para sus aplicaciones, tanto locales como de Azure.
Antes de que pueda conectarse a la instancia de SQL Server desde otra máquina virtual o Internet, debe completar las siguientes tareas descritas en las secciones que aparecen a continuación:
- Creación de un extremo TCP para la máquina virtual
- Apertura de puertos TCP en el firewall de Windows
- Configuración de SQL Server para escuchar en el protocolo TCP
- Configuración de SQL Server para autenticación de modo mixto
- Creación de inicios de sesión de autenticación SQL Server
- Determinar el nombre DNS de la máquina virtual
- Conexión al motor de base de datos desde otro equipo
El siguiente diagrama resume la ruta de conexión:
Creación de un extremo TCP para la máquina virtual
Para poder acceder a SQL Server desde Internet, la máquina virtual debe tener un extremo para escuchar la comunicación TCP de entrada. Este paso de la configuración de Azure dirige el tráfico del puerto TCP de entrada a un puerto TCP al que puede tener acceso la máquina virtual.
Nota
Si se va a conectar en el mismo servicio en la nube o red virtual, no es necesario crear un extremo accesible públicamente. En ese caso, puede continuar con el paso siguiente. Para obtener más información, consulte: Escenarios de conexión.
En Azure Portal, seleccione Máquinas virtuales (clásico).
Luego seleccione la máquina virtual de SQL Server.
Seleccione Puntos de conexión y, después, haga clic en el botón Agregar de la parte superior de la hoja Puntos de conexión.
En la hoja Agregar punto de conexión, especifique un nombre como SQLEndpoint.
Seleccione TCP para el protocolo.
En Puerto público, especifique un número de puerto como 57500.
En Puerto privado, especifique el puerto de escucha de SQL Server, cuyo valor predeterminado es 1433.
Haga clic en Aceptar para crear el punto de conexión.
Apertura de puertos TCP en el firewall de Windows para la instancia predeterminada del motor de base de datos
Conéctese a la máquina virtual con Escritorio remoto. Para obtener instrucciones detalladas acerca de cómo conectarse a la máquina virtual, consulte Open a SQL VM with Remote Desktop(Apertura de una VM de SQL con Escritorio remoto).
Una vez que haya iniciado sesión, en la pantalla Inicio, escriba WF.mscy presione ENTRAR.
En la opción Firewall de Windows con seguridad avanzadadel panel izquierdo, haga clic con el botón derecho en Reglas de entraday, luego, haga clic en Nueva regla en el panel de acciones.
En el cuadro de diálogo Asistente para nueva regla de entrada, en Tipo de regla, seleccione Puerto y, a continuación, haga clic en Siguiente.
En el cuadro de diálogo Protocolo y puertos, use el TCP predeterminado. En el cuadro Puertos locales específicos, escriba el número de puerto de la instancia del motor de base de datos (1433 para la instancia predeterminada que elija para el puerto privado en el paso del punto de conexión).
Haga clic en Next.
En el cuadro de diálogo Acción , seleccione Permitir la conexióny, a continuación, haga clic en Siguiente.
Nota de seguridad: si selecciona Permitir la conexión si es segura, puede proporcionar una mayor seguridad. Seleccione esta opción si desea configurar opciones de seguridad adicionales en el entorno.
En el cuadro de diálogo Perfil, seleccione Público, Privado y Dominio. A continuación, haga clic en Siguiente.
Nota de seguridad: Al seleccionar Público , se permite el acceso a través de Internet. Cuando sea posible, seleccione un perfil más restrictivo.
En el cuadro de diálogo Nombre, escriba el nombre y la descripción de esta regla y haga clic en Finalizar.
Abra puertos adicionales para otros componentes cada vez que sea necesario. Para obtener más información, consulte Configurar Firewall de Windows para permitir el acceso a SQL Server.
Configuración de SQL Server para escuchar en el protocolo TCP
Mientras está conectado a la máquina virtual con Escritorio remoto, busque Administrador de configuración:
En el panel de la consola de Administrador de configuración de SQL Server, expanda Configuración de red de SQL Server.
En el panel de la consola, haga clic en Protocols for MSSQLSERVER (Protocolos de MSSQLSERVER) (el nombre de la instancia predeterminada). En el panel de detalles, haga clic con el botón derecho en TCP y haga clic en Habilitar, en caso de que no esté habilitado.
En el panel de la consola, haga clic en Servicios de SQL Server. En el panel de detalles, haga clic con el botón derecho en SQL Server (nombre de la instancia) (la instancia predeterminada es SQL Server (MSSQLSERVER)) y, después, haga clic en Reiniciar para detener y reiniciar la instancia de SQL Server.
Cierre el Administrador de configuración de SQL Server.
Para obtener más información acerca de la habilitación de protocolos para el motor de base de datos de SQL Server, consulte Habilitar o deshabilitar un protocolo de red de servidor.
Configuración de SQL Server para autenticación de modo mixto
El motor de base de datos de SQL Server no puede utilizar la autenticación de Windows sin un entorno de dominio. Para conectarse al motor de base de datos desde otro equipo, configure SQL Server para autenticación de modo mixto. La autenticación de modo mixto permite la autenticación de SQL Server y la autenticación de Windows.
Nota
Si ha configurado una instancia de Azure Virtual Network con un entorno de dominio configurado, es posible que no sea necesario configurar la autenticación de modo mixto.
Mientras está conectado a la máquina virtual, en la página de inicio, escriba SQL Server Management Studio y haga clic en el icono seleccionado.
La primera vez que abra Management Studio se debe crear el entorno de Management Studio para los usuarios. Esta operación puede tardar unos minutos.
Management Studio presenta el cuadro de diálogo Conectar con el servidor . En el cuadro Nombre del servidor, escriba el nombre de la máquina virtual para conectarse al motor de base de datos con el Explorador de objetos (en lugar del nombre de la máquina virtual, también puede usar (local) o un único punto como nombre del servidor). Seleccione Autenticación de Windows y deje your_VM_name\your_local_administrator en el cuadro Nombre de usuario . Haga clic en Conectar.
En el Explorador de objetos de SQL Server Management Studio, haga clic con el botón secundario en el nombre de la instancia de SQL Server (el nombre de la máquina virtual) y haga clic en Propiedades.
En la página Seguridad, en Autenticación de servidor, seleccione Modo de autenticación de Windows y SQL Server y, luego, haga clic en Aceptar.
En el cuadro de diálogo SQL Server Management Studio , haga clic en Aceptar para confirmar el requisito de reiniciar SQL Server.
En el Explorador de objetos, haga clic con el botón derecho en el servidor y, después, haga clic en Reiniciar. (También se debe reiniciar Agente SQL Server si está en ejecución).
En el cuadro de diálogo de SQL Server Management Studio, haga clic en Sí para indicar que desea reiniciar SQL Server.
Creación de inicios de sesión para la autenticación de SQL Server
Para conectarse al motor de base de datos desde otro equipo, debe crear al menos un inicio de sesión para la autenticación de SQL Server.
En el Explorador de objetos de SQL Server Management Studio, expanda la carpeta de la instancia de servidor en la que desea crear el nuevo inicio de sesión.
Haga clic con el botón derecho en la carpeta Seguridad, seleccione Nuevo y, después, haga clic en Inicio de sesión... .
En el cuadro de diálogo Inicio de sesión - Nuevo, en la página General, escriba el nombre del usuario nuevo en el cuadro Nombre de inicio de sesión.
Seleccione Autenticación de SQL Server.
En el campo Contraseña , escriba una contraseña para el usuario nuevo. Vuelva a escribir esa contraseña en el cuadro Confirmar contraseña .
Seleccione las opciones de cumplimiento de la contraseña requeridas (Exigir directivas de contraseña, Exigir expiración de contraseña y El usuario debe cambiar la contraseña en el siguiente inicio de sesión). Si usa este inicio de sesión para usted mismo, no es necesario requerir un cambio de contraseña en el siguiente inicio de sesión.
En la lista Base de datos predeterminada , seleccione una base de datos predeterminada para el inicio de sesión. master es el valor predeterminado para esta opción. Si todavía no ha creado una base de datos de usuario, deje este valor en master.
Si este es el primer inicio de sesión que crea, es posible que desee designar este inicio de sesión como administrador de SQL Server. En ese caso, en la página Roles de servidor, active sysadmin.
Nota
los miembros del rol del servidor fijo sysadmin tienen el control completo del motor de base de datos. Deberá restringir cuidadosamente la suscripción en este rol.
Haga clic en Aceptar.
Para ver más información acerca de los inicios de sesión de SQL Server, consulte Crear un inicio de sesión.
Determinación del nombre DNS de la máquina virtual
Para conectarse al motor de base de datos de SQL Server desde otro equipo, debe conocer el nombre del Sistema de nombres de dominio (DNS) de la máquina virtual. (Este es el nombre que usa Internet para identificar la máquina virtual. Puede usar la dirección IP, pero la dirección IP puede cambiar cuando Azure mueve recursos para redundancia o mantenimiento. El nombre DNS será estable porque se puede redirigir a una nueva dirección IP).
En Azure Portal (o desde el paso anterior), seleccione Máquinas virtuales (clásico).
Seleccione la máquina virtual de SQL.
En la hoja Máquina virtual, copie el nombre DNS de la máquina virtual.
Conexión al motor de base de datos desde otro equipo
En un equipo conectado a Internet, abra SQL Server Management Studio.
En el cuadro de diálogo Conectar al servidor o Conectarse al motor de base de datos, en el cuadro Nombre del servidor, escriba el nombre DNS de la máquina virtual (determinado en la tarea anterior) y un número de puerto de punto de conexión público con formato NombreDNS,númerodepuerto como mysqlvm.cloudapp.net,57500.
Si no recuerda el número de puerto del punto de conexión público que creó anteriormente, puede encontrarlo en el área Puntos de conexión de la hoja Máquina virtual.
En el cuadro Autenticación, seleccione Autenticación de SQL Server.
En el cuadro Inicio de sesión , escriba el nombre de un inicio de sesión que haya creado en una tarea anterior.
En el cuadro Contraseña , escriba la contraseña del inicio de sesión que creó en una tarea anterior.
Haga clic en Conectar.
Pasos siguientes
Si planea usar también grupos de disponibilidad AlwaysOn para alta disponibilidad y recuperación ante desastres, considere la posibilidad de implementar un agente de escucha. Los clientes de la base de datos se conectan al agente de escucha en lugar de directamente a una de las instancias de SQL Server. El agente de escucha enruta los clientes a la réplica principal del grupo de disponibilidad. Para obtener más información, consulte Configuración de un agente de escucha con ILB para grupos de disponibilidad AlwaysOn en Azure.
Es importante revisar todos los procedimientos recomendados de seguridad para SQL Server que se ejecuta en una máquina virtual de Azure. Para obtener más información, consulte Consideraciones de seguridad para SQL Server en Azure Virtual Machines.
Explore la ruta de aprendizaje para SQL Server en máquinas virtuales de Azure.
Para ver otros temas sobre la ejecución de SQL Server en Azure Virtual Machines, consulte SQL Server en Azure Virtual Machines.