{"id":6754,"date":"2026-07-12T02:06:37","date_gmt":"2026-07-12T10:06:37","guid":{"rendered":"https:\/\/www.gudusoft.com\/sql-server-data-lineage\/"},"modified":"2026-07-12T02:06:37","modified_gmt":"2026-07-12T10:06:37","slug":"sql-server-data-lineage","status":"publish","type":"page","link":"https:\/\/www.gudusoft.com\/es\/linaje-de-datos-de-sql-server\/","title":{"rendered":"Linaje de datos de SQL Server: T-SQL, procedimientos almacenados y SQL din\u00e1mico"},"content":{"rendered":"<p><strong>Linaje de datos de SQL Server<\/strong> es el mapa a nivel de columna de c\u00f3mo se mueven los datos a trav\u00e9s de su c\u00f3digo T-SQL: qu\u00e9 columnas de origen alimentan cada tabla, vista o informe de destino, y qu\u00e9 sucede en el camino dentro de los procedimientos almacenados, tablas temporales, <code>UNIR<\/code> declaraciones y SQL din\u00e1mico. <a href=\"https:\/\/www.gudusoft.com\/es\/herramienta-de-linaje-de-datos-sql\/\">Flujo de SQL de Gudu<\/a> Este sistema crea autom\u00e1ticamente ese mapa analizando el c\u00f3digo T-SQL con un analizador de procedimientos de SQL Server espec\u00edfico, por lo que el linaje no se detiene en el nivel de objeto como lo hacen las vistas de dependencia de SSMS.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#eef7fb;padding-top:24px;padding-bottom:24px\"><div class=\"wp-block-group__inner-container\">\n\n<p><strong>Pru\u00e9balo ahora:<\/strong> pegar un procedimiento almacenado T-SQL en el <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=sql-server-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Visualizador de linaje de SQL Server gratuito<\/a> y obtenga un diagrama de linaje a nivel de columna en segundos.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Por qu\u00e9 el linaje de datos de SQL Server es m\u00e1s dif\u00edcil de lo que parece<\/h2>\n\n\n\n<p>En la mayor\u00eda de los entornos de SQL Server, la l\u00f3gica de transformaci\u00f3n que realmente importa no reside en vistas ordenadas. Reside en procedimientos almacenados que preparan los datos mediante... <code>#temp<\/code> tablas, insertar o actualizar en tablas de hechos con <code>UNIR<\/code>, ramificar en funci\u00f3n de los par\u00e1metros y ensamblar cadenas SQL en tiempo de ejecuci\u00f3n con <code>sp_executesql<\/code> o <code>EJECUTIVO<\/code>Cualquier enfoque de linaje que solo lea las definiciones de objetos del cat\u00e1logo ve el procedimiento como una caja negra: sabe que el procedimiento existe, pero no qu\u00e9 columnas lo atraviesan.<\/p>\n\n\n\n<p>Para obtener informaci\u00f3n precisa sobre el linaje de ese c\u00f3digo, es necesario analizar T-SQL como lo hace el motor de la base de datos: creando un modelo sem\u00e1ntico de cada instrucci\u00f3n en el cuerpo del procedimiento, rastreando las columnas a medida que pasan por tablas temporales y variables de tabla, y resolviendo el SQL oculto dentro de las variables de cadena. Este es un problema del compilador, no de la consulta de metadatos, y es precisamente para lo que est\u00e1 dise\u00f1ado el analizador T-SQL de SQLFlow.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 pueden y qu\u00e9 no pueden decirle las vistas de dependencia de SSMS.<\/h2>\n\n\n\n<p>SQL Server incluye herramientas \u00fatiles para la gesti\u00f3n de dependencias, y es el punto de partida ideal para consultas r\u00e1pidas a nivel de objeto. <code>dependencias_de_expresiones_sql del sistema<\/code>, <code>sys.dm_sql_referenced_entities<\/code>y el cuadro de di\u00e1logo &quot;Ver dependencias&quot; en SSMS le indica de manera confiable que el procedimiento A hace referencia a la tabla B. Lo que no pueden decirle:<\/p>\n\n\n\n<ul><li><strong>Flujo a nivel de columna.<\/strong> Las dependencias del cat\u00e1logo se detienen en el nivel del objeto. Muestran que <code>usp_load_fact_sales<\/code> toques <code>puesta en escena.ventas<\/code> y <code>dw.fact_sales<\/code>pero no eso <code>fact_sales.amount<\/code> se deriva de <code>monto de ventas de puesta en escena<\/code> a trav\u00e9s de un <code>ELENCO<\/code> mientras <code>fecha_de_carga_ventas_de_etapa<\/code> Solo filtra filas.<\/li>\n<li><strong>Direcci\u00f3n del flujo.<\/strong> Una referencia no es un flujo de datos. Leer de una tabla y escribir en ella produce la misma fila de dependencia; el linaje necesita saber cu\u00e1l es el origen y cu\u00e1l es el destino.<\/li>\n<li><strong>SQL din\u00e1mico.<\/strong> Las declaraciones se construyen en una cadena y se ejecutan a trav\u00e9s de ella. <code>sp_executesql<\/code> o <code>EJECUTIVO<\/code> Son completamente invisibles para el cat\u00e1logo de dependencias, porque no existen hasta el tiempo de ejecuci\u00f3n.<\/li>\n<li><strong>Cambios en la mesa de temperatura.<\/strong> <code>#temp<\/code> mesas viven en <code>base de datos de temperatura<\/code> y no se registran como puntos finales de dependencia, por lo que cualquier linaje que pase por uno se divide por la mitad.<\/li><\/ul>\n\n\n\n<p>Para responder a preguntas como &quot;\u00bfqu\u00e9 falla si modifico esta columna?&quot; o &quot;\u00bfqu\u00e9 campos de origen alimentan este informe regulado?&quot;, es necesario analizar los propios cuerpos T-SQL. Esa es la capa que SQLFlow a\u00f1ade sobre la informaci\u00f3n que ya proporciona el cat\u00e1logo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo SQLFlow rastrea el linaje a trav\u00e9s de los procedimientos T-SQL<\/h2>\n\n\n\n<p>SQLFlow est\u00e1 construido sobre la base de <a href=\"https:\/\/www.sqlparser.com\/\">Analizador SQL general (GSP)<\/a>SQLFlow es un compilador SQL comercial desarrollado desde mediados de la d\u00e9cada de 2000 y validado con aproximadamente 13.600 conjuntos de pruebas SQL por dialecto. Su compatibilidad con SQL Server se basa en una gram\u00e1tica T-SQL espec\u00edfica, no en un analizador ANSI gen\u00e9rico con excepciones a\u00f1adidas, e incluye un analizador procedimental completo para los cuerpos de los procedimientos almacenados. Dentro de un procedimiento, SQLFlow resuelve:<\/p>\n\n\n\n<ul><li><strong>Tablas temporales y variables de tabla.<\/strong> Las columnas se rastrean a trav\u00e9s de <code>SELECCIONAR ... EN #staging<\/code>, <code>INSERTAR EN @rows<\/code>y cada lectura posterior, por lo que se requiere una tuber\u00eda de tres saltos a trav\u00e9s de <code>base de datos de temperatura<\/code> aparece como una ruta de linaje continua.<\/li>\n<li><strong><code>UNIR<\/code> declaraciones.<\/strong> Cada <code>CUANDO COINCIDA, ACTUALIZAR<\/code> y <code>CUANDO NO COINCIDA, INSERTAR<\/code> Se analiza la rama, asignando las columnas de origen a las columnas de destino y tratando la <code>EN<\/code> condici\u00f3n como linaje indirecto.<\/li>\n<li><strong>SQL din\u00e1mico.<\/strong> SQL ensamblado en variables y ejecutado a trav\u00e9s de <code>sp_executesql<\/code> o <code>EJECUTIVO<\/code> se resuelve y se analiza en lugar de omitirse, uno de los puntos ciegos m\u00e1s comunes en las herramientas de linaje.<\/li>\n<li><strong>Par\u00e1metros del procedimiento.<\/strong> El linaje se transmite a trav\u00e9s de los valores de los par\u00e1metros a las instrucciones que los utilizan.<\/li>\n<li><strong>El gr\u00e1fico de llamadas.<\/strong> Cuando un procedimiento llama a otro, SQLFlow genera un gr\u00e1fico interactivo de llamadas entre procedimientos, de modo que se puede ver toda la cadena ETL, no un procedimiento a la vez.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Ejemplo pr\u00e1ctico: conversi\u00f3n de datos a tabla de hechos mediante MERGE.<\/h2>\n\n\n\n<p>Este es el tipo de procedimiento que contiene todo almac\u00e9n de datos de SQL Server: un procedimiento de carga que limpia las filas de almacenamiento temporal en una tabla temporal y luego las combina en una tabla de hechos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE PROCEDURE dbo.usp_load_fact_sales AS BEGIN SELECT s.order_id, s.customer_id, CAST(s.amount AS DECIMAL(18,2)) AS amount INTO #clean_sales FROM staging.sales s WHERE s.load_date = CAST(GETDATE() AS DATE); MERGE dw.fact_sales AS tgt USING #clean_sales AS src ON tgt.order_id = src.order_id WHEN MATCHED THEN UPDATE SET tgt.amount = src.amount WHEN NOT MATCHED THEN INSERT (order_id, customer_id, amount) VALUES (src.order_id, src.customer_id, src.amount); END<\/code><\/pre>\n\n\n\n<p>Ejecute esto a trav\u00e9s de SQLFlow y el diagrama muestra <code>dw.fact_sales.amount<\/code> alimentado por <code>monto de ventas de puesta en escena<\/code> a trav\u00e9s de un <code>ELENCO<\/code>, con <code>#clean_sales<\/code> visible como el salto intermedio. Tambi\u00e9n muestra dos relaciones que una consulta de cat\u00e1logo nunca puede producir: <code>fecha_de_carga_ventas_de_etapa<\/code> como linaje indirecto en cada columna de salida (decide qu\u00e9 filas se cargan) y <code>ID de pedido<\/code> haciendo doble funci\u00f3n: linaje directo en la clave insertada y linaje indirecto a trav\u00e9s de la <code>FUSIONAR ... EN<\/code> condici\u00f3n de coincidencia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Linaje directo frente a linaje indirecto en T-SQL<\/h2>\n\n\n\n<p>SQLFlow distingue <strong>linaje directo<\/strong> (el valor de una columna de origen se inserta en una columna de destino) desde <strong>linaje indirecto<\/strong> (una columna da forma al resultado a trav\u00e9s de una <code>D\u00d3NDE<\/code> cl\u00e1usula, <code>UNIRSE<\/code> o <code>FUSIONARSE EN<\/code> condici\u00f3n, <code>AGRUPACI\u00d3N POR<\/code>(o agregado). Ambos se pueden activar o desactivar por separado en el diagrama. Esto es m\u00e1s importante en T-SQL que en la mayor\u00eda de los dialectos, ya que los procedimientos de carga est\u00e1n llenos de columnas de filtro (fechas de lote, indicadores de estado, columnas de marca de agua) que nunca aparecen en la salida, pero que controlan silenciosamente los datos que llegan. La mayor\u00eda de las herramientas de linaje no modelan esta distinci\u00f3n en absoluto; para el an\u00e1lisis de impacto en un procedimiento de carga, a menudo es la mitad la que causa problemas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Obtenci\u00f3n del linaje de SQL Server: entradas e implementaci\u00f3n<\/h2>\n\n\n\n<p>Puedes alimentar SQLFlow con c\u00f3digo de SQL Server de varias maneras, dependiendo del grado de seguridad de tu entorno:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Aporte<\/th><th>C\u00f3mo funciona<\/th><th>Bueno para<\/th><\/tr><\/thead><tbody>\n<tr><td>Pegue o cargue el c\u00f3digo T-SQL.<\/td><td>Scripts, DDL y definiciones de procedimientos como archivos o texto pegado<\/td><td>An\u00e1lisis r\u00e1pido, revisi\u00f3n de c\u00f3digo, un procedimiento a la vez.<\/td><\/tr>\n<tr><td>Metadatos en tiempo real a trav\u00e9s de JDBC<\/td><td>SQLFlow extrae las definiciones de DDL, vistas y procedimientos de la instancia.<\/td><td>Linaje de toda la base de datos que se mantiene actualizado<\/td><\/tr>\n<tr><td>Extracci\u00f3n de metadatos de Grab<\/td><td>La utilidad de extracci\u00f3n sin conexi\u00f3n env\u00eda metadatos a SQLFlow.<\/td><td>Entornos donde el servidor de linaje no puede acceder a la base de datos.<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>En todos los casos el an\u00e1lisis es est\u00e1tico: SQLFlow lee el c\u00f3digo SQL y los metadatos del esquema, nunca las filas de sus tablas. Para entornos regulados, <a href=\"https:\/\/www.gudusoft.com\/es\/version-local-de-sqlflow\/\">SQLFlow local<\/a> runs on Docker or Kubernetes inside your network \u2014 air-gapped if required \u2014 so T-SQL source never leaves your infrastructure. Enterprise deployments batch-scan estates of 100+ databases and over a million columns with incremental scans, and export lineage to DataHub, Microsoft Purview, and OpenMetadata, so SQL Server lineage can flow into the catalog you already run. Pricing: the Cloud edition starts free ($49.99\/month premium); On-Premise is $500\/month or $4,800 one-time per database type \u2014 details on the <a href=\"https:\/\/www.gudusoft.com\/es\/precios\/\">p\u00e1gina de precios<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 hay de los analizadores sint\u00e1cticos y las plataformas de cat\u00e1logos de c\u00f3digo abierto?<\/h2>\n\n\n\n<p>Bibliotecas de c\u00f3digo abierto como <code>sqllineage<\/code> y <code>sqlglot<\/code> analizan bien las consultas individuales y, para las sentencias SELECT e INSERT simples, pueden ser todo lo que necesite. El c\u00f3digo procedimental T-SQL es donde se abre la brecha: cuerpos de procedimientos con flujo de control, <code>#temp<\/code> estado de la tabla en todas las declaraciones, <code>UNIR<\/code> El an\u00e1lisis de ramas y la resoluci\u00f3n din\u00e1mica de SQL son tareas complejas de ingenier\u00eda de analizadores sint\u00e1cticos que las herramientas gen\u00e9ricas omiten. Las plataformas basadas en cat\u00e1logos son excelentes para organizar metadatos en m\u00faltiples sistemas; para el linaje de columnas mediante la l\u00f3gica de procedimientos almacenados, generalmente requieren un motor de an\u00e1lisis sint\u00e1ctico subyacente, que es la funci\u00f3n que desempe\u00f1a SQLFlow, ya sea de forma independiente o como fuente de linaje para dichas plataformas. La prueba definitiva: tome su procedimiento de producci\u00f3n m\u00e1s largo y ejec\u00fatelo con cada uno de los candidatos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Gu\u00edas de linaje relacionadas<\/h2>\n\n\n\n<ul><li><a href=\"https:\/\/www.gudusoft.com\/es\/linaje-de-datos-de-azure-sql\/\">Linaje de datos de Azure SQL<\/a> \u2014 El mismo an\u00e1lisis T-SQL aplicado a Azure SQL Database y Managed Instance.<\/li>\n<li><a href=\"https:\/\/www.gudusoft.com\/es\/herramienta-de-linaje-de-datos-de-oracle\/\">Herramienta de linaje de datos de Oracle<\/a> \u2014 Linaje de procedimientos PL\/SQL, el equivalente en Oracle a esta p\u00e1gina.<\/li>\n<li><a href=\"https:\/\/www.gudusoft.com\/es\/herramienta-de-linaje-de-datos-sql\/\">Descripci\u00f3n general de la herramienta de linaje de datos SQL<\/a> \u2014 c\u00f3mo funciona SQLFlow en los 39 dialectos compatibles.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Preguntas frecuentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfPuede SQLFlow rastrear el linaje a trav\u00e9s del SQL din\u00e1mico de SQL Server?<\/h3>\n\n\n<p>S\u00ed. SQL ensamblado en variables de cadena y ejecutado con <code>sp_executesql<\/code> o <code>EJECUTIVO<\/code> Se resuelve y analiza dentro del an\u00e1lisis del procedimiento, por lo que las tablas y columnas que toca aparecen en el gr\u00e1fico de linaje. Las vistas de dependencia basadas en cat\u00e1logo no pueden ver SQL din\u00e1mico en absoluto.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfSQLFlow admite tablas y variables de tabla #temp?<\/h3>\n\n\n<p>S\u00ed. Las columnas se rastrean a trav\u00e9s de <code>#temp<\/code> tablas y variables de tabla en todas las sentencias, por lo que una canalizaci\u00f3n que prepara los datos en <code>base de datos de temperatura<\/code> Se muestra como una ruta continua a nivel de columna desde la tabla de origen hasta el destino final.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfEn qu\u00e9 se diferencia esto de las dependencias de vista en SSMS?<\/h3>\n\n\n<p>Las vistas de dependencia de SSMS informan referencias a nivel de objeto: el procedimiento A menciona la tabla B. SQLFlow analiza los cuerpos T-SQL e informa el flujo de datos a nivel de columna con direcci\u00f3n: qu\u00e9 columnas de origen alimentan qu\u00e9 columnas de destino, a trav\u00e9s de qu\u00e9 transformaciones, incluidos los flujos a trav\u00e9s de tablas temporales, <code>UNIR<\/code>y SQL din\u00e1mico que el cat\u00e1logo no rastrea.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfSQLFlow necesita acceso a mis datos de SQL Server?<\/h3>\n\n\n<p>No. SQLFlow realiza un an\u00e1lisis est\u00e1tico del c\u00f3digo SQL y, opcionalmente, lee los metadatos del esquema, como las definiciones de tablas y procedimientos. Nunca lee los datos de las filas de las tablas, y la edici\u00f3n local mantiene el texto SQL dentro de su red.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfPuedo ver qu\u00e9 procedimientos almacenados llaman a cu\u00e1les?<\/h3>\n\n\n<p>S\u00ed. SQLFlow genera un gr\u00e1fico de llamadas interactivo que muestra las invocaciones de procedimiento a procedimiento junto con el linaje de columnas, lo que permite navegar por una cadena ETL de m\u00faltiples procedimientos de principio a fin.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfExiste alguna forma gratuita de probar SQL Server LineageOS?<\/h3>\n\n\n<p>S\u00ed. <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=sql-server-data-lineage\">Nube SQLFlow<\/a> Cuenta con una versi\u00f3n gratuita: pega el c\u00f3digo T-SQL en el navegador y obt\u00e9n un diagrama de linaje a nivel de columna. La versi\u00f3n Premium cuesta $49.99\/mes e incluye entradas m\u00e1s grandes y acceso a la API.<\/p>\n\n\n\n<div class=\"wp-block-group alignfull has-background is-layout-constrained\" style=\"background-color:#60d5f6;padding-top:32px;padding-bottom:32px\"><div class=\"wp-block-group__inner-container\">\n\n<h2 class=\"wp-block-heading\">Mapea ahora el linaje de tu servidor SQL.<\/h2>\n\n\n<p>Pegue su procedimiento almacenado m\u00e1s complejo en el visualizador gratuito o p\u00f3ngase en contacto con nosotros para que analicemos toda su infraestructura de SQL Server.<\/p>\n\n\n<div class=\"wp-block-buttons is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=sql-server-data-lineage\" target=\"_blank\" rel=\"noreferrer noopener\">Prueba SQLFlow gratis<\/a><\/div>\n<\/div>\n\n\n<div class=\"wp-block-buttons is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.gudusoft.com\/es\/contacto\/\">Solicite una demostraci\u00f3n para empresas.<\/a><\/div>\n<\/div>\n\n<\/div><\/div>\n\n\n\n<script type=\"application\/ld+json\">{\n    \"@context\": \"https:\\\/\\\/schema.org\",\n    \"@graph\": [\n        {\n            \"@type\": \"SoftwareApplication\",\n            \"name\": \"Gudu SQLFlow\",\n            \"applicationCategory\": \"DeveloperApplication\",\n            \"applicationSubCategory\": \"SQL Server Data Lineage Tool\",\n            \"operatingSystem\": \"Web, Linux, Windows, macOS\",\n            \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/sql-server-data-lineage\\\/\",\n            \"description\": \"Automated SQL Server data lineage tool with a dedicated T-SQL procedural parser: column-level lineage through stored procedures, temp tables, MERGE, and dynamic SQL, plus a procedure call graph.\",\n            \"featureList\": \"T-SQL stored procedure lineage, dynamic SQL resolution (sp_executesql\\\/EXEC), temp table and table variable tracking, MERGE analysis, procedure call graph, direct vs indirect lineage, JDBC metadata import, DataHub\\\/Purview\\\/OpenMetadata export\",\n            \"softwareVersion\": \"8.2.3\",\n            \"offers\": [\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow Cloud Free\",\n                    \"price\": \"0\",\n                    \"priceCurrency\": \"USD\"\n                },\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow Cloud Premium\",\n                    \"price\": \"49.99\",\n                    \"priceCurrency\": \"USD\",\n                    \"priceSpecification\": {\n                        \"@type\": \"UnitPriceSpecification\",\n                        \"price\": \"49.99\",\n                        \"priceCurrency\": \"USD\",\n                        \"billingIncrement\": 1,\n                        \"unitText\": \"MONTH\"\n                    }\n                },\n                {\n                    \"@type\": \"Offer\",\n                    \"name\": \"SQLFlow On-Premise\",\n                    \"price\": \"4800\",\n                    \"priceCurrency\": \"USD\"\n                }\n            ],\n            \"publisher\": {\n                \"@type\": \"Organization\",\n                \"name\": \"Gudu Software\",\n                \"url\": \"https:\\\/\\\/www.gudusoft.com\\\/\"\n            }\n        },\n        {\n            \"@type\": \"FAQPage\",\n            \"mainEntity\": [\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can SQLFlow trace lineage through SQL Server dynamic SQL?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. SQL assembled in string variables and executed with sp_executesql or EXEC is resolved and parsed inside the procedure analysis, so the tables and columns it touches appear in the lineage graph. Catalog-based dependency views cannot see dynamic SQL at all.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does SQLFlow handle #temp tables and table variables?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. Columns are tracked through #temp tables and table variables across statements, so a pipeline that stages data in tempdb shows up as one continuous column-level path from source table to final target.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"How is this different from View Dependencies in SSMS?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"SSMS dependency views report object-level references: procedure A mentions table B. SQLFlow parses the T-SQL bodies and reports column-level dataflow with direction \\u2014 which source columns feed which target columns, through which transformations \\u2014 including flows through temp tables, MERGE, and dynamic SQL that the catalog does not track.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Does SQLFlow need access to my SQL Server data?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"No. SQLFlow performs static analysis of SQL code and optionally reads schema metadata such as table and procedure definitions. It never reads table row data, and the On-Premise edition keeps SQL text inside your network.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Can I see which stored procedures call which?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. SQLFlow renders an interactive call graph of procedure-to-procedure invocations alongside the column lineage, so you can navigate a multi-procedure ETL chain end to end.\"\n                    }\n                },\n                {\n                    \"@type\": \"Question\",\n                    \"name\": \"Is there a free way to try SQL Server lineage?\",\n                    \"acceptedAnswer\": {\n                        \"@type\": \"Answer\",\n                        \"text\": \"Yes. SQLFlow Cloud has a free tier: paste T-SQL in the browser and get a column-level lineage diagram. Premium is $49.99\\\/month for larger inputs and API access.\"\n                    }\n                }\n            ]\n        }\n    ]\n}<\/script>","protected":false},"excerpt":{"rendered":"<p>SQL Server data lineage is the column-level map of how data moves through your T-SQL code: which source columns feed each target table, view, or report, and what happens along the way inside stored procedures, temp tables, MERGE statements, and dynamic SQL. Gudu SQLFlow builds that map automatically by parsing T-SQL with a dedicated SQL Server procedural parser, so lineage does not stop at the object level the way SSMS dependency views do. Try it now: paste a T-SQL stored procedure into the free SQL Server lineage visualizer and get a column-level lineage diagram in seconds. Why SQL Server data\u2026<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":5}},"_links":{"self":[{"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/pages\/6754"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/comments?post=6754"}],"version-history":[{"count":0,"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/pages\/6754\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/es\/wp-json\/wp\/v2\/media?parent=6754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}