Validating Invalid References in a Fabric Warehouse
You have a Fabric workspace named Workspace1 that contains a warehouse named Warehouse1. You plan to deploy Warehouse1 to a new workspace named Workspace2. As part of the deployment process, you need to verify whether Warehouse1 contains invalid references. The solution must minimize development effort. What should you use?
Community Insight
The question tests which Fabric deployment tool actually validates warehouse T-SQL object references; the trap is assuming a deployment pipeline inspects code, when it only moves item-level artifacts between workspaces.
When deploying Warehouse1 from Workspace1 to Workspace2, the lowest-effort way to detect broken object references (views or procedures pointing at missing tables, columns, or schemas) is to build a SQL database project for the warehouse. A database project build resolves and validates every declared reference automatically, so the correct choice is a database project rather than a deployment pipeline or hand-written scripts.
Option B, a deployment pipeline, is the most popular wrong pick: learners believe deployment pipelines 'automatically check for invalid references and missing dependencies,' but pipelines copy or synchronize workspace items and never parse warehouse T-SQL to find broken object references.
Community Discussion (20 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
A SQL database project for Warehouse1 declares the complete warehouse schema — tables, views, stored procedures, schemas — and the project build resolves every cross-object reference in the T-SQL code. If a view or procedure targets a table, column, or schema that no longer exists, the build fails and reports the invalid reference, giving you a deterministic pass/fail check before anything is deployed to Workspace2. Because this validation is intrinsic to the build, you write no custom validation code, which satisfies the 'minimize development effort' requirement. This also aligns with Microsoft's Fabric warehouse guidance on source control and database projects as the supported way to model and validate warehouse schema. By contrast, migrating by hand or by ad-hoc script gives you no such built-in verification.Why the Other Options Are Wrong
Option B, a deployment pipeline, moves or synchronizes whole items between Workspace1 and Workspace2 and can stage deployments, but it operates at the item level and does not parse warehouse T-SQL, so broken view/procedure references deploy without complaint. Option C, a Python script, would require custom code that queries catalog views, compares dependencies, and interprets results — the maximum development effort of all choices. Option D, a T-SQL script, likewise forces you to hand-build reference checks against catalog views such as sys.tables, sys.views, and sys.columns, which is more work than letting a database project build do the resolution for you. Neither script approach is 'minimizing development effort' when a declarative project already performs the validation.Community Comment Notes
The most-liked comment, from QAZdbarhate12345678, claims that "the pipeline automatically checks for issues such as invalid references" during deployment; this is a misconception about what deployment pipelines do, so the vote leader's answer should not be trusted here. Other learners push back correctly: juamd states "Deployment pipelines are not capable of detecting invalid references in T-SQL code," and alqazqzy.asseel adds "it does not inspect the code for invalid database reference bugs prior to deployment." Sr18's link to the warehouse source-control page documents moving items via pipelines, not validating T-SQL, while tomaszstaroszczyk correctly reframes the issue as internal references such as a stored procedure on a non-existing table — exactly what a database project build detects. The consensus among those who analyzed the mechanism rather than the feature name supports A.Official Reference
Exam Strategy
On DP-700 deployment questions, always separate 'moving items between workspaces' from 'validating code'; deployment pipelines do the former, while database projects do the latter. When a question asks to detect broken or invalid references with minimal effort, choose the declarative build-based tool, not a pipeline or a custom script.
Frequently Asked Questions
Why doesn't a deployment pipeline detect invalid T-SQL references?
Deployment pipelines copy or synchronize items between workspaces at the item level; they do not parse warehouse T-SQL code, so broken object references deploy silently.
Could a T-SQL or Python script replace the database project here?
No — both would require custom logic to query catalog views and compare dependencies, which violates the 'minimize development effort' requirement.