El producto transaccional (OLTP) de Fabric: SaaS en vez de PaaS, mirroring automático a OneLake, autonomous tuning e indexing, Copilot integrado y data virtualization. 🌸
IntermedioAvanzado
🎯
1. Objetivos y encaje en el DP-700
¿Qué te enseña este módulo?
Este módulo cubre SQL Database en Fabric, un producto transaccional (OLTP) que complementa al Warehouse (que es OLAP). Los objetivos oficiales:
Explicar cómo funciona SQL Database en Fabric.
Entender las opciones de seguridad en SQL Database.
Explicar cómo usar Copilot para mejorar el troubleshooting.
Explorar las capacidades de mirroring y data virtualization.
Peso en el examen DP-700
Dominio
Cómo aparece
Implement and manage (30-35%)
Elección Warehouse vs SQL DB vs Lakehouse, workspace security, T-SQL security, source control
Ingest and transform (30-35%)
Mirroring automático a OneLake, data virtualization con external tables
Diferencia fundamental: SQL Database (OLTP) vs Warehouse (OLAP) vs Lakehouse
SaaS vs PaaS: distinción con Azure SQL Database tradicional
Mirroring automático a OneLake (feature estrella)
Autonomous features (automatic tuning, automatic indexing)
Data virtualization con external tables (feature muy poderosa)
Copilot integrado (natural language to SQL)
🌸 ¿Por qué existe este producto?
Diferencia con el SQL analytics endpoint del Lakehouse/Warehouse:
Warehouse y Lakehouse son para analytics (OLAP).
SQL Database es para cargas transaccionales (OLTP): apps que necesitan INSERT/UPDATE/DELETE frecuentes con baja latencia.
Antes tenías que salir de Fabric a Azure SQL. Ahora tienes OLTP nativo en Fabric.
Aviso: si vienes de SQL Server o Azure SQL, ya sabes el 90% de este módulo. La sintaxis y el engine son los mismos 💕
🏛️
2. ¿Qué es SQL Database en Fabric?
Definición
SQL Database en Microsoft Fabric es una transactional database versátil y developer-friendly construida sobre la base de Azure SQL Database. Permite la creación y gestión de operational databases dentro del entorno Fabric.
Diferencias clave con Azure SQL Database
✅ SaaS (no PaaS como Azure SQL Database).
✅ Low-maintenance (Fabric gestiona todo).
✅ Auto-mirroring a OneLake en near real-time.
✅ Integrado con el ecosistema Fabric.
✅ Copilot nativo.
✅ Autonomous features activadas por defecto.
🌷 Analogía kawaii: imagina que Azure SQL Database es un coche manual: tienes que hacer más cosas tú (config, tuning, updates). SQL Database en Fabric es un coche automático con navegador: te preocupas menos de la mecánica y más de llegar a tu destino. Todo integrado, todo listo 🚗✨
Basado en el mismo engine SQL
Como está construido sobre Azure SQL Database, tiene el mismo SQL engine que ya conoces: complex queries, advanced data manipulations y un amplio rango de security features a nivel de base de datos. Si ya sabes T-SQL, ya sabes trabajar con esto.
☁️
3. SaaS vs PaaS: Fabric SQL DB vs Azure SQL Database
¿Qué significa cada uno?
PaaS (Platform as a Service) — como Azure SQL Database tradicional:
Microsoft gestiona la infraestructura.
Tú gestionas la BBDD: configuration, tuning, scaling.
Más control pero más responsabilidad.
SaaS (Software as a Service) — como Fabric SQL Database:
Microsoft gestiona TODO: infraestructura + gestión de la BBDD.
Tú solo te preocupas del schema, las queries y la aplicación.
Menos control pero casi zero maintenance.
Comparativa práctica
Aspecto
Azure SQL Database (PaaS)
Fabric SQL Database (SaaS)
Gestión infra
Microsoft
Microsoft
Gestión BBDD (tuning, scaling)
Tú
Microsoft (automatic)
Compute scaling
Manual/automated pero configurable
Automatic transparente
Storage scaling
Configuras tiers
Auto
Índices
Los creas tú
Automatic indexing
Backups
Configuras retention
Automatic
Monitoring
Azure Monitor
Performance dashboard integrado
Auto-analytics (mirror a OneLake)
❌ (manual)
✅ Automatic
Integración Fabric
❌
✅ Nativa
Copilot
✅ (vía Azure)
✅ Integrado en el editor
Beneficio para el usuario
Menos maintenance = más foco en business logic. Ideal para equipos que no quieren dedicar DBAs, startups o proyectos rápidos, citizen developers y apps que necesitan OLTP dentro del ecosistema Fabric.
🎯
4. OLTP vs OLAP: SQL DB vs Warehouse (CRÍTICO)
Este es EL punto más examinable del módulo. Vamos a fondo.
Necesito queries analíticas sobre grandes volúmenes → Warehouse
Necesito big data + Spark + ML → Lakehouse
Pueden coexistir
Muy común: SQL Database para la app transaccional (bookings, orders), con auto-mirroring a OneLake; Warehouse para analytics históricos; y Lakehouse para ML training data. Todo en el mismo workspace, sin ETL manual.
🛠️
5. Crear una SQL Database
Prerequisites
Fabric capacity (F SKU o Trial).
Workspace existente o nuevo.
Rol Admin o Member en el workspace.
Pasos
En el Fabric portal, seleccionar Databases.
Bajo New, seleccionar el tile SQL database.
Dar un nombre a la New Database.
Seleccionar Create — el provisioning tarda menos de 1 minuto.
Home page de la nueva DB
Después del provisioning, ves:
Explorer pane: muestra los database objects (tables, views, procs, etc.).
Build your database con 3 tiles útiles:
Sample data: importar el sample AdventureWorksLT.
T-SQL: web-editor para escribir T-SQL.
Connection strings: información de conexión para tools externos.
Sample data
Puedes cargar el sample SalesLT / AdventureWorksLT con un click. Ideal para aprender, testing y los ejercicios del propio Learn. Después de importar → schema SalesLT con sus tablas asociadas.
📥
6. Ingesta de datos y sample data
Formas de cargar datos
A) Sample data button (para pruebas rápidas): un click, carga AdventureWorksLT.
B) T-SQL directo: INSERT INTO ... VALUES (...), ejecutado desde el web editor o tools externos.
C) Dataflows Gen2: como destination, ETL low-code.
D) Pipelines: actividad Copy Data con SQL Database como destination.
E) External tools con TDS: SQL Server Management Studio (SSMS), Azure Data Studio, VS Code con la extensión MSSQL o cualquier tool que soporte el Tabular Data Stream protocol.
Conectar desde external tools
Connection string desde el menú Connection strings:
Autenticación: Microsoft Entra Interactive (browser-based), Microsoft Entra MFA, Microsoft Entra Password y Service Principal.
Conectar desde SSMS
Server type: Database Engine.
Server name: <server>.database.fabric.microsoft.com,1433.
Authentication: Microsoft Entra MFA (recomendado).
Database Name: nombre de tu DB.
Connect.
Después de conectar puedes navegar en el Object Explorer, crear tablas con CREATE TABLE, insertar rows y consultar como en cualquier SQL Server.
💻
7. Query experience: web editor y external tools
Web editor en el portal
Fabric provee un editor T-SQL web-based integrado, con IntelliSense, syntax highlighting, Copilot integrado y result viewer (Text, Grid, File).
Open in
Botón Open in que lanza tools externos con las connection properties ya rellenadas: Visual Studio Code y SQL Server Management Studio. Facilita empezar a trabajar inmediatamente en tu tool preferido.
Query tools soportados
Cualquier tool que soporte el protocolo TDS (Tabular Data Stream): SSMS, Azure Data Studio, VS Code + MSSQL extension, SQLCMD, apps .NET con SqlClient, Python con pyodbc, Node.js con mssql, etc.
Templates en el web editor
En el tile T-SQL hay un Templates dropdown con snippets para CREATE TABLE, CREATE VIEW, queries comunes, templates de stored procedures y más. Muy útil para aprender sintaxis o empezar rápido.
🔀
8. Source control integration
Feature
El source control es esencial para gestionar SQL databases en Fabric. Permite:
✅ Trackear cambios.
✅ Colaborar con el equipo.
✅ Mantener el histórico de modificaciones.
✅ Revertir cambios si lo necesitas.
Cómo funciona
Workflow familiar para quien ya use source control:
A) Commit to source control: puedes commitear database objects a source control. Convierte la live database en código: lee las object definitions desde la DB y las escribe al repositorio.
B) Update from source control: actualiza los database objects desde el contenido del source control. El código se valida antes de aplicar el cambio diferencial a la DB.
C) History tracking: los usuarios pueden ver el histórico de los database objects, con un registro claro de cambios que facilita la colaboración.
Diferencia con Warehouse
El source control de SQL Database es más maduro y granular que en otros items: enfocado en schema objects (tables, views, procs, functions), con histórico completo de cambios DDL. Perfecto para schema management en dev/test/prod.
Sistemas soportados
Azure DevOps (Git repos).
GitHub.
📊
9. Performance dashboard
¿Qué es?
El Performance Dashboard de Fabric SQL Database simplifica la experiencia de usuario eliminando las complejidades de monitorización y operación. Permite aprovechar plenamente las capacidades del SQL database engine, cubriendo distintos workloads.
Niveles de visibility
Ofrece distintos niveles de visibilidad de métricas para acomodar a usuarios con diferente expertise en SQL: principiantes con métricas básicas de query performance, e intermedios/avanzados con información más detallada.
Cómo acceder
Dos formas:
A) Right-click en la item view → botón de contexto (tres puntos) → Open performance summary.
B) Query Editor → home toolbar → Performance summary.
Qué muestra
Query performance metrics.
Long-running queries.
Tendencias de uso de recursos.
Detección de bottlenecks.
Alertas para issues.
Uso típico
Debug de queries lentas, optimización de workloads, detección temprana de bottlenecks y asegurar una experiencia de usuario intuitiva y eficiente.
Automatic tuning es una capability integrada que aplica machine learning para optimizar la performance de tus queries. Automáticamente identifica oportunidades de tuning y las implementa para mejorar la eficiencia de la base de datos. Sin intervención manual. Es la parte "autónoma" del SaaS.
Automatic indexing
En Fabric SQL Database, los índices se gestionan dinámicamente:
Crea índices que mejoran la query performance.
Elimina índices que ya no se usan.
Revierte índices si su creación causó regresiones.
Todo automáticamente, basándose en los patrones de workload observados.
Monitorizar el automatic indexing
En el performance dashboard, tab Automatic index:
Gráfico mostrando el número de índices creados, eliminados y revertidos a lo largo del tiempo.
Tabla listando los índices creados por la herramienta: schema name, table name, index name, status, key columns, included columns, creation date y drop date (si aplica).
Beneficio
🎯 Mejor query performance sin tuning manual.
💰 Menos tiempo de DBA dedicado a indexing.
🧠 Decisiones ML-driven, más inteligentes que el tuning humano en muchos casos.
🔄 Se adapta continuamente a los cambios de workload.
Cuándo aún necesitas DBA
Diseño de schema, business logic, índices complejos específicos que el ML no considera, indexing por compliance y optimización cross-database. Pero para el día a día, las autonomous features cubren el 80% de los casos.
🔐
11. Seguridad: workspace roles, item permissions
La seguridad de Fabric SQL Database opera en múltiples niveles, igual que en el Warehouse.
Workspace roles
Primera capa de access control. Los roles familiares:
Admin: full control.
Member: gestión sin borrar el workspace.
Contributor: crear/editar items.
Viewer: read-only en el workspace.
Asigna a los usuarios el rol apropiado según el nivel de acceso necesario.
Item permissions
Las databases individuales pueden tener item permissions asignadas directamente. La intención principal: facilitar el sharing de la SQL database para uso downstream.
Cómo revisarlas: navegar al item en el workspace y seleccionar la quick action Manage permissions. Puedes ver los permisos de la SQL database, de su SQL analytics endpoint y de su default semantic model.
⚠️ Nota crítica sobre item permissions:"Granting item permissions has NO IMPACT on the security metadata INSIDE the database." Traducción: si le das a alguien "Read" en la SQL database vía item permissions, eso no significa que pueda ver todas las tablas. Las T-SQL security policies dentro de la DB siguen aplicando. Los item permissions dan acceso al contenedor; la T-SQL security da acceso al contenido. Cae en el examen este matiz.
Las dos capas trabajando juntas
Necesitas AMBAS para acceso completo:
Item permissions: para conectarte a la DB.
T-SQL security (roles, permissions): para hacer operaciones dentro.
Sin item permission → no conectas. Sin T-SQL permission → conectas pero no puedes hacer nada.
🛡️
12. T-SQL security: OLS, RLS, CLS, DDM
Igual que en el Warehouse, SQL Database soporta seguridad T-SQL granular.
Los 4 mecanismos (repaso)
A) Object-Level Security (OLS): controla el acceso a database objects específicos (tables, views, procedures). GRANT/DENY a nivel object.
B) Row-Level Security (RLS): restringe las rows visibles por usuario, con WHERE clause predicates.
C) Column-Level Security (CLS): restringe las columns visibles, con DENY SELECT ON table (column) TO user.
D) Dynamic Data Masking (DDM): enmascara data sensible en la visualización. La data no cambia, solo se enmascara al presentarla.
-- Create role
CREATE ROLE ReadOnlyRole;
-- Grant permissions al role
GRANT SELECT ON SCHEMA::SalesLT TO ReadOnlyRole;
-- Add member al role
ALTER ROLE ReadOnlyRole ADD MEMBER [user@company.com];
-- Row-level security policy
CREATE FUNCTION security.fn_regionAccess(@region NVARCHAR(50))
RETURNS TABLE
WITH SCHEMABINDING
AS
RETURN SELECT 1 AS fn_result
WHERE @region = USER_NAME();
CREATE SECURITY POLICY SalesRegionFilter
ADD FILTER PREDICATE security.fn_regionAccess(Region) ON dbo.Sales
WITH (STATE = ON);
-- Column-level security
DENY SELECT ON dbo.Employee (Salary) TO AnalystRole;
-- Dynamic Data Masking
ALTER TABLE dbo.Customer
ALTER COLUMN Email ADD MASKED WITH (FUNCTION = 'email()');
Aplica también al SQL analytics endpoint
Las security policies aplican independientemente del punto de acceso: conexión SQL directa, SQL analytics endpoint, Power BI, Copilot y notebooks. Esto garantiza una experiencia fluida y segura sin cambios en las aplicaciones existentes.
🤖
13. Copilot para SQL Database
Integración completa
Microsoft Copilot está integrado con SQL database en Fabric: mejora la gestión y el troubleshooting de SQL, aumenta la productividad y ofrece self-help a los usuarios.
Las 4 features principales
A) Natural Language to SQL ⭐
Traduce queries en lenguaje natural a SQL dentro del query editor.
Schema-aware: conoce la estructura de tu DB.
Interacciones más intuitivas.
Ejemplos que puedes preguntar:
"Which employees have completed more than two projects this quarter?"
"List all products that were out of stock last month."
"Provide the rank of each department by employee satisfaction score."
"Create a primary key constraint named PK_Product_ProductID to the column ProductID in the table Product."
B) Chat pane 💬: chat interactivo con Copilot para hacer preguntas y generar queries.
C) Code completion ⌨️: sugerencias automáticas mientras escribes T-SQL, como un IntelliSense inteligente.
D) Quick actions: Explain (entender qué hace una query existente) y Fix (corregir errores en queries), como botones en la toolbar del query editor.
Cómo acceder
En el Fabric portal: abre tu SQL database, selecciona el botón Copilot en el ribbon → chat pane. O usa los quick action buttons Explain y Fix en la toolbar del query editor.
Auto-correct de errores T-SQL
Feature poderosa: Copilot puede corregir automáticamente errores de código T-SQL según ocurren. Compartiendo contexto con la active query tab, Copilot ofrece sugerencias útiles para arreglar errores de SQL sin fricción.
⚠️ Privacy note MUY IMPORTANTE para el examen:"Copilot for SQL database does NOT use data in tables to generate T-SQL suggestions." Solo usa schema information (nombres de tablas, columnas, relationships, descriptions). Nunca lee los datos reales. Esto es crítico para compliance y privacidad.
Beneficio principal
Copilot mejora el troubleshooting: detecta errores, explica queries complejas, sugiere correcciones y reduce la curva de aprendizaje de T-SQL. Ideal para citizen developers o equipos cross-funcionales.
🌊
14. Mirroring automático a OneLake (CRÍTICO)
Esta es la feature MÁS distintiva de SQL Database en Fabric. Súper examinable 💕
La feature en una frase
SQL Database en Fabric se auto-mirrorea a OneLake en near real-time, convirtiendo automáticamente los datos a formato Delta Parquet.
Por qué es tan importante
Elimina la necesidad de procesos ETL complejos para llevar la data OLTP al analytics stack.
Antes (con Azure SQL Database tradicional):
Azure SQL DB → Data Factory pipeline → Storage → Lakehouse
(horas de setup + mantenimiento)
Ahora (con Fabric SQL Database):
Fabric SQL DB → [auto-mirror] → OneLake (Delta)
(transparente, sin setup)
Beneficios
⚡ Near real-time replication (segundos-minutos de lag).
🚫 No manual ETL requerido.
💰 Reduce el Total Cost of Ownership.
🎯 Acelera el time-to-insight.
🌊 Data siempre disponible en OneLake para analytics.
🔗 Desbloquea escenarios de BI, AI, data engineering, data science y data sharing.
Consumers del mirror
Una vez la data está en OneLake, muchos workloads de Fabric pueden consumirla:
Spark notebooks para analytics batch.
Power BI con Direct Lake mode.
Warehouse queries con cross-database queries.
Lakehouse con shortcuts.
Data agents (Fabric IQ).
Notebooks Python con Semantic Link.
Tipos de mirroring en Fabric
Fabric soporta mirroring de múltiples sources:
SQL Database en Fabric (esta): automático, siempre activo.
Azure SQL Database (external): setup manual del mirror.
Azure Cosmos DB: setup manual.
Snowflake: setup manual.
Otras (la lista sigue creciendo).
Todos siguen el mismo patrón: replicación near real-time a OneLake sin ETL manual.
Monitorizar el estado del mirroring
Cómo: seleccionar Monitor replication desde el tab Replication. Muestra el estado de replicación por tabla, el lag time, los errores si los hay y el volumen replicado.
Si no hay updates en las source tables, el engine hace back off y reanuda el polling regular tras detectar data actualizada.
⚠️ Ojo cosita con la diferencia: SQL Database en Fabric (native): mirror automático desde el momento uno, no requiere configuración, es intrínseco al producto.
Azure SQL Database mirror (external): configurable como item Mirrored database separado, requiere setup manual de conexión y credenciales y configuración de las tablas a mirrorear. Mismo patrón, pero explícito.
📊
15. SQL analytics endpoint del mirror
Auto-generated
Cuando tienes una SQL Database en Fabric, se genera automáticamente un SQL analytics endpoint que apunta a la mirrored data en OneLake.
Uso típico
Ejecutar queries analíticas sobre la mirrored data: sin impactar el workload OLTP de la SQL Database original, con optimizaciones analíticas (el column-store del Delta) y compatible con analytics tools.
Similitud con Lakehouse
Muy parecido al SQL analytics endpoint del Lakehouse: read-only, queries y views T-SQL, puede tener stored procedures y es consumible desde Power BI.
📌 Best practice para analytics: el OLTP transaccional va directo a la SQL Database, y las analytics queries al SQL analytics endpoint del mirror. Así no compites por recursos entre OLTP y OLAP.
Semantic model automático
También se puede crear (o se genera automáticamente en algunos casos) un default semantic model sobre el SQL analytics endpoint. Ideal para reports de Power BI en Direct Lake.
🌐
16. Data virtualization con external tables
¿Qué es?
Data virtualization en SQL Database en Fabric = capacidad de acceder y manipular data de distintas sources SIN mover ni copiar la data. Provee una vista unificada de los datos, permitiendo integración y análisis fluidos entre plataformas.
Casos de uso
Consultar directamente tablas Parquet, CSV y Delta disponibles en Lakehouses de Fabric, en OneLake (cualquier folder) o en storage externo con credenciales.
Los 4 building blocks
Para montar data virtualization necesitas 4 componentes T-SQL:
A) Database Scoped Credential — credenciales para acceder a las external data sources de forma segura.
CREATE DATABASE SCOPED CREDENTIAL MyCredential
WITH IDENTITY = 'USER IDENTITY';
B) External Data Source — define las external data sources, como ficheros en OneLake.
CREATE EXTERNAL DATA SOURCE MyOneLakeDS
WITH (
LOCATION = 'abfss://aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb@<onelake_account>.dfs.fabric.microsoft.com/bbbbbbbb-1111-2222-3333-cccccccccccc/Files/parquet/'
);
C) External File Format — especifica el formato de los ficheros externos: Parquet, CSV, Delta.
CREATE EXTERNAL FILE FORMAT MyFileFormat
WITH (
FORMAT_TYPE = DELIMITEDTEXT,
FORMAT_OPTIONS (
FIELD_TERMINATOR = ',',
STRING_DELIMITER = '"'
)
);
D) External Table — crea tablas que referencian data almacenada fuera de la SQL database.
Una vez creada la external table, la consultas como si fuera una tabla normal:
SELECT * FROM MyExternalTable WHERE Column1 > 100;
Fabric traduce esto a: leer del fichero externo, aplicar el filtro y devolver resultados. Todo transparente.
Beneficios
✅ No data movement: los datos siguen en su source.
✅ Real-time: siempre lees los últimos datos.
✅ Unified queries: joins entre tablas locales y externas.
✅ Ahorro de storage: no duplicas data.
✅ Flexibilidad de formato: Parquet, CSV, Delta.
Casos de uso reales
Escenario 1: enriquecer datos OLTP con big data.
-- Tu SQL Database tiene customer master data
-- El Lakehouse tiene web logs enriched
SELECT
c.customer_id,
c.name,
l.total_pageviews
FROM dbo.Customers c
INNER JOIN LakehouseLogs l ON c.customer_id = l.user_id;
Escenario 2: reporting mixto — live OLTP data (SQL Database) e historical archived data (Lakehouse Delta), con un solo query que combina ambos.
🔗
17. Cross-database queries
Feature
SQL Database en Fabric soporta cross-database queries dentro del mismo workspace. Sintaxis: three-part namingdatabase.schema.table.
Ejemplo
SELECT
s.OrderID,
s.Total,
c.CustomerName
FROM Sales_DB.dbo.Orders s
INNER JOIN Customer_DB.dbo.Customers c
ON s.CustomerID = c.CustomerID;
La query cruza dos SQL databases distintas en el mismo workspace.
También cross-item type
Puedes hacer cross-query entre distintos tipos de items: SQL Database ↔ Warehouse, y SQL Database ↔ SQL analytics endpoint de Lakehouse. Todo con three-part naming siempre que estén en el mismo workspace.
Limitaciones
Solo mismo workspace (cross-workspace requiere shortcuts).
Read-only en el remote (típicamente).
🎨
18. Integración con el ecosistema Fabric
SQL Database es un first-class citizen
SQL Database en Fabric está integrado nativamente con todo el ecosistema:
Data ingestion: los pipelines pueden usar SQL Database como source/destination, y los Dataflows Gen2 igual.
Analytics downstream: el mirror automático a OneLake habilita Power BI Direct Lake, notebooks y warehouse queries.
Governance: integración con Purview, soporte de sensitivity labels y endorsement (Promoted, Certified).
Copilot: Copilot for SQL Database integrado en el editor, y Fabric IQ puede consultar la SQL Database para analytics con IA.
DevOps: Git integration para source control y deployment pipelines para dev → test → prod.
GraphQL API integration
SQL Database en Fabric puede exponerse como GraphQL API usando API for GraphQL (item de Fabric): una data API moderna para aplicaciones, consumible desde web apps, mobile apps y servicios. Lo vemos en el Módulo 13: GraphQL en Fabric.
🎯
19. Casos de uso: cuándo elegir SQL Database
Casos ideales
A) Apps transaccionales que viven dentro del ecosistema Fabric: apps customer-facing que necesitan OLTP, backend de aplicaciones internas, order management, booking systems.
B) Aplicaciones que necesitan tanto OLTP como analytics: el auto-mirror elimina la necesidad de dos productos; un solo item soluciona ambos casos.
C) Prototipos y proyectos rápidos: SaaS = zero setup, sample data listo, Copilot para acelerar el desarrollo.
D) Equipos sin DBAs dedicados: las autonomous features gestionan el tuning y el indexing, con menos carga de mantenimiento.
E) Modern app development: combinación con GraphQL API, integración con AI/Copilot e integración directa con Power BI para reports operacionales.
Cuándo NO usar SQL Database
A) Big data analytics puro → mejor Warehouse o Lakehouse.
B) Data science con ML → mejor Lakehouse con Spark.
E) On-prem workloads → seguir con SQL Server / Azure SQL Managed Instance.
🎯 Elección práctica. Pregúntate:
¿Es un OLTP workload con muchas transacciones concurrentes? → SQL Database
¿Es analytics BI con star schema? → Warehouse
¿Es big data con Spark/notebooks? → Lakehouse
¿Es streaming en tiempo real? → Eventhouse
Y no olvides que pueden coexistir en el mismo workspace.
⚠️
20. Trampas típicas y confusiones frecuentes
Trampa 1: "SQL Database en Fabric = Azure SQL Database"
❌ Diferentes: Fabric SQL DB es SaaS, Azure SQL DB es PaaS. Mismo engine pero distinta gestión.
Trampa 2: "SQL Database es un data warehouse"
❌ NO. SQL Database es OLTP (transaccional). El Warehouse es OLAP (analítico).
Trampa 3: "Necesito hacer setup del mirroring"
❌ El mirror a OneLake es automático desde el momento cero en SQL Database en Fabric. No requiere configuración.
Trampa 4: "Los item permissions dan acceso a los datos"
❌ Los item permissions solo permiten conectar. Las T-SQL security policies dentro de la DB deciden qué puedes ver.
Trampa 5: "Automatic indexing requiere configuración manual"
❌ Es automático por defecto. Puedes monitorizarlo pero no hace falta configurarlo.
Trampa 6: "Copilot usa mis datos para generar SQL"
❌ NO. Copilot solo usa schema information (nombres de tablas/columnas), NUNCA los datos reales de las tablas.
Trampa 7: "El mirror es real-time exactamente"
❌ Es near real-time. Hay latencia de segundos-minutos según el workload.
Trampa 8: "Las external tables copian los datos"
❌ Solo referencian. Data virtualization = NO data movement.
Trampa 9: "Puedo hacer INSERT en el SQL analytics endpoint del mirror"
❌ Read-only. Los writes van a la SQL Database original, que luego se mirrorea.
Trampa 10: "Las cross-database queries funcionan cross-workspace"
❌ Solo mismo workspace. Cross-workspace requiere shortcuts.
Trampa 11: "SQL Database y Warehouse son intercambiables"
❌ Propósitos muy distintos: OLTP vs OLAP. Elegir según workload.
Trampa 12: "Las autonomous features me libran de TODO trabajo DBA"
❌ Automatic tuning e indexing cubren el 80%. Aún necesitas diseño de schema, business logic y decisiones de compliance.
Trampa 13: "SQL Database solo se conecta desde el web editor"
❌ Cualquier tool con protocolo TDS: SSMS, ADS, VS Code, apps custom.
Trampa 14: "El Performance dashboard requiere Copilot"
❌ Son features independientes. El Performance dashboard funciona sin Copilot.
Trampa 15: "El source control es opcional y raramente útil"
✅ Es una best practice fuerte — para trackear cambios de schema y colaborar.
Trampa 16: "El mirror del SQL Database va a un Lakehouse"
❌ Va directamente a OneLake como ficheros Delta. Distintos workloads de Fabric pueden consumirlos.
Trampa 17: "SQL Database y SQL analytics endpoint son lo mismo"
❌ SQL Database = OLTP writable. SQL analytics endpoint = read-only sobre el mirror en OneLake.
🆚
21. Comparativas clave (chuleta)
SQL Database vs Warehouse vs Lakehouse
SQL Database
Warehouse
Lakehouse
Workload
OLTP
OLAP
Mixed
Storage
Row-store
Column-store Delta
Delta files
Writes
✅ High throughput
✅ (bulk)
Vía Spark
Reads latency
Milisegundos
Segundos
Segundos
Concurrency writes
Alta
Moderada
Baja
Big data
No
✅
✅
Spark support
Vía mirror
Vía OneLake
✅ Native
Auto-mirror OneLake
✅
Native
Native
Best for
Apps transaccionales
BI Analytics
Big data + ML
SaaS vs PaaS (Fabric SQL DB vs Azure SQL DB)
Fabric SQL DB (SaaS)
Azure SQL DB (PaaS)
Infra mgmt
Microsoft
Microsoft
DB mgmt
Microsoft (automatic)
Tú
Tuning
Automatic
Manual/tools
Indexing
Automatic
Manual
Backup
Automatic
Configuras
Auto-mirror OneLake
✅
❌
Fabric integration
✅ Native
Manual
Copilot integration
✅ Native
Vía Azure
Mirror pattern
Source
Mirror setup
SQL Database en Fabric
⭐ Automatic (desde su creación)
Azure SQL Database
Manual (crear item Mirrored database)
Cosmos DB
Manual
Snowflake
Manual
Copilot capabilities
Feature
Función
Natural Language to SQL
Traduce NL a T-SQL
Chat pane
Q&A interactivo
Code completion
Sugerencias mientras escribes
Explain
Entender queries existentes
Fix
Corregir errores
Auto-correct
Errores corregidos sin fricción
⚠️ NO usa data de las tablas para las sugerencias.
T-SQL security en SQL Database (igual que Warehouse)