Habilitar la Conexión Remota en SQL Server con VirtualBox

IniciosqlConexión Remota en SQL Server
Habilitar la Conexión Remota en SQL Server con VirtualBox

by Juan Carlos García

7-Ag-2023

(1)

Suscribirme al canal:

La conexión remota en SQL Server es una funcionalidad esencial que permite a los administradores y desarrolladores gestionar bases de datos desde ubicaciones externas. En un mundo cada vez más interconectado, esta capacidad se vuelve crucial para mantener la eficiencia y productividad de los entornos empresariales modernos.

Este post se propone como una guía completa para comprender y aprovechar al máximo la conexión remota en SQL Server en conjunto con VirtualBox. Exploraremos desde los fundamentos básicos hasta las técnicas avanzadas para administrar bases de datos de manera remota con eficacia. Además, analizaremos aspectos de seguridad y optimización del rendimiento que garantizarán la integridad y eficiencia de las conexiones remotas.

¡Vamos a sumergirnos en el fascinante mundo de la conexión remota en SQL Server y descubrir cómo esta funcionalidad puede potenciar tus capacidades de gestión de bases de datos!

¡No te puedes perder las nuevas clases 🧐!

SQL

SQL

SQL: Curso gratuito de SQL ¿Qué es el lenguaje SQL? Sintaxis y sentencias básicas

CREATE, DROP Y ALTER DATABASE

CREATE, DROP Y ALTER DATABASE

¿Cómo crear (CREATE DATABASE), modificar (ALTER DATABASE) y eliminar (DROP DATABASE) una base de datos en SQL Server?

CREATE, DROP Y ALTER TABLE

CREATE, DROP Y ALTER TABLE

Manejo de tablas en SQL Server: CREATE TABLE, ALTER TABLE y DROP TABLE.

SELECT SQL

SELECT SQL

SELECT SQL SERVER: ¿Cómo seleccionar y consultar datos en SQL Server?

INSERT SQL

INSERT SQL

INSERT SQL SERVER: ¿Cómo insertar datos en una tabla desde SQL Server? Sintaxis y ejemplos.

JOIN SQL

JOIN SQL

JOIN SQL: ¿Qué son y cómo funcionan INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN y CROSS JOIN?

Update SQL

Update SQL

UPDATE SQL: ¿Cómo actualizar datos en una tabla en SQL Server?

DELETE SQL

DELETE SQL

DELETE SQL y TRUNCATE TABLE: ¿Cómo eliminar datos de una tabla en SQL Server?

Stored Procedure en SQL Server

Stored Procedure en SQL Server

Stored Procedure en SQL Server: ¿Cómo crear, modificar y ejecutar procedimientos almacenados en SQL Server?

Conexión Remota en SQL Server

Conexión Remota en SQL Server

Habilitar la Conexión Remota en SQL Server con VirtualBox

Connection String

Connection String

Connection String de SQL Server: Una Guía Completa para Establecer Conexiones con la Base de Datos

SQL Server SUBSTRING

SQL Server SUBSTRING

Guía Completa de SQL Server SUBSTRING: Uso y Ejemplos

CASE en SQL Server

CASE en SQL Server

Cláusula CASE en SQL Server: Uso y Ejemplos de Condicionales en Consultas

SQL Server REPLACE

SQL Server REPLACE

SQL Server REPLACE: Función para la manipulación de cadenas de texto

IF en SQL Server

IF en SQL Server

Sentencias IF, IF-ELSE e IF-EXISTS en SQL Server: Guía completa.

IS NULL en SQL Server

IS NULL en SQL Server

IS NULL en SQL Server: Comprendiendo la Verificación de Valores Nulos e IS NOT NULL

SQL Server CONVERT

SQL Server CONVERT

SQL Server CONVERT: Guía Completa para Convertir Datos en SQL Server

🧐 Autoevaluación: Conexión Remota en SQL Server

¿Qué método de conexión remota en SQL Server utiliza un canal seguro para cifrar los datos transmitidos?

¿Cuál es la importancia de la conexión remota en SQL Server?

¿Cuál es uno de los desafíos asociados con la conexión remota en SQL Server?

Libros de SQL y Bases de datos

Sigue aprendiendo con estos libros que puedes comprar desde tu casa.

Habilitar la Conexión Remota en SQL Server con VirtualBox

¿Qué es una conexión remota para SQL Server?

