curso
Base de datos Azure SQL: Configuración y gestión paso a paso
Las bases de datos SQL desempeñan un papel importante en las aplicaciones de datos modernas, ya que proporcionan una forma estructurada de almacenar, gestionar y recuperar datos. Estas bases de datos utilizan SQL para realizar tareas que van desde consultas sencillas a complejas transacciones de datos.
Las bases de datos Azure SQL ofrecen alta disponibilidad y escalabilidad, garantizando un rendimiento fiable para los proyectos de datos. Como servicio totalmente gestionado, reduce la carga administrativa al encargarse de tareas de mantenimiento como actualizaciones y copias de seguridad. La integración con otros servicios de Azure simplifica el desarrollo y la implantación de tus soluciones de datos.
Azure ofrece un conjunto de servicios SQL que satisfacen diversas necesidades de bases de datos. En este tutorial, exploraremos esos servicios, pero nos centraremos principalmente en Azure SQL Database y profundizaremos en su configuración, uso y gestión.
Comprender Azure SQL Services
Microsoft Azure proporciona tres servicios principales de bases de datos SQL adaptados a casos de uso y requisitos específicos: Azure SQL Database, Azure SQL Managed Instance y SQL Server en máquinas virtuales (VM) de Azure.
1. Base de datos Azure SQL
Azure SQL Database es una oferta de Plataforma como Servicio (PaaS) totalmente gestionada. Abstrae la infraestructura subyacente, lo que permite a los desarrolladores centrarse en crear y desplegar aplicaciones sin preocuparse de las tareas de mantenimiento de la base de datos.
2. Instancia gestionada de Azure SQL
Azure SQL Managed Instance es un servicio gestionado que ofrece casi un 100% de compatibilidad con SQL Server local, lo que facilita la migración de las aplicaciones SQL Server existentes a la nube. Combina las ventajas de PaaS con un mayor control sobre el entorno de la base de datos.
3. SQL Server en máquinas virtuales Azure
SQL Server en máquinas virtuales Azure es una oferta de infraestructura como servicio (IaaS) que permite a los usuarios ejecutar instalaciones completas de SQL Server en máquinas virtuales Azure. Esta opción proporciona un control total sobre la instancia de SQL Server y el sistema operativo subyacente, de forma similar a las implantaciones locales.
Elegir el servicio adecuado a tus necesidades
La selección del servicio Azure SQL adecuado depende de tus requisitos y limitaciones específicos. He aquí algunas consideraciones que te ayudarán a tomar una decisión informada:
Consideración |
Base de datos Azure SQL |
Instancia gestionada de Azure SQL |
SQL Server en máquinas virtuales Azure |
Compatibilidad de la aplicación |
Lo mejor para aplicaciones modernas nativas de la nube. |
Ideal para una compatibilidad casi total con las funciones locales de SQL Server. |
Proporciona un control total y es adecuado para aplicaciones heredadas que requieran configuraciones personalizadas. |
Gastos generales de gestión |
Mínimo, con mantenimiento automatizado. |
Mínimo, con mantenimiento automatizado. |
Alta, requiere una gestión más práctica. |
Necesidades de escalabilidad |
Escalabilidad sin fisuras para cargas de trabajo fluctuantes. |
Escalabilidad sin fisuras para cargas de trabajo fluctuantes. |
Escalable, pero puede requerir más intervención manual. |
Seguridad y cumplimiento |
Amplia seguridad y certificaciones integradas. |
Amplia seguridad y certificaciones integradas. |
Seguridad robusta, pero el cumplimiento depende de configuraciones personalizadas. |
Requisitos de rendimiento |
Adecuado para la mayoría de las aplicaciones con rendimiento en la nube. |
Buen rendimiento con compatibilidad con SQL Server. |
Ideal para necesidades de alto rendimiento con total personalización. |
En resumen, Azure SQL Database es lo mejor para aplicaciones nativas de la nube con una sobrecarga de gestión mínima, Azure SQL Managed Instance es adecuado para aplicaciones heredadas que necesitan compatibilidad con SQL Server, y SQL Server en máquinas virtuales Azure ofrece el mayor control para cargas de trabajo personalizadas y de alto rendimiento.
Ahora, centrémonos en el servicio Azure SQL Database.
Crear una base de datos Azure SQL
Crear una base de datos SQL de Azure implica varios pasos, todos los cuales pueden realizarse a través del Portal Azure. A continuación encontrarás una guía detallada que te ayudará a configurar tu base de datos SQL.
1. En el Portal Azure, haz clic en el botón "Crear un recurso" situado en la esquina superior izquierda de la página de inicio. En la nueva página de recursos, escribe "Base de datos SQL" en el cuadro de búsqueda y selecciónalo de la lista de servicios.
2. Configura los ajustes de la base de datos como se indica a continuación:
- Suscripción: Elige la suscripción adecuada con la que quieres que se facture la base de datos.
- Grupo de recursos: Selecciona un grupo de recursos existente o crea uno nuevo haciendo clic en "Crear nuevo" e introduciendo un nombre.
- Nombre de la base de datos: Introduce un nombre único para tu nueva base de datos SQL.
Pantalla "Crear una base de datos SQL" en Azure con un resumen de costes a la derecha. Imagen del autor
3. Si ya tienes un servidor SQL, haz clic en "Utilizar existente" y selecciona el servidor de la lista. Si no tienes un servidor SQL, haz clic en "Crear nuevo" para crear uno. Tendrás que configurar los siguientes ajustes.
Crear un nuevo servidor de base de datos SQL en Azure. Imagen del autor
- Nombre del servidor: Introduce un nombre único para el servidor.
- Inicio de sesión de administrador del servidor: Crea un nombre de usuario para el administrador del servidor.
- Contraseña: Crea una contraseña segura y confírmala.
- Localización: Elige la región más cercana a tus usuarios para un rendimiento óptimo.
4. A continuación, configura el método de autenticación y el inicio de sesión del administrador del servidor:
- Método de autenticación: Elige el método de autenticación que prefieras. La autenticación SQL es habitual, pero también puedes utilizar la autenticación Microsoft Entra ID (antes Azure Active Directory) para mayor seguridad.
- Inicio de sesión de administrador del servidor: Si vas a crear un nuevo servidor, asegúrate de haber introducido el nombre de usuario y la contraseña de administrador como se ha descrito anteriormente.
5. Algunos ajustes adicionales a tener en cuenta:
- Trabajo en red: Decide si la base de datos debe ser accesible a través de Internet pública o sólo dentro de una red privada. Configura las reglas del cortafuegos y las redes virtuales necesarias.
- Seguridad: Activa funciones como la Seguridad Avanzada de Datos, que incluye la detección de amenazas y la evaluación de vulnerabilidades.
- Nivel de precios: Elige un nivel en función de tus necesidades de rendimiento y presupuesto. Las opciones incluyen los niveles General Purpose, Business Critical e Hyperscale. Cada nivel ofrece distintos niveles de rendimiento, almacenamiento y prestaciones.
6. Por último, revisa todos los ajustes de configuración para asegurarte de que todo está configurado como deseas. Haz clic en el botón "Revisar + crear". Tras el proceso de validación, haz clic en "Crear" para desplegar tu base de datos SQL.
Si te interesa conocer más a fondo Azure, consulta el curso Arquitectura y Servicios de Azure.
Conectarse a una base de datos SQL de Azure
Se pueden utilizar varias herramientas y métodos para conectarse a una Base de Datos SQL de Azure. Esta sección cubre las principales herramientas de conexión y explica el uso de las cadenas de conexión y los métodos de autenticación.
Herramientas para conectarse a una base de datos SQL de Azure
Conexión a través del Portal Azure
Sigue estos pasos para conectarte a tu base de datos SQL y ejecutar consultas directamente en Azure:
1. Abre el Portal Azure y ve a tu recurso de base de datos SQL. Haz clic en "Editor de consultas (vista previa)" en el menú de la izquierda.
2. Introduce el nombre de usuario y la contraseña del administrador del servidor para utilizar la autenticación SQL, o si está configurado, utiliza la autenticación Microsoft Entra ID (antes Azure Active Directory).
3. Puedes ejecutar directamente consultas SQL contra tu base de datos dentro del editor de consultas del Portal Azure.
El editor de consultas del Portal Azure. Imagen del autor
Conexión a través de SQL Server Management Studio (SSMS)
SQL Server Management Studio (SSMS) es un entorno completo e integrado para gestionar la infraestructura de SQL Server, que te permite configurar, supervisar y administrar instancias de bases de datos SQL Server.
- Instalación: Descarga e instala SSMS desde el sitio web oficial de Microsoft.
- Conectando: Abre SSMS, haz clic en "Conectar" y selecciona "Motor de base de datos". Introduce el nombre del servidor (por ejemplo, "tu_nombre_servidor.base_de_datos.windows.net"), el método de autenticación y las credenciales.
Conexión a través de Azure Data Studio
Azure Data Studio es una herramienta de gestión de datos multiplataforma para gestionar bases de datos SQL Server en local o en entornos multi-nube.
- Instalación: Descarga e instala Azure Data Studio desde el sitio web oficial de Microsoft.
- Conectando: Abre Azure Data Studio, haz clic en "Nueva conexión" e introduce los datos del servidor, incluidos el nombre del servidor, el nombre de la base de datos y los datos de autenticación.
Otras herramientas para conectarte a tu Base de Datos SQL de Azure
- Código de Visual Studio: Instala la extensión SQL Server para Visual Studio Code, que ofrece la posibilidad de conectarse a las bases de datos SQL de Azure.
- Power BI: Conéctate a Azure SQL Database directamente desde Power BI Desktop para realizar análisis y visualizaciones de datos avanzados.
Cadenas de conexión y autenticación
Comprender las cadenas de conexión
Las cadenas de conexión son esenciales para que las aplicaciones se conecten a tu base de datos Azure SQL. Contienen el nombre del servidor, el nombre de la base de datos, las credenciales de autenticación y otros parámetros.
Ejemplo de cadena de conexión para la autenticación SQL:
Server=tcp:your_server_name.database.windows.net,1433;Initial Catalog=your_database_name;Persist Security Info=False;User ID=your_username;Password=your_password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
Configurar la autenticación SQL
En SSMS o Azure Data Studio, conéctate a tu base de datos Azure SQL y ejecuta secuencias de comandos SQL para crear nuevos usuarios y asignarles funciones. Incluye el nombre de usuario y la contraseña en tu cadena de conexión para la autenticación.
CREATE LOGIN mylogin WITH PASSWORD = 'StrongPassword!';
CREATE USER myuser FOR LOGIN mylogin;
ALTER ROLE db_datareader ADD MEMBER myuser;
Configurar la autenticación de Microsoft Entra ID (antes Azure Active Directory)
Sigue estos pasos para configurar el Entra ID admin y asignar usuarios/roles:
1. En el Portal Azure, navega hasta tu recurso SQL Server y selecciona "Active Directory admin" para establecer un usuario o grupo Entra ID como administrador.
2. Utiliza scripts SQL para crear usuarios y asignarles funciones. Esto requiere SSMS o Azure Data Studio con la autenticación Entra ID activada. Por ejemplo:
CREATE USER [aad_user@domain.com] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [aad_user@domain.com];
3. Modifica tu cadena de conexión para incluir las credenciales Entra ID. Esto suele implicar establecer una autenticación basada en tokens:
Server=tcp:your_server_name.database.windows.net,1433;Initial Catalog=your_database_name;Persist Security Info=False;User ID=aad_user@domain.com;Authentication="Active Directory Password";Password=your_password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
Gestión y uso de tu base de datos Azure SQL
Gestionar y utilizar una base de datos SQL de Azure implica operaciones básicas con la base de datos y aprovechar las funciones avanzadas para optimizar el rendimiento, la escalabilidad y la disponibilidad. A continuación se detallan los pasos y métodos para la gestión básica y avanzada de bases de datos.
Operaciones básicas con bases de datos
1. Crear tablas
Conéctate a tu base de datos utilizando SSMS, Azure Data Studio o el editor de consultas del Portal Azure, y ejecuta el siguiente comando SQL para crear una tabla:
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName NVARCHAR(50),
LastName NVARCHAR(50),
Email NVARCHAR(100),
HireDate DATE
);
2. Insertar datos
Inserta los datos en la tabla recién creada utilizando el siguiente código SQL:
INSERT INTO Employees (EmployeeID, FirstName, LastName, Email, HireDate)
VALUES (1, 'John', 'Doe', 'john.doe@example.com', '2022-01-01');
3. Ejecutar consultas básicas
Puedes recuperar datos de la tabla con una simple consulta a SELECT
. Por ejemplo, para obtener todos los datos de la tabla Employees
:
SELECT * FROM Employees;
Utilizar T-SQL para la gestión de bases de datos
T-SQL (Transact-SQL) es una extensión de SQL de Microsoft utilizada para gestionar y manipular bases de datos relacionales. Te permite realizar diversas tareas, como crear y modificar tablas, gestionar datos e implementar lógica compleja mediante procedimientos almacenados y desencadenadores.
1. Crear procedimientos almacenados
CREATE PROCEDURE GetEmployeeByID
@EmployeeID INT
AS
BEGIN
SELECT * FROM Employees WHERE EmployeeID = @EmployeeID;
END;
En este ejemplo, el procedimiento almacenado toma un ID de empleado como parámetro de entrada y devuelve todas las columnas del empleado con ese ID concreto de la tabla "Empleados".
2. Ejecutar procedimientos almacenados
He aquí cómo puedes ejecutar el procedimiento almacenado que acabas de crear:
EXEC GetEmployeeByID @EmployeeID = 1;
Funciones avanzadas de gestión de bases de datos
Ahora, veamos funciones más sofisticadas que puedes utilizar en tu Base de Datos SQL de Azure, sobre todo en entornos de producción.
Escalar bases de datos con pools elásticos
Los pools elásticos de Azure SQL Database te permiten gestionar y escalar múltiples bases de datos con demandas de uso variables e impredecibles. Proporcionan rentabilidad al compartir recursos entre las bases de datos del pool. Sigue estos pasos para crear un pool elástico:
1. Navega hasta el Portal Azure, selecciona tu servidor de Base de Datos SQL y haz clic en "Crear nuevo" en Elastic Pool.
2. Configura el pool estableciendo el número de DTU (Unidades de Transacción de Base de Datos) y añadiendo bases de datos.
Implantar soluciones de alta disponibilidad y recuperación ante desastres
Azure SQL Database ofrece varias opciones de alta disponibilidad y recuperación ante desastres para garantizar que tu base de datos siga operativa y los datos estén protegidos:
- Alta disponibilidad integrada: Hay una alta disponibilidad integrada con un SLA de tiempo de actividad del 99,99%. Esto se consigue mediante la replicación de datos a través de múltiples nodos en diferentes ubicaciones físicas.
- Georreplicación: Puedes activar la georreplicación para crear réplicas secundarias legibles en distintas regiones de Azure. Esto permite la conmutación por error a una región secundaria en caso de interrupción regional. Para ello, ve a tu base de datos SQL desde el Portal Azure, selecciona "Geo-Replicación" y configura las réplicas secundarias.
- Copias de seguridad automáticas: Azure SQL Database realiza automáticamente copias de seguridad completas, diferenciales y del registro de transacciones. Puedes configurar políticas de retención de copias de seguridad para cumplir tus objetivos de punto de recuperación.
- Restauración puntual: En caso de pérdida accidental de datos o corrupción, puedes restaurar la base de datos a cualquier punto dentro del periodo de retención. Puedes hacerlo directamente desde el Portal Azure navegando hasta tu base de datos y seleccionando la opción "Restaurar".
Proteger tu base de datos Azure SQL
Cuando se trabaja con datos, la seguridad es de suma importancia. En esta sección se tratan las principales características de seguridad del servicio Azure SQL Database.
Buenas prácticas de seguridad
Para ayudar a proteger tu Base de Datos SQL de Azure de accesos no autorizados y garantizar una conectividad segura y privada dentro de tu entorno Azure, puedes aplicar estas prácticas recomendadas:
- Configura las reglas del cortafuegos IP para limitar el acceso a la base de datos desde direcciones o rangos IP específicos. Esto minimiza el riesgo de acceso no autorizado al restringir la conectividad de la base de datos a fuentes conocidas y de confianza.
- Utiliza los puntos finales del servicio de red virtual para restringir el acceso a la base de datos a determinadas redes virtuales. Esto te permite bloquear el acceso a la Base de Datos SQL de Azure desde VNets específicas, mejorando la seguridad al limitar la exposición a la Internet pública.
- Integra la VNet con la base de datos SQL utilizando puntos finales de servicio o privados para una conectividad segura. Esto reduce el riesgo de interceptación o ataque y la exposición a la Internet pública.
Utilizar funciones avanzadas de seguridad de datos
Para ayudar a proteger tus datos en las bases de datos Azure SQL, ten en cuenta estas configuraciones avanzadas:
- La protección avanzada contra amenazas se utiliza para detectar actividades inusuales.
- Cifrado transparente de datos (TDE) cifra los datos en reposo.
- Enmascaramiento dinámico de datos oculta datos sensibles en los resultados de las consultas.
Auditar y controlar regularmente tu base de datos
Para respaldar aún más la seguridad y la protección de datos de tu base de datos SQL, puedes configurar procesos de auditoría para realizar un seguimiento de las actividades de la base de datos y almacenar registros en una cuenta de Azure Storage, en un espacio de trabajo de Log Analytics o en Event Hub.
También puedes utilizar Azure Monitor para realizar un seguimiento de las métricas de rendimiento y seguridad y configurar alertas para condiciones específicas.
Si quieres saber más sobre la gobernanza de datos en Azure, consulta el curso de Gestión y Gobernanza de Azure de DataCamp.
Gestión de precios y costes de bases de datos SQL
El precio de Azure SQL Database puede ser complejo debido a las distintas opciones de configuración que influyen en él. En esta sección, hablaremos de los principales factores que afectan a los costes.
1. Nivel de servicio
Cada nivel (Básico, Estándar y Premium) ofrece distintos niveles de prestaciones y características. La elección del nivel de servicio influye en el coste, siendo Básico el menos caro y Premium el más caro.
2. Recursos informáticos
Puedes elegir entre precios basados en DTU o precios basados en vCore:
- DTUs (Unidades de Transacción de Base de Datos): En los precios basados en DTU, el número de DTU determina los recursos de cálculo, memoria y E/S asignados a la base de datos. Más DTU suponen mayores costes.
- vCores (núcleos virtuales): Para los precios basados en vCore, el número de vCores y el tipo de hardware (General Purpose, Business Critical o Hyperscale) determinan los costes de computación. Más vCores o configuraciones de hardware de gama más alta suponen costes más elevados.
3. Almacenamiento
La cantidad de datos almacenados en la base de datos afecta al coste. El almacenamiento se factura en función del tamaño de almacenamiento aprovisionado, no del espacio utilizado.
Se incluye la cantidad de almacenamiento utilizada para las copias de seguridad automatizadas (hasta un periodo de retención determinado). El almacenamiento adicional de copias de seguridad para periodos de conservación más largos conlleva costes adicionales.
4. Opciones de despliegue
Dependiendo de tu opción de despliegue, los costes pueden variar:
- Base de datos única: Una base de datos aislada con recursos. Los costes dependen del nivel de servicio elegido, del cálculo y del almacenamiento.
- Piscina elástica: Una colección de bases de datos que comparten recursos. Los costes dependen del número total de eDTUs o vCores y del almacenamiento asignados al pool.
- Instancia gestionada: Una instancia de SQL Server totalmente gestionada. Los costes dependen del número de vCores, del almacenamiento y de otras características.
5. Georreplicación y alta disponibilidad
Funciones como la configuración redundante por zonas o las ofertas premium con mayores garantías de disponibilidad pueden aumentar los costes.
6. Salida de la red
Los datos transferidos desde Azure SQL Database (por ejemplo, a clientes externos o a otras regiones de Azure) incurren en gastos de salida. La transferencia interna de datos dentro de la misma región Azure suele ser gratuita.
Consejos para la gestión y optimización de costes
Aquí tienes algunos consejos que te ayudarán a optimizar los costes de las bases de datos Azure SQL:
- Utiliza la calculadora de precios para ayudarte a calcular por adelantado los costes de tu base de datos Azure SQL
- Analiza el gasto utilizando Azure Cost Management para identificar oportunidades de optimización de costes
- Utiliza Azure Advisor para hacer recomendaciones personalizadas sobre optimización de costes.
Conclusión
Configurar y gestionar una Base de Datos SQL de Azure eficaz implica establecer herramientas sólidas de autenticación y conexión. El uso de funciones de seguridad avanzadas y el aprovechamiento de las herramientas de supervisión de Azure garantizan que la base de datos siga siendo segura y eficiente. Comprender los niveles de precios y los factores que afectan a los costes ayuda a tomar decisiones informadas para optimizar los gastos.
Siguiendo las directrices de este tutorial, puedes mantener un entorno Azure SQL Database seguro, de alto rendimiento y rentable.
¿Quieres saber más sobre Azure? Consulta el tema Fundamentos de Azure del Datacamp.
Preguntas frecuentes
¿Cuáles son las mejores prácticas para optimizar el rendimiento de las consultas en Azure SQL Database?
Para optimizar el rendimiento de las consultas, analízalas y optimízalas regularmente con la herramienta Información sobre el rendimiento de las consultas. Además, asegúrate de que la indexación es adecuada, utiliza consultas parametrizadas para evitar la inyección SQL y considera la posibilidad de utilizar opciones de escalado de la base de datos, como los pools elásticos, para gestionar cargas de trabajo variables.
¿Cómo puedo automatizar las copias de seguridad de mi base de datos SQL de Azure?
Azure SQL Database gestiona automáticamente las copias de seguridad, incluidas las completas, diferenciales y de registro de transacciones almacenadas en almacenamiento georredundante. Puedes configurar el periodo de retención de la copia de seguridad en el Portal Azure, en los ajustes "Configurar" de la base de datos, para asegurarte de que se realiza una copia de seguridad de tus datos de acuerdo con tus necesidades empresariales.
¿Cuáles son las diferencias entre Azure SQL Database y SQL Server on Azure VMs?
Azure SQL Database es un servicio totalmente gestionado diseñado para aplicaciones nativas de la nube, que ofrece copias de seguridad, parches y escalado automatizados. SQL Server en máquinas virtuales Azure proporciona un control total sobre el entorno de SQL Server, lo que permite configuraciones personalizadas y requisitos de alto rendimiento, pero requiere una gestión y un mantenimiento más prácticos.
¿Cuáles son las diferencias entre las bases de datos individuales y los pools elásticos en Azure SQL Database?
Bases de datos únicas son bases de datos independientes optimizadas para aplicaciones de un solo inquilino. Cada base de datos tiene su propio conjunto de recursos.
Los pools elásticos son un conjunto de bases de datos que comparten recursos (eDTUs o vCores). Ideal para aplicaciones multiinquilino en las que las demandas de recursos varían según las bases de datos, proporcionando ahorro de costes y eficiencia de recursos.
¿Qué medidas de seguridad debo aplicar para proteger los datos sensibles en Azure SQL Database?
Para proteger los datos sensibles, activa Cifrado Transparente de Datos (TDE) para cifrar los datos en reposo, y Siempre Cifrado para proteger los datos en tránsito y en reposo. Utiliza la Protección Avanzada frente a Amenazas (ATP) integrada en Azure para detectar y responder a posibles amenazas, y aplica prácticas sólidas de autenticación y autorización con Azure Active Directory (AAD).
¡Aprende más sobre Azure y la computación en la nube con estos cursos!
curso
Understanding Microsoft Azure Architecture and Services
curso
Understanding Microsoft Azure Management and Governance
blog
30 preguntas de entrevista sobre Azure: De Básico a Avanzado

Josep Ferrer
30 min
tutorial
Sinapsis Azure: Guía paso a paso para principiantes
tutorial
Ejemplos y tutoriales de consultas SQL
tutorial
Primeros pasos con AWS Athena: Guía práctica para principiantes

Tim Lu
28 min