{"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\/de\/sql-server-datenherkunft\/","title":{"rendered":"SQL Server-Datenherkunft: T-SQL, gespeicherte Prozeduren und dynamisches SQL"},"content":{"rendered":"<p><strong>SQL Server-Datenherkunft<\/strong> ist die Spalten\u00fcbersicht, die zeigt, wie Daten durch Ihren T-SQL-Code flie\u00dfen: welche Quellspalten die einzelnen Zieltabelle, Sichten oder Berichte speisen und was dabei in gespeicherten Prozeduren und tempor\u00e4ren Tabellen geschieht. <code>VERSCHMELZEN<\/code> Anweisungen und dynamisches SQL. <a href=\"https:\/\/www.gudusoft.com\/de\/sql-datenherkunftstool\/\">Gudu SQLFlow<\/a> Diese Zuordnung wird automatisch erstellt, indem T-SQL mit einem dedizierten SQL Server-Prozedurparser analysiert wird, sodass die Herkunft nicht auf Objektebene endet, wie es bei SSMS-Abh\u00e4ngigkeitsansichten der Fall ist.<\/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>Probieren Sie es jetzt aus:<\/strong> F\u00fcgen Sie eine T-SQL-gespeicherte Prozedur in die <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\">kostenloser SQL Server Lineage Visualisierer<\/a> und erhalten Sie in Sekundenschnelle ein Stammbaumdiagramm auf Spaltenebene.<\/p>\n\n<\/div><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Warum die Datenherkunftsanalyse in SQL Server schwieriger ist als sie aussieht<\/h2>\n\n\n\n<p>In den meisten SQL-Server-Umgebungen befindet sich die eigentlich relevante Transformationslogik nicht in bereinigten Sichten. Sie ist in gespeicherten Prozeduren enthalten, die Daten f\u00fcr die weitere Verarbeitung bereitstellen. <code>#temp<\/code> Tabellen, Upsert in Faktentabellen mit <code>VERSCHMELZEN<\/code>, Verzweigungen anhand von Parametern durchf\u00fchren und SQL-Zeichenketten zur Laufzeit zusammensetzen mit <code>sp_executesql<\/code> oder <code>EXE<\/code>Jeder Ansatz zur Herkunftsbestimmung, der lediglich Objektdefinitionen aus dem Katalog liest, betrachtet die Prozedur als Blackbox: Er wei\u00df, dass die Prozedur existiert, aber nicht, welche Spalten durch sie flie\u00dfen.<\/p>\n\n\n\n<p>Um die tats\u00e4chliche Herkunft dieses Codes zu ermitteln, muss T-SQL so geparst werden, wie es die Datenbank-Engine tut: Es wird ein semantisches Modell jeder Anweisung im Prozedurrumpf erstellt, Spalten werden beim Durchlaufen von tempor\u00e4ren Tabellen und Tabellenvariablen verfolgt und das in Zeichenkettenvariablen verborgene SQL wird aufgel\u00f6st. Dies ist ein Compilerproblem, kein Problem der Metadatenabfrage, und genau daf\u00fcr wurde der T-SQL-Parser von SQLFlow entwickelt.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Was SSMS-Abh\u00e4ngigkeitsansichten Ihnen sagen k\u00f6nnen und was nicht<\/h2>\n\n\n\n<p>SQL Server bietet n\u00fctzliche Tools zur Abh\u00e4ngigkeitsanalyse und ist der richtige erste Anlaufpunkt f\u00fcr schnelle Fragen auf Objektebene. <code>sys.sql_expression_dependencies<\/code>, <code>sys.dm_sql_referenced_entities<\/code>Der Dialog \u201eAbh\u00e4ngigkeiten anzeigen\u201c in SSMS zeigt Ihnen zuverl\u00e4ssig an, dass Prozedur A auf Tabelle B verweist. Was er Ihnen nicht mitteilen kann:<\/p>\n\n\n\n<ul><li><strong>Datenfluss auf Spaltenebene.<\/strong> Katalogabh\u00e4ngigkeiten enden auf Objektebene. Sie zeigen, dass <code>usp_load_fact_sales<\/code> Ber\u00fchrungen <code>staging.sales<\/code> Und <code>dw.fact_sales<\/code>aber nicht das <code>fact_sales.amount<\/code> wird abgeleitet von <code>staging.sales.amount<\/code> durch ein <code>GIESSEN<\/code> w\u00e4hrend <code>staging.sales.load_date<\/code> Es werden nur Zeilen gefiltert.<\/li>\n<li><strong>Flie\u00dfrichtung.<\/strong> Eine Referenz ist kein Datenfluss. Das Lesen und Schreiben aus einer Tabelle erzeugt dieselbe Abh\u00e4ngigkeitszeile; die Datenherkunft muss wissen, welche Zeile Quelle und welche Ziel ist.<\/li>\n<li><strong>Dynamisches SQL.<\/strong> Anweisungen, die in einem String erstellt und ausgef\u00fchrt werden <code>sp_executesql<\/code> oder <code>EXE<\/code> sind f\u00fcr den Abh\u00e4ngigkeitskatalog v\u00f6llig unsichtbar, da sie erst zur Laufzeit existieren.<\/li>\n<li><strong>Tempor\u00e4re Tabellenspr\u00fcnge.<\/strong> <code>#temp<\/code> Tische leben in <code>tempdb<\/code> und werden nicht als Abh\u00e4ngigkeitsendpunkte verfolgt, sodass jede Abstammungslinie, die \u00fcber einen solchen Endpunkt verl\u00e4uft, halbiert wird.<\/li><\/ul>\n\n\n\n<p>Um Fragen wie \u201eWelche Folgefehler entstehen, wenn ich diese Spalte neu eingebe?\u201c oder \u201eWelche Quellfelder speisen diesen regulierten Bericht?\u201c zu beantworten, muss der T-SQL-Code selbst analysiert werden. Genau diese Ebene f\u00fcgt SQLFlow den bereits im Katalog enthaltenen Funktionen hinzu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie SQLFlow die Herkunft von T-SQL-Prozeduren nachverfolgt<\/h2>\n\n\n\n<p>SQLFlow basiert auf <a href=\"https:\/\/www.sqlparser.com\/\">Allgemeiner SQL-Parser (GSP)<\/a>, a commercial SQL compiler front-end developed since the mid-2000s and validated against roughly 13,600 per-dialect SQL test fixtures. Its SQL Server support is a dedicated T-SQL grammar, not a generic ANSI parser with exceptions bolted on, and it includes a full procedural parser for stored procedure bodies. Inside a procedure, SQLFlow resolves:<\/p>\n\n\n\n<ul><li><strong>Tempor\u00e4re Tabellen und Tabellenvariablen.<\/strong> Spalten werden verfolgt durch <code>SELECT ... INTO #staging<\/code>, <code>INSERT INTO @rows<\/code>und jeder nachfolgende Lesevorgang, also eine dreistufige Pipeline durch <code>tempdb<\/code> erscheint als ein einziger, ununterbrochener Abstammungspfad.<\/li>\n<li><strong><code>VERSCHMELZEN<\/code> Aussagen.<\/strong> Jede <code>WENN \u00dcBEREINSTIMMUNG, DANN AKTUALISIEREN<\/code> Und <code>WENN KEINE \u00dcBEREINSTIMMUNG PASST, DANN EINF\u00dcGEN<\/code> Der Zweig wird analysiert, wobei Quellspalten Zielspalten zugeordnet und die entsprechenden Daten behandelt werden. <code>AN<\/code> Bedingung als indirekte Abstammung.<\/li>\n<li><strong>Dynamisches SQL.<\/strong> SQL wird in Variablen zusammengesetzt und ausgef\u00fchrt \u00fcber <code>sp_executesql<\/code> oder <code>EXE<\/code> wird aufgel\u00f6st und analysiert, anstatt \u00fcbersprungen zu werden \u2013 einer der h\u00e4ufigsten blinden Flecken bei der Analyse von Herkunftsdaten.<\/li>\n<li><strong>Verfahrensparameter.<\/strong> Die Herkunft der Parameterwerte wird in die Anweisungen, die sie verwenden, nachvollziehbar dargestellt.<\/li>\n<li><strong>Das Anrufdiagramm.<\/strong> Wenn Prozeduren andere Prozeduren aufrufen, rendert SQLFlow einen interaktiven Prozedur-zu-Prozedur-Aufrufgraphen, sodass Sie die gesamte ETL-Kette sehen k\u00f6nnen und nicht nur eine Prozedur nach der anderen.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Beispielrechnung: Staging zur Faktentabelle via MERGE<\/h2>\n\n\n\n<p>Hier ist die Art von Prozedur, die jedes SQL-Server-Data-Warehouse enth\u00e4lt \u2013 eine Ladeprozedur, die Staging-Zeilen in eine tempor\u00e4re Tabelle speichert und sie dann in eine Faktentabelle zusammenf\u00fchrt:<\/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>F\u00fchren Sie dies durch SQLFlow, und das Diagramm zeigt Folgendes an: <code>dw.fact_sales.amount<\/code> gespeist von <code>staging.sales.amount<\/code> durch ein <code>GIESSEN<\/code>, mit <code>#clean_sales<\/code> Als Zwischenschritt sichtbar. Es zeigt au\u00dferdem zwei Beziehungen, die eine Katalogabfrage niemals erzeugen kann: <code>staging.sales.load_date<\/code> als indirekte Herkunft in jede Ausgabespalte (es entscheidet, welche Zeilen geladen werden), und <code>Bestellnummer<\/code> doppelte Funktion \u2013 direkte Abstammung in den eingef\u00fcgten Schl\u00fcssel und indirekte Abstammung durch den <code>VEREINIGEN ... AN<\/code> \u00dcbereinstimmungsbedingung.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Direkte vs. indirekte Abstammung in T-SQL<\/h2>\n\n\n\n<p>SQLFlow unterscheidet <strong>direkte Abstammung<\/strong> (Der Wert einer Quellspalte landet in einer Zielspalte) <strong>indirekte Abstammung<\/strong> (eine Spalte formt das Ergebnis durch eine <code>WO<\/code> Klausel, <code>VERBINDEN<\/code> oder <code>VERBINDEN MIT<\/code> Zustand, <code>GRUPPE NACH<\/code>(oder aggregieren). Die beiden k\u00f6nnen im Diagramm separat umgeschaltet werden. Dies ist bei T-SQL wichtiger als bei den meisten anderen Dialekten, da Ladeprozeduren viele Filterspalten enthalten \u2013 Batch-Datum, Statuskennzeichen, Wasserzeichenspalten \u2013, die zwar nie in der Ausgabe erscheinen, aber im Hintergrund steuern, welche Daten ankommen. Die meisten Datenherkunftsanalyse-Tools bilden diese Unterscheidung \u00fcberhaupt nicht ab; bei der Auswirkungsanalyse einer Ladeprozedur ist es oft genau diese H\u00e4lfte, die Probleme verursacht.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SQL Server-Herkunft ermitteln: Eingaben und Bereitstellung<\/h2>\n\n\n\n<p>Es gibt verschiedene M\u00f6glichkeiten, SQL Server-Code an SQLFlow zu \u00fcbergeben, je nachdem, wie stark Ihre Umgebung abgesichert ist:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Eingang<\/th><th>So funktioniert es<\/th><th>Gut f\u00fcr<\/th><\/tr><\/thead><tbody>\n<tr><td>T-SQL einf\u00fcgen oder hochladen<\/td><td>Skripte, DDL-Anweisungen und Prozedurdefinitionen als Dateien oder eingef\u00fcgter Text<\/td><td>Schnelle Analyse, Code-\u00dcberpr\u00fcfung, ein Vorgang nach dem anderen<\/td><\/tr>\n<tr><td>Live-Metadaten \u00fcber JDBC<\/td><td>SQLFlow ruft DDL-, Ansichts- und Prozedurdefinitionen aus der Instanz ab.<\/td><td>Vollst\u00e4ndige Datenbankherkunft, die stets aktuell bleibt<\/td><\/tr>\n<tr><td>Grabit-Metadatenextraktion<\/td><td>Das Offline-Extraktionsprogramm sendet Metadaten an SQLFlow.<\/td><td>Umgebungen, in denen der Lineage-Server die Datenbank nicht erreichen kann.<\/td><\/tr>\n<\/tbody><\/table><\/figure>\n\n\n\n<p>Die Analyse ist in jedem Fall statisch: SQLFlow liest SQL-Code und Schema-Metadaten, niemals die Zeilen Ihrer Tabellen. F\u00fcr regulierte Umgebungen <a href=\"https:\/\/www.gudusoft.com\/de\/sqlflow-on-premise-version\/\">SQLFlow vor Ort<\/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\/de\/preisgestaltung\/\">Preisseite<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie sieht es mit Open-Source-Parsern und Katalogplattformen aus?<\/h2>\n\n\n\n<p>Open-Source-Bibliotheken wie <code>sqllineage<\/code> Und <code>sqlglot<\/code> Einzelne Abfragen lassen sich gut parsen, und f\u00fcr einfache SELECT- und INSERT-Anweisungen reichen sie m\u00f6glicherweise v\u00f6llig aus. Bei T-SQL-Prozedurencode taut die L\u00fccke auf: Prozedurr\u00fcmpfe mit Kontrollfluss, <code>#temp<\/code> Tabellenstatus \u00fcber Anweisungen hinweg, <code>VERSCHMELZEN<\/code> Zweiganalyse und dynamische SQL-Aufl\u00f6sung sind komplexe Aspekte der Parserentwicklung, die generische Tools oft umgehen. Katalogbasierte Plattformen eignen sich hervorragend zur Organisation von Metadaten \u00fcber viele Systeme hinweg. F\u00fcr die Spaltenherkunftsnachverfolgung durch gespeicherte Prozeduren ben\u00f6tigen sie in der Regel eine zugrundeliegende Parsing-Engine \u2013 genau diese Rolle \u00fcbernimmt SQLFlow, entweder als eigenst\u00e4ndige L\u00f6sung oder als Datenquelle f\u00fcr diese Plattformen. Der beste Test: F\u00fchren Sie Ihre l\u00e4ngste Produktionsprozedur mit jedem der genannten Tools aus.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verwandte Stammbaumf\u00fchrer<\/h2>\n\n\n\n<ul><li><a href=\"https:\/\/www.gudusoft.com\/de\/azure-sql-data-lineage\/\">Azure SQL-Datenherkunft<\/a> \u2014 die gleiche T-SQL-Analyse wird auf Azure SQL-Datenbank und verwaltete Instanz angewendet.<\/li>\n<li><a href=\"https:\/\/www.gudusoft.com\/de\/oracle-datenherkunftstool\/\">Oracle-Tool zur Datenherkunftsanalyse<\/a> \u2014 PL\/SQL-Prozedur-Historie, das Oracle-Pendant zu dieser Seite.<\/li>\n<li><a href=\"https:\/\/www.gudusoft.com\/de\/sql-datenherkunftstool\/\">\u00dcberblick \u00fcber SQL-Datenherkunftstools<\/a> \u2014 wie SQLFlow in allen 39 unterst\u00fctzten Dialekten funktioniert.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">H\u00e4ufig gestellte Fragen<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Kann SQLFlow die Herkunft von dynamischem SQL in SQL Server nachverfolgen?<\/h3>\n\n\n<p>Ja. SQL wurde in String-Variablen zusammengesetzt und ausgef\u00fchrt mit <code>sp_executesql<\/code> oder <code>EXE<\/code> Die Aufl\u00f6sung und Auswertung erfolgt innerhalb der Prozeduranalyse, sodass die betroffenen Tabellen und Spalten im Herkunftsdiagramm erscheinen. Katalogbasierte Abh\u00e4ngigkeitsansichten k\u00f6nnen dynamisches SQL \u00fcberhaupt nicht sehen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kann SQLFlow #temp-Tabellen und Tabellenvariablen verarbeiten?<\/h3>\n\n\n<p>Ja. Spalten werden verfolgt durch <code>#temp<\/code> Tabellen und Tabellenvariablen \u00fcber Anweisungen hinweg, sodass eine Pipeline, die Daten in <code>tempdb<\/code> wird als ein durchgehender Pfad auf Spaltenebene von der Quelltabelle zum endg\u00fcltigen Ziel angezeigt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Worin unterscheidet sich dies von Ansichtsabh\u00e4ngigkeiten in SSMS?<\/h3>\n\n\n<p>SSMS-Abh\u00e4ngigkeitsansichten melden Objektverweise: Prozedur A erw\u00e4hnt Tabelle B. SQLFlow analysiert die T-SQL-Bl\u00f6cke und meldet den Datenfluss auf Spaltenebene mit Richtung \u2013 welche Quellspalten welche Zielspalten speisen, durch welche Transformationen \u2013 einschlie\u00dflich Fl\u00fcssen durch tempor\u00e4re Tabellen. <code>VERSCHMELZEN<\/code>und dynamisches SQL, das vom Katalog nicht erfasst wird.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Ben\u00f6tigt SQLFlow Zugriff auf meine SQL Server-Daten?<\/h3>\n\n\n<p>Nein. SQLFlow f\u00fchrt eine statische Analyse von SQL-Code durch und liest optional Schema-Metadaten wie Tabellen- und Prozedurdefinitionen. Es liest niemals Tabellenzeilendaten, und die On-Premise-Edition h\u00e4lt den SQL-Text innerhalb Ihres Netzwerks.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Kann ich sehen, welche gespeicherten Prozeduren welche anderen aufrufen?<\/h3>\n\n\n<p>Ja. SQLFlow rendert einen interaktiven Aufrufgraphen der Prozeduraufrufe zusammen mit der Spaltenherkunft, sodass Sie eine ETL-Kette mit mehreren Prozeduren von Anfang bis Ende durchlaufen k\u00f6nnen.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Gibt es eine kostenlose M\u00f6glichkeit, SQL Server Lineage auszuprobieren?<\/h3>\n\n\n<p>Ja. <a href=\"https:\/\/sqlflow.gudusoft.com\/?utm_source=gudusoft&amp;utm_medium=website&amp;utm_campaign=sql-server-data-lineage\">SQLFlow Cloud<\/a> Es gibt eine kostenlose Version: F\u00fcgen Sie T-SQL-Code in den Browser ein und erhalten Sie ein Spalten-Historiendiagramm. Die Premium-Version kostet $49,99\/Monat und bietet Zugriff auf gr\u00f6\u00dfere Datenmengen sowie API-Zugriff.<\/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\">Erstellen Sie jetzt eine \u00dcbersicht \u00fcber die SQL-Server-Historie.<\/h2>\n\n\n<p>F\u00fcgen Sie Ihre komplizierteste gespeicherte Prozedur in den kostenlosen Visualisierer ein oder sprechen Sie mit uns \u00fcber die Durchsuchung Ihrer gesamten SQL-Server-Umgebung.<\/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\">Testen Sie SQLFlow kostenlos<\/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\/de\/kontakt\/\">Fordern Sie eine Enterprise-Demo an<\/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\/de\/wp-json\/wp\/v2\/pages\/6754"}],"collection":[{"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/comments?post=6754"}],"version-history":[{"count":0,"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/pages\/6754\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gudusoft.com\/de\/wp-json\/wp\/v2\/media?parent=6754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}