Una conexión remota en el contexto de SQL Server se refiere a la capacidad de acceder y gestionar una base de datos desde una ubicación externa a la que se encuentra el servidor de la base de datos.

En otras palabras, permite que los administradores y desarrolladores puedan trabajar con una base de datos desde un lugar físico diferente al del servidor de la base de datos.

¿Por qué es importante admitir conexiones remota en SQL Server?

La importancia de la conexión remota radica en que permite la flexibilidad y la accesibilidad en la gestión de bases de datos. Con esta funcionalidad, los usuarios pueden acceder y realizar tareas de administración, consulta y actualización de datos desde cualquier lugar con conexión a internet, lo que resulta especialmente útil en entornos empresariales con equipos distribuidos geográficamente.

La conexión remota en SQL Server facilita la colaboración y el trabajo en equipo, ya que diferentes miembros del equipo pueden acceder a la base de datos desde sus propias ubicaciones, lo que mejora la eficiencia y la productividad. Además, permite a los administradores supervisar y gestionar bases de datos críticas desde cualquier lugar y en cualquier momento, lo que es especialmente útil en situaciones de emergencia o fuera del horario laboral.

Sin embargo, es importante tener en cuenta que una conexión remota también plantea desafíos de seguridad y rendimiento, por lo que es crucial implementar prácticas seguras y técnicas de optimización para garantizar que los datos estén protegidos y las operaciones se realicen de manera eficiente.

En general, la conexión remota en SQL Server es una herramienta poderosa que brinda flexibilidad y accesibilidad en la gestión de bases de datos y es fundamental para un entorno empresarial moderno y globalizado.

¿Cómo habilitar la conexión remota para SQL Server en VirtualBox?

A continuación detallaré los pasos necesarios para habilitar la conexión remota en una maquina Virtual creada con VirtualBox, recuerda que los pasos pueden variar dependiendo de tu ambiente en el que estés trabajando, el ambiente para esta clase es el siguiente:

  • Maquina virtual Windows 10 Home creada en VirtualBox
  • Microsoft SQL Server 2019 Express Edition

Te dejo la clase donde hacemos la instalación de esta versión de SQL Server:

Pasos para permitir conexiones remotas en SQL Server

Para habilitar la conexión remota para SQL Server en VirtualBox, es necesario seguir estos pasos:

1. Configurar la red en VirtualBox

  • En VirtualBox, asegúrate de que el adaptador de red de la máquina virtual esté configurado como "Adaptador puente" o "Red interna" para que tenga acceso a la red externa.
  • Te recomiendo que la maquina virtual este detenida antes de hacer este paso.
  • Ahora ve a la configuración de tu maquina virtual y dirígete al apartado de “Red”.
  • De forma predeterminada se tiene habilitado el “Adaptador 1” como NAT.

Habilitar puerto 1433 en virtual box Reenvió de puertos

  • En “Adaptador 1” da clic en “Avanzada” y se expenderán opciones donde encontrarás un botón que dice “Reenvió de puertos”.
  • Al dar clic se abrirá la siguiente ventana donde deberás escribir lo siguiente:
    • Nombre: SQL
    • Protocolo: TCP
    • Puerto anfitrión: 1433
    • Puerto invitado: 1433
  • Las demás opciones déjalas en blanco, como se ve en la siguiente imagen.
Habilitar puerto 1433 en virtualbox, reenvió de puertos.

Habilitar Adaptador de puente para tener acceso a la red externa

  • Ahora simplemente da clic en la segunda pestaña y Habilita “Adaptador 2” y configúralo como “Adaptador puente”, con esto tendremos acceso a la red externa y podremos conectarnos al puerto 1433 que acabamos de configurar.
Habilitar Adaptador de puente para tener acceso a la red externa

2. Configurar el Firewall

  • Ahora que ya hemos configurado el “Reenvió de puertos y habilitado el adaptado de red”.
  • Asegúrate de que el firewall de la máquina virtual permita la conexión remota a SQL Server.
  • Primero enciende tu maquina virtual.
  • Para habilitar esta regla en el Firewall, solo debes buscar “Firewall” y da clic en el resultado “Windows Defender Firewall con seguridad avanzada”.

