ChrisDevRepo
vscode_data_lineage
TypeScript

VS Code extension for visualizing SQL Server database object dependencies from .dacpac files or MS SQL DB import. Interactive graph with trace, search, DDL preview and Copilot support.

Last updated Jun 26, 2026
11
Stars
3
Forks
0
Issues
0
Stars/day
Attention Score
43
Language breakdown
No language data available.
Files click to expand
README

Data Lineage Viz

License VS Code Status

Visualise SQL dependencies right inside VS Code. Browse your lineage graph with search, trace, and Schema View — and, if you use GitHub Copilot, ask @lineage to explore the loaded model in natural language.

Import from .dacpac files or connect directly to SQL Server, Azure SQL, Fabric Data Warehouse, or Synapse Dedicated SQL Pool.

Data Lineage Viz — search, trace, and preview DDL

Watch the demo

Get started

  • Run Data Lineage: Open Wizard (Ctrl+Shift+P).
  • Pick a .dacpac file — or Connect to Database via the MSSQL extension.
  • Select schemas and click Visualize.
No data? Click Try with demo data or run Data Lineage: Open Demo to explore the AdventureWorks sample.

Explore your lineage

Once your model loads, the visual graph is ready to use — no Copilot required:

  • Data Lineage: Search Objects finds any table, view, procedure, or function instantly.
  • Trace dependencies — follow sources upstream or consumers downstream from any node.
  • See the blast radius — spot hubs, islands, orphans, and circular dependencies before you change anything.
  • Read the SQL — click any node for DDL with syntax highlighting; full-text search across procedure and view bodies.
Interactive dependency graph with schema-coloured nodes

Optional AI lineage with @lineage

If GitHub Copilot is installed, @lineage adds natural-language exploration on top of the visual graph. The assistant answers from your loaded data model — never from general knowledge.

@lineage trace from Sales.SalesOrderDetail upstream to the source tables
@lineage how is sales calculated — show me the lineage in the app
@lineage which objects are hubs with the most connections?

Use it to ask dependency questions, open bookmarked graph views, and — where the metadata allows — follow column mappings or explain SQL logic.

AI lineage analysis — annotated graph with column mappings and join paths

@lineage has two modes of operation:

  • Discovery (chat) — the default. Catalog lookups, DDL search, graph-pattern questions, bounded upstream/downstream scope questions, and explicit source-to-target path questions are answered directly in chat from deterministic tools.
  • Structured walkthrough — when you ask for a graph in the side panel, request a column trace, or open a scope too large for chat, the assistant first shows the planned scope (nodes, schemas, depth) and asks for confirmation. Once approved, it walks the graph hop-by-hop and colours source / transform / target nodes in the result.
Only the @lineage chat experience requires GitHub Copilot. The visual graph, search, trace, SQL preview, demo data, profiling, and export features work without Copilot.

Features

  • Interactive graph — search objects, trace upstream or downstream, and find shortest paths between nodes.
  • Graph analysis — identify islands, hubs, orphans, circular dependencies, and long dependency chains.
  • Schema View — large graphs auto-summarise at schema level; double-click to drill in.
  • SQL preview — inspect DDL with syntax highlighting and search across procedure / view bodies.
  • Optional @lineage AI — use GitHub Copilot Chat to ask lineage questions, follow column mappings where the metadata allows, and build bookmarked graph views.
  • Multiple sources — SSDT and SDK-style .dacpac files, live database connections, external tables, and virtual external refs (OPENROWSET, cross-DB, CETAS).
  • Projects & views — save connections, schema selections, and named filter states for one-click reopen.
  • Table profiling — on-demand column statistics for live databases (null %, distinct, min / max, AVG, STDEV).
  • Export — Draw.io diagram generation.
For the full feature catalogue, settings, and customisation paths see docs/FEATURES.md.

Limitations

The extension is built from database DDL/catalog metadata only. The following are out of scope:

  • External ingestion pipelines — ADF, SSIS, Spark, Fabric Dataflow, or any ETL/ELT process that writes into the database from an external source. Target tables appear as leaves; the upstream pipeline does not.
  • Cross-database / cross-server flow — fully qualified three- or four-part references can surface as virtual external nodes, but the remote database internals are not introspected.
  • Dynamic SQLEXEC(@sql) and sp_executesql cannot be analysed statically.
  • Unqualified references — references without a schema prefix are ambiguous; metadata may resolve some known dependencies, but dynamic/default-schema cases are not guaranteed.

FAQ

Do I need a .dacpac file? No — connect directly to a database. If you prefer a .dacpac, extract one from Visual Studio, SSMS, Azure Data Studio, or the Fabric portal. See Microsoft's documentation.

Why are some dependencies missing? Dynamic SQL cannot be analysed statically. Only dependencies visible in compiled metadata or parseable SQL bodies are detected.

Why are unqualified references unreliable? Unqualified names depend on caller default schema and context. Schema-qualified names are the only reliable source for static lineage.

Documentation

Contributing

Bug reports welcome. For custom features, fork and extend under the MIT license. See CONTRIBUTING.md.


MIT License · Christian Wagner · GitHub · Developed with Claude Code, Codex and Gemini

🔗 More in this category

© 2026 GitRepoTrend · ChrisDevRepo/vscode_data_lineage · Updated daily from GitHub