{"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\/pt\/linhagem-de-dados-do-servidor-sql\/","title":{"rendered":"Linhagem de dados do SQL Server: T-SQL, procedimentos armazenados e SQL din\u00e2mico"},"content":{"rendered":"<p><strong>linhagem de dados do SQL Server<\/strong> \u00e9 o mapa em n\u00edvel de coluna de como os dados se movem pelo seu c\u00f3digo T-SQL: quais colunas de origem alimentam cada tabela, visualiza\u00e7\u00e3o ou relat\u00f3rio de destino e o que acontece ao longo do caminho dentro de procedimentos armazenados, tabelas tempor\u00e1rias, <code>FUS\u00c3O<\/code> declara\u00e7\u00f5es e SQL din\u00e2mico. <a href=\"https:\/\/www.gudusoft.com\/pt\/ferramenta-de-linhagem-de-dados-sql\/\">Gudu SQLFlow<\/a> O SSMS cria esse mapa automaticamente analisando o T-SQL com um analisador procedural dedicado do SQL Server, de modo que a linhagem n\u00e3o para no n\u00edvel do objeto, como acontece com as visualiza\u00e7\u00f5es de depend\u00eancia do 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>Experimente agora:<\/strong> Cole um procedimento armazenado T-SQL no <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 linhagem SQL Server gratuito<\/a> e obtenha um diagrama de linhagem em n\u00edvel de coluna em segundos.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Por que a linhagem de dados do SQL Server \u00e9 mais dif\u00edcil do que parece<\/h2>\n\n\n\n<p>Na maioria dos ambientes SQL Server, a l\u00f3gica de transforma\u00e7\u00e3o que realmente importa n\u00e3o reside em views organizadas. Ela reside em stored procedures que preparam os dados para a transforma\u00e7\u00e3o. <code>#temp<\/code> tabelas, insira ou atualize em tabelas de fatos com <code>FUS\u00c3O<\/code>, ramificar com base em par\u00e2metros e montar strings SQL em tempo de execu\u00e7\u00e3o com <code>sp_executesql<\/code> ou <code>EXECUTIVO<\/code>Qualquer abordagem de linhagem que apenas leia as defini\u00e7\u00f5es de objetos do cat\u00e1logo v\u00ea o procedimento como uma caixa preta: sabe que o procedimento existe, mas n\u00e3o sabe quais colunas o atravessam.<\/p>\n\n\n\n<p>Para obter a linhagem real desse c\u00f3digo, \u00e9 necess\u00e1rio analisar o T-SQL da mesma forma que o mecanismo do banco de dados faz: construindo um modelo sem\u00e2ntico de cada instru\u00e7\u00e3o no corpo do procedimento, rastreando as colunas \u00e0 medida que passam por tabelas tempor\u00e1rias e vari\u00e1veis de tabela e resolvendo o SQL oculto dentro de vari\u00e1veis de string. Esse \u00e9 um problema do compilador, n\u00e3o um problema de consulta de metadados, e \u00e9 exatamente para isso que o analisador T-SQL do SQLFlow foi desenvolvido.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O que as visualiza\u00e7\u00f5es de depend\u00eancia do SSMS podem e n\u00e3o podem lhe dizer<\/h2>\n\n\n\n<p>O SQL Server oferece ferramentas \u00fateis para lidar com depend\u00eancias e \u00e9 o ponto de partida ideal para consultas r\u00e1pidas em n\u00edvel de objeto. <code>sys.sql_expression_dependencies<\/code>, <code>sys.dm_sql_referenced_entities<\/code>E a caixa de di\u00e1logo &quot;Exibir Depend\u00eancias&quot; no SSMS informa de forma confi\u00e1vel que o procedimento A faz refer\u00eancia \u00e0 tabela B. O que elas n\u00e3o podem informar:<\/p>\n\n\n\n<ul><li><strong>Fluxo ao n\u00edvel da coluna.<\/strong> As depend\u00eancias do cat\u00e1logo param no n\u00edvel do objeto. Elas mostram que <code>usp_load_fact_sales<\/code> toques <code>prepara\u00e7\u00e3o.vendas<\/code> e <code>dw.fact_sales<\/code>mas n\u00e3o isso <code>fact_sales.amount<\/code> \u00e9 derivado de <code>prepara\u00e7\u00e3o.vendas.quantidade<\/code> atrav\u00e9s de um <code>ELENCO<\/code> enquanto <code>staging.vendas.data de carregamento<\/code> filtra apenas linhas.<\/li>\n<li><strong>Dire\u00e7\u00e3o do fluxo.<\/strong> Uma refer\u00eancia n\u00e3o \u00e9 um fluxo de dados. Ler de uma tabela e escrever nela produzem a mesma linha de depend\u00eancia; a linhagem precisa saber qual \u00e9 a origem e qual \u00e9 o destino.<\/li>\n<li><strong>SQL din\u00e2mico.<\/strong> Instru\u00e7\u00f5es constru\u00eddas em uma string e executadas atrav\u00e9s de <code>sp_executesql<\/code> ou <code>EXECUTIVO<\/code> s\u00e3o completamente invis\u00edveis para o cat\u00e1logo de depend\u00eancias, pois n\u00e3o existem at\u00e9 o momento da execu\u00e7\u00e3o.<\/li>\n<li><strong>Temp table hops.<\/strong> <code>#temp<\/code> mesas vivem em <code>tempdb<\/code> e n\u00e3o s\u00e3o rastreados como pontos de extremidade de depend\u00eancia, portanto, qualquer linhagem que passe por um deles \u00e9 cortada pela metade.<\/li><\/ul>\n\n\n\n<p>Responder a perguntas como \u201co que acontece se eu digitar novamente esta coluna\u201d ou \u201cquais campos de origem alimentam este relat\u00f3rio regulamentado\u201d exige analisar os pr\u00f3prios corpos T-SQL. Essa \u00e9 a camada que o SQLFlow adiciona al\u00e9m do que o cat\u00e1logo j\u00e1 oferece.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Como o SQLFlow rastreia a linhagem atrav\u00e9s de procedimentos T-SQL<\/h2>\n\n\n\n<p>O SQLFlow \u00e9 constru\u00eddo sobre o <a href=\"https:\/\/www.sqlparser.com\/\">Analisador SQL Geral (GSP)<\/a>, um front-end comercial para compilador SQL desenvolvido desde meados dos anos 2000 e validado com aproximadamente 13.600 conjuntos de testes SQL por dialeto. Seu suporte ao SQL Server \u00e9 uma gram\u00e1tica T-SQL dedicada, n\u00e3o um analisador ANSI gen\u00e9rico com exce\u00e7\u00f5es adicionadas, e inclui um analisador procedural completo para corpos de procedimentos armazenados. Dentro de um procedimento, o SQLFlow resolve:<\/p>\n\n\n\n<ul><li><strong>Tabelas tempor\u00e1rias e vari\u00e1veis de tabela.<\/strong> As colunas s\u00e3o rastreadas atrav\u00e9s de <code>SELECIONE ... EM #staging<\/code>, <code>INSERIR EM @linhas<\/code>e cada leitura subsequente, formando um pipeline de tr\u00eas saltos atrav\u00e9s de <code>tempdb<\/code> Aparece como um caminho de linhagem cont\u00ednuo.<\/li>\n<li><strong><code>FUS\u00c3O<\/code> declara\u00e7\u00f5es.<\/strong> Cada <code>QUANDO HOUVER CORRESPOND\u00caNCIA, ATUALIZE<\/code> e <code>QUANDO N\u00c3O HOUVER CORRESPOND\u00caNCIA, ENT\u00c3O INSERIR<\/code> A ramifica\u00e7\u00e3o \u00e9 analisada, mapeando as colunas de origem para as colunas de destino e tratando a <code>SOBRE<\/code> condi\u00e7\u00e3o como linhagem indireta.<\/li>\n<li><strong>SQL din\u00e2mico.<\/strong> SQL montado em vari\u00e1veis e executado via <code>sp_executesql<\/code> ou <code>EXECUTIVO<\/code> \u00e9 resolvido e analisado em vez de ignorado \u2014 um dos pontos cegos mais comuns nas ferramentas de linhagem.<\/li>\n<li><strong>Par\u00e2metros do procedimento.<\/strong> O fluxo de linhagem percorre os valores dos par\u00e2metros at\u00e9 chegar \u00e0s instru\u00e7\u00f5es que os utilizam.<\/li>\n<li><strong>O gr\u00e1fico de chamadas.<\/strong> Quando procedimentos chamam outros procedimentos, o SQLFlow renderiza um gr\u00e1fico interativo de chamadas de procedimento para procedimento, para que voc\u00ea possa ver toda a cadeia ETL, e n\u00e3o um procedimento de cada vez.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Exemplo pr\u00e1tico: prepara\u00e7\u00e3o para tabela de fatos via MERGE<\/h2>\n\n\n\n<p>Eis o tipo de procedimento que todo data warehouse do SQL Server cont\u00e9m \u2014 um procedimento de carregamento que limpa as linhas de prepara\u00e7\u00e3o em uma tabela tempor\u00e1ria e, em seguida, as mescla em uma tabela de fatos:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CRIAR PROCEDIMENTO dbo.usp_load_fact_sales COMO IN\u00cdCIO SELECIONAR s.order_id, s.customer_id, CAST(s.amount AS DECIMAL(18,2)) AS amount EM #clean_sales DE staging.sales s ONDE s.load_date = CAST(GETDATE() AS DATE); MESCLAR dw.fact_sales COMO tgt USANDO #clean_sales COMO src EM tgt.order_id = src.order_id QUANDO CORRESPONDER ENT\u00c3O ATUALIZAR DEFINIR tgt.amount = src.amount QUANDO N\u00c3O CORRESPONDER ENT\u00c3O INSERIR (order_id, customer_id, amount) VALORES (src.order_id, src.customer_id, src.amount); FIM<\/code><\/pre>\n\n\n\n<p>Execute isso no SQLFlow e o diagrama ser\u00e1 exibido. <code>dw.fact_sales.amount<\/code> alimentado por <code>prepara\u00e7\u00e3o.vendas.quantidade<\/code> atrav\u00e9s de um <code>ELENCO<\/code>, com <code>#clean_vendas<\/code> vis\u00edvel como o salto intermedi\u00e1rio. Tamb\u00e9m mostra duas rela\u00e7\u00f5es que uma consulta de cat\u00e1logo nunca poder\u00e1 produzir: <code>staging.vendas.data de carregamento<\/code> como linhagem indireta em cada coluna de sa\u00edda (ela decide quais linhas carregar), e <code>id_do_pedido<\/code> desempenhando dupla fun\u00e7\u00e3o \u2014 linhagem direta na chave inserida e linhagem indireta atrav\u00e9s do <code>FUS\u00c3O ... LIGADA<\/code> condi\u00e7\u00e3o de correspond\u00eancia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Linhagem direta versus indireta em T-SQL<\/h2>\n\n\n\n<p>O SQLFlow distingue <strong>linhagem direta<\/strong> (o valor de uma coluna de origem \u00e9 atribu\u00eddo a uma coluna de destino) de <strong>linhagem indireta<\/strong> (uma coluna molda o resultado atrav\u00e9s de um <code>ONDE<\/code> cl\u00e1usula, <code>JUNTAR<\/code> ou <code>FUS\u00c3O EM<\/code> doen\u00e7a, <code>AGRUPAR POR<\/code>(ou agregado). Os dois podem ser ativados e desativados separadamente no diagrama. Isso \u00e9 mais importante no trabalho com T-SQL do que na maioria dos dialetos, porque os procedimentos de carregamento est\u00e3o repletos de colunas de filtro \u2014 datas de lote, indicadores de status, colunas de marca d&#039;\u00e1gua \u2014 que nunca aparecem na sa\u00edda, mas controlam silenciosamente quais dados chegam. A maioria das ferramentas de linhagem n\u00e3o modela essa distin\u00e7\u00e3o; para an\u00e1lise de impacto em um procedimento de carregamento, \u00e9 frequentemente a metade que causa problemas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Obtendo a linhagem do SQL Server: entradas e implanta\u00e7\u00e3o<\/h2>\n\n\n\n<p>Voc\u00ea pode fornecer c\u00f3digo do SQL Server para o SQLFlow de v\u00e1rias maneiras, dependendo do n\u00edvel de restri\u00e7\u00e3o do seu ambiente:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Entrada<\/th><th>Como funciona<\/th><th>Bom para<\/th><\/tr><\/thead><tbody>\n<tr><td>Cole ou carregue o c\u00f3digo T-SQL.<\/td><td>Scripts, DDL e defini\u00e7\u00f5es de procedimentos como arquivos ou texto colado.<\/td><td>An\u00e1lise r\u00e1pida, revis\u00e3o de c\u00f3digo, um procedimento de cada vez<\/td><\/tr>\n<tr><td>Metadados em tempo real via JDBC<\/td><td>O SQLFlow extrai defini\u00e7\u00f5es de DDL, visualiza\u00e7\u00f5es e procedimentos da inst\u00e2ncia.<\/td><td>Linhagem completa do banco de dados que se mant\u00e9m atualizada<\/td><\/tr>\n<tr><td>Extra\u00e7\u00e3o de metadados Grabit<\/td><td>O utilit\u00e1rio de extra\u00e7\u00e3o offline envia metadados para o SQLFlow.<\/td><td>Ambientes onde o servidor de linhagem n\u00e3o consegue alcan\u00e7ar o banco de dados.<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>Em todos os casos, a an\u00e1lise \u00e9 est\u00e1tica: o SQLFlow l\u00ea o c\u00f3digo SQL e os metadados do esquema, nunca as linhas das suas tabelas. Para ambientes regulamentados, <a href=\"https:\/\/www.gudusoft.com\/pt\/sqlflow-on-premise-versao\/\">SQLFlow no 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\/pt\/precos\/\">p\u00e1gina de pre\u00e7os<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">E quanto aos analisadores sint\u00e1ticos e plataformas de cat\u00e1logo de c\u00f3digo aberto?<\/h2>\n\n\n\n<p>Bibliotecas de c\u00f3digo aberto como <code>linhagem sql<\/code> e <code>sqlglot<\/code> Eles analisam bem consultas individuais e, para instru\u00e7\u00f5es SELECT e INSERT simples, podem ser tudo o que voc\u00ea precisa. O problema surge com o c\u00f3digo procedural T-SQL: corpos de procedimentos com fluxo de controle, <code>#temp<\/code> estado da tabela em todas as declara\u00e7\u00f5es, <code>FUS\u00c3O<\/code> A an\u00e1lise de ramifica\u00e7\u00f5es e a resolu\u00e7\u00e3o din\u00e2mica de SQL s\u00e3o t\u00e9cnicas complexas de engenharia de analisadores sint\u00e1ticos que as ferramentas gen\u00e9ricas ignoram. Plataformas com foco em cat\u00e1logo s\u00e3o excelentes na organiza\u00e7\u00e3o de metadados em diversos sistemas; para a linhagem de colunas por meio da l\u00f3gica de procedimentos armazenados, elas geralmente precisam de um mecanismo de an\u00e1lise sint\u00e1tica subjacente \u2014 e \u00e9 esse o papel do SQLFlow, seja de forma independente ou como fonte de dados de linhagem para essas plataformas. O teste definitivo: pegue seu procedimento de produ\u00e7\u00e3o mais longo e execute-o em cada uma das ferramentas candidatas.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Guias de linhagem relacionados<\/h2>\n\n\n\n<ul><li><a href=\"https:\/\/www.gudusoft.com\/pt\/linhagem-de-dados-azure-sql\/\">Linhagem de dados do Azure SQL<\/a> \u2014 a mesma an\u00e1lise T-SQL aplicada ao Banco de Dados SQL do Azure e \u00e0 Inst\u00e2ncia Gerenciada.<\/li>\n<li><a href=\"https:\/\/www.gudusoft.com\/pt\/ferramenta-de-linhagem-de-dados-oracle\/\">Ferramenta de linhagem de dados Oracle<\/a> \u2014 Linhagem procedural PL\/SQL, o equivalente em Oracle desta p\u00e1gina.<\/li>\n<li><a href=\"https:\/\/www.gudusoft.com\/pt\/ferramenta-de-linhagem-de-dados-sql\/\">Vis\u00e3o geral da ferramenta de linhagem de dados SQL<\/a> \u2014 como o SQLFlow funciona em todos os 39 dialetos suportados.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Perguntas frequentes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">O SQLFlow consegue rastrear a linhagem atrav\u00e9s do SQL din\u00e2mico do SQL Server?<\/h3>\n\n\n<p>Sim. SQL montado em vari\u00e1veis de string e executado com <code>sp_executesql<\/code> ou <code>EXECUTIVO<\/code> \u00e9 resolvido e analisado dentro da an\u00e1lise do procedimento, portanto as tabelas e colunas que ele afeta aparecem no gr\u00e1fico de linhagem. As visualiza\u00e7\u00f5es de depend\u00eancia baseadas em cat\u00e1logo n\u00e3o conseguem visualizar SQL din\u00e2mico.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O SQLFlow \u00e9 compat\u00edvel com tabelas #temp e vari\u00e1veis de tabela?<\/h3>\n\n\n<p>Sim. As colunas s\u00e3o rastreadas atrav\u00e9s de <code>#temp<\/code> tabelas e vari\u00e1veis de tabela em todas as instru\u00e7\u00f5es, portanto, um pipeline que organiza os dados em <code>tempdb<\/code> Aparece como um caminho cont\u00ednuo em n\u00edvel de coluna, da tabela de origem ao destino final.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qual a diferen\u00e7a entre isso e a visualiza\u00e7\u00e3o de depend\u00eancias no SSMS?<\/h3>\n\n\n<p>As visualiza\u00e7\u00f5es de depend\u00eancia do SSMS relatam refer\u00eancias em n\u00edvel de objeto: o procedimento A menciona a tabela B. O SQLFlow analisa os corpos T-SQL e relata o fluxo de dados em n\u00edvel de coluna com dire\u00e7\u00e3o \u2014 quais colunas de origem alimentam quais colunas de destino, por meio de quais transforma\u00e7\u00f5es \u2014 incluindo fluxos por meio de tabelas tempor\u00e1rias. <code>FUS\u00c3O<\/code>e SQL din\u00e2mico que o cat\u00e1logo n\u00e3o rastreia.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">O SQLFlow precisa acessar meus dados do SQL Server?<\/h3>\n\n\n<p>N\u00e3o. O SQLFlow realiza an\u00e1lises est\u00e1ticas do c\u00f3digo SQL e, opcionalmente, l\u00ea metadados do esquema, como defini\u00e7\u00f5es de tabelas e procedimentos. Ele nunca l\u00ea os dados das linhas da tabela, e a edi\u00e7\u00e3o On-Premise mant\u00e9m o texto SQL dentro da sua rede.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Posso ver quais procedimentos armazenados chamam quais outros?<\/h3>\n\n\n<p>Sim. O SQLFlow renderiza um gr\u00e1fico de chamadas interativo de invoca\u00e7\u00f5es de procedimento para procedimento, juntamente com a linhagem da coluna, para que voc\u00ea possa navegar por uma cadeia ETL de v\u00e1rios procedimentos de ponta a ponta.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Existe alguma forma gratuita de experimentar o SQL Server Lineage?<\/h3>\n\n\n<p>Sim. <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=sql-server-data-lineage\">Nuvem SQLFlow<\/a> Possui um plano gratuito: cole o c\u00f3digo T-SQL no navegador e obtenha um diagrama de linhagem em n\u00edvel de coluna. A vers\u00e3o Premium custa \u00a349,99\/m\u00eas e oferece acesso a entradas maiores e \u00e0 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\">Mapeie agora a linhagem do seu SQL Server.<\/h2>\n\n\n<p>Cole seu procedimento armazenado mais complexo no visualizador gratuito ou entre em contato conosco para que possamos analisar todo o seu ambiente 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\">Experimente o SQLFlow gratuitamente<\/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\/pt\/contato\/\">Solicite uma demonstra\u00e7\u00e3o empresarial<\/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\/pt\/wp-json\/wp\/v2\/pages\/6754"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/comments?post=6754"}],"version-history":[{"count":0,"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/pages\/6754\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/pt\/wp-json\/wp\/v2\/media?parent=6754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}