Aquí vamos habilitar la regla de entrada y salida del puerto 1433.

  • En el menú izquierdo da clic derecho sobre “Reglas de entrada” y da clic en “Nueva regla”, sigue las instrucciones de la nueva ventana de la siguiente forma:
    • Tipo de regla: elige “Puerto”.
    • Protocolo y puertos: elige “TCP” y en “Puertos locales específicos” escribe 1433.
    • Acción: elige “Permitir la conexión”.
    • Perfil: puedes seleccionar las tres opciones.
    • Nombre: escribe un nombre, por ejemplo “SQLServer” en “Descripción” puedes escribir lo mismo.
  • Ahora simplemente da clic en "Finalizar".
  • Sigue los mismos pasos para crear la “Regla de salida”.
habilitar la regla de entrada y salida del puerto 1433.

3. Configurar SQL Server

  • En la configuración de SQL Server, habilita la opción de "Conexiones remotas" para permitir que SQL Server acepte conexiones desde ubicaciones externas.
  • En el buscador de Windows busca “mmc”.
  • En la ventana que se abrirá da clic en “Archivo” y despues en “Agregar o quitar complementos”.

Habilitar SQL Server Configuration Manager

  • En la nueva ventana busca la opción “SQL Server Configuration Manager” da clic en “Agregar” y después en "Aceptar".
  • Ahora podrás ver en “Raíz de consola” la opción de “SQL Server Configuration Manager”, extiende las opciones y vuelve a extender las opciones en “SQL Server Network Configuration”.
  • Selecciona la opción “Protocols for SQLEXPRESS” y en la parte derecha de la pantalla da doble clic en “TCP/IP”.
  • Se abrirá la ventana de “Propiedades: TCP/IP” y en la pestaña “Protocol” en la opción “Enabled” cambia a “Yes”.
  • En la segunda pestaña “IP Addresses” habilitaremos el puerto 1433, para ello dirígete al apartado “IP2” y establece en “IP Address” 127.0.0.1 y en “TCP Port” 1433.
  • Da clic en “Aceptar”.
Habilitar protocolo TCP y puerto 1433 en SQL Server

4. Habilitar SQL Server Authentication o Autenticación mixta en SQL Server

  • Para habilitar SQL Server Authentication, debes conectarte a la base de datos a través de Microsoft Management Studio, ya que es la forma más fácil de hacer esto.
  • Dentro de Microsoft Management Studio elige conectarte a través de Windows Authentication.
  • Una vez conectado da clic derecho sobre el servidor de base de datos y da clic en “Properties o Propiedades”.
  • En el menú izquierdo da clic en “Security”.
  • Ahora simplemente selecciona la opción “SQL Server and Windows Authentication mode”, con ello se habilitará la autenticación mixta y podrás conectarte a través de usuario y contraseña de forma remota.
  • Da clic en “OK”.
Habilitar SQL Server Authentication o Autenticación mixta en SQL Server

5. Crear usuario y contraseña para conectarnos por SQL Server Authentication remotamente

Ahora que ya hemos habilitado todo, debemos crear un usuario mediante el cual podamos conectarnos remotamente a SQL Server mediante un usuario y contraseña, para ello:

  • Dentro de Microsoft Management Studio en “Object Explorer” busca el apartado “Security” despues “Logins”.
  • Sobre “Logins” da clic derecho y después en “New Login".
  • En la ventana que se abrirá en el apartado “General”:
    • Login name: escribe “ewebik”.
    • Selecciona la opción “SQL Server Authentication”.
    • Password: escribe una contraseña en mi caso pondré “ewebik”.
    • Confirm password: vuelve a escribir tu contraseña.
    • Puedes desmarcar la opción “User must change password at next login” para que SQL Server no te pida cambiar el password cundo te logues con el, la primer vez.
  • Cambia al apartado “User Mapping” selecciona el rol del nuevo usuario y las bases de datos a las que tendrá acceso, en mis caso como es desarrollo y pruebas:
    • Dejare el rol “dbo_owner”
    • Y seleccionare todas las bases de datos.
  • Ahora simplemente da clic en “OK” y habrás creado tu usuario
Creación de nuevo usuario SQL Server

6. Reiniciar servicio SQL Server

Para que todos los cambios hechos cobren efecto, debemos reiniciar el servicio de SQL Server, para ello puedes hacerlo desde la ventana de “Servicios de Windows”.

  • Busca “Servicios” y en la ventana que se abrirá busca el servicio “SQL Server (SQLEXPRESS)” si tu versión es diferente a la mía el nombre entre paréntesis varía.
  • Da clic derecho sobre “SQL Server (SQLEXPRESS)” y da clic en reiniciar, si te solicita confirmación da clic en “OK”.

Y listo ya deberías poderte conectar de forma remota a SQL Server a través de usuario que acabas de crear.

Probando conexión remota SQL Server

Ahora para probar la conexión remota, primero vamos a obtener la IP local del servidor, esto lo haré a través de IPCONFIG, lo cual en mi caso me da como resultado la IP “192.168.0.104” que es el “Adaptador 2” que configuramos al inicio.

Ahora desde otra computadora dentro de tu red, vamos a conectarnos a través de Microsoft Management Studio, puedes desarrollar un programa sencillo en .NET, pero para que se más fácil, lo haré con Microsoft Management Studio.

  • Inicia Microsoft Management Studio.
  • Te solicitará a que servidor deseas conectarte, escribe lo siguiente:
    • Server type: Database Engine
    • Server name: 192.168.0.104 (Escribe la IP que te indica tu servidor con el comando IPCONFIG)
    • Authentication: SQL Server Authentication
    • Login: ewebik (el nombre de usuario que creaeste)
    • Password: ewebik (la contraseña que estableciste)
  • Da clic en “Connect” y listo te habras conectado a tu servidor
Conexión remota con SQL Server

Métodos de conexión remota disponibles en SQL Server

Los métodos de conexión remota disponibles en SQL Server son los siguientes:

  • TCP/IP: Es el método más común y ampliamente utilizado para la conexión remota a SQL Server. Utiliza el protocolo TCP/IP para establecer la comunicación entre el cliente y el servidor. Permite conexiones a través de la red local o a través de Internet utilizando una dirección IP y un número de puerto.
  • Named Pipes: Es otro método de conexión remota que utiliza el protocolo de tuberías con nombre para la comunicación entre el cliente y el servidor. Este método es más adecuado para conexiones dentro de una red local y puede ofrecer un rendimiento ligeramente mejor en comparación con TCP/IP en algunas situaciones.
  • HTTP: SQL Server también admite conexiones remotas a través del protocolo HTTP utilizando el servicio de replicación o el servicio de informes. Esto permite a los clientes conectarse a SQL Server a través de Internet utilizando el protocolo HTTP estándar.

Cada método de conexión remota tiene sus ventajas y desventajas. TCP/IP es el más versátil y ampliamente utilizado, mientras que Named Pipes puede ofrecer un mejor rendimiento en redes locales. El uso de HTTP es más específico para ciertos escenarios, como la replicación o el acceso a informes.

Es importante tener en cuenta que la elección del método de conexión remota dependerá de los requisitos específicos de la aplicación y las consideraciones de seguridad de la red. Es recomendable utilizar conexiones seguras, como SSL/TLS, para proteger la información transmitida a través de la conexión remota.

Finalmente, la conexión remota en SQL Server es una función esencial que permite acceder y gestionar bases de datos desde ubicaciones externas. Los métodos de conexión remota, como TCP/IP, Named Pipes y HTTP, ofrecen diferentes opciones para establecer la comunicación entre el cliente y el servidor.

Es fundamental seleccionar el método de conexión remota adecuado según los requisitos específicos de la aplicación y las consideraciones de seguridad de la red. La seguridad es una preocupación importante en las conexiones remotas, por lo que se debe implementar el uso de conexiones seguras, como SSL/TLS, para proteger la información transmitida.

La capacidad de habilitar y configurar correctamente la conexión remota en SQL Server es crucial para permitir el acceso desde ubicaciones externas y asegurar una gestión eficiente de las bases de datos. Con una configuración adecuada y el uso de buenas prácticas, se puede establecer una conexión remota confiable y segura, lo que facilita el acceso a los datos y el mantenimiento de la base de datos desde cualquier lugar.

¡Nos vemos en la siguiente clase!

🧐 Autoevaluación: Conexión Remota en SQL Server

¿Qué método de conexión remota en SQL Server utiliza un canal seguro para cifrar los datos transmitidos?

¿Cuál es la importancia de la conexión remota en SQL Server?

¿Cuál es uno de los desafíos asociados con la conexión remota en SQL Server?

Juan Carlos

Juan Carlos García

Desarrollador de software / SEO

Durante años he desarrollado plataformas dedicadas al rastreo satelital y varios sitios web que se encuentran en la primera página de Google, y hoy quiero compartir contigo lo que se en tecnologías como: Node JS, PHP, C# y Bases de datos.

Si quieres apoyarme sígueme en mis redes sociales y suscríbete a mi canal de YouTube.

EWebik

Diseño de páginas web y aplicaciones moviles.

© 2024 EWebik