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:

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:

El siguiente diagrama resume la ruta de conexión:

Conexión a una máquina virtual de SQL Server

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.

  1. En Azure Portal, seleccione Máquinas virtuales (clásico).

  2. Luego seleccione la máquina virtual de SQL Server.

  3. 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.

    Pasos que se deben seguir en el portal para la creación del punto de conexión

  4. En la hoja Agregar punto de conexión, especifique un nombre como SQLEndpoint.

  5. Seleccione TCP para el protocolo.

  6. En Puerto público, especifique un número de puerto como 57500.

  7. En Puerto privado, especifique el puerto de escucha de SQL Server, cuyo valor predeterminado es 1433.

  8. 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

  1. 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).

  2. Una vez que haya iniciado sesión, en la pantalla Inicio, escriba WF.mscy presione ENTRAR.

    Iniciar el programa de firewall

  3. 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.

    Nueva regla

  4. 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.

  5. 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).

    Puerto TCP 1433

  6. Haga clic en Next.

  7. 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.

    Permitir conexiones

  8. 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.

    Perfil público

  9. En el cuadro de diálogo Nombre, escriba el nombre y la descripción de esta regla y haga clic en Finalizar.

    Nombre de la regla

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

  1. Mientras está conectado a la máquina virtual con Escritorio remoto, busque Administrador de configuración:

    Abrir SSCM

  2. En el panel de la consola de Administrador de configuración de SQL Server, expanda Configuración de red de SQL Server.

  3. 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.

    Habilitar TCP

  4. 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.

    Reiniciar el motor de base de datos

  5. 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.

  1. 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.

  2. 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.

    Conexión al servidor

  3. 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.

    Propiedades del servidor

  4. 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.

    Seleccionar el modo de autenticación

  5. En el cuadro de diálogo SQL Server Management Studio , haga clic en Aceptar para confirmar el requisito de reiniciar SQL Server.

  6. 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).

    Reiniciar

  7. En el cuadro de diálogo de SQL Server Management Studio, haga clic en 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.

  1. 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.

  2. Haga clic con el botón derecho en la carpeta Seguridad, seleccione Nuevo y, después, haga clic en Inicio de sesión... .

    Nuevo inicio de sesión

  3. 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.

  4. Seleccione Autenticación de SQL Server.

  5. 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 .

  6. 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.

  7. 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.

    Propiedades de inicio de sesión

  8. 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.

    Sysadmin

  9. 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).

  1. En Azure Portal (o desde el paso anterior), seleccione Máquinas virtuales (clásico).

  2. Seleccione la máquina virtual de SQL.

  3. En la hoja Máquina virtual, copie el nombre DNS de la máquina virtual.

    Nombre DNS

Conexión al motor de base de datos desde otro equipo

  1. En un equipo conectado a Internet, abra SQL Server Management Studio.

  2. 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.

    Conectar mediante SSMS

    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.

    Public Port

  3. En el cuadro Autenticación, seleccione Autenticación de SQL Server.

  4. En el cuadro Inicio de sesión , escriba el nombre de un inicio de sesión que haya creado en una tarea anterior.

  5. En el cuadro Contraseña , escriba la contraseña del inicio de sesión que creó en una tarea anterior.

  6. 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.