Validating Invalid References in a Fabric Warehouse

Implement lifecycle management in Fabric Identify and resolve errors
Answer Correct answer: A — build a database project for Warehouse1, which automatically resolves and validates object references, surfacing invalid references before deployment to Workspace2.

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?

  1. a database project Correct Answer
  2. a deployment pipeline
  3. a Python script
  4. a T-SQL script

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)

alqazqzy.asseel 👍 1 Selected: A
deployment pipeline moves items from Workspace1 to Workspace2, it does not inspect the code for invalid database reference bugs prior to deployment.
juamd 👍 2 Selected: A
Deployment pipelines are not capable of detecting invalid references in T-SQL code.
32950cb 👍 1 Selected: A
To verify whether a Fabric Warehouse contains invalid references (such as views or stored procedures referencing tables or columns that have been deleted or renamed) with minimal effort, a database project is the most effective tool.
Josekonoor 👍 1 Selected: B
deployment pipeline
EddEe 👍 1 Selected: B
https://blog.fabric.microsoft.com/en-us/blog/bridging-the-gap-automate-warehouse-sql-endpoint-deployment-in-microsoft-fabric?ft=Lakehouse:category#:~:text=Warehouse%20with%20Warehouse%20dependencies,warehouse%20connections%20are%20functioning%20properly.
Rjb_073086 👍 1 Selected: B
while deployment pipelines do this (hence i picked B), just clicking view dependencies from warehouse does the job with zero dev effort
8115575 👍 3 Selected: B
a database project is more relevant for traditional SQL Server development using tools like Visual Studio; not integrated with Fabric's deployment model. Scripts are not minimizing effort.
bcbc59b 👍 1 Selected: B
Since the question does not define any constraints regarding how the verification result should be presented or treated, according to the documentation, I'd go with deployment pipelines: They check dependencies https://learn.microsoft.com/en-us/fabric/cicd/deployment-pipelines/understand-the-deployment-process?utm_source=chatgpt.com&tabs=new-ui#autobinding-in-the-same-workspace
jaysun 👍 1 Selected: B
Detects invalid references automatically during deployment. Minimal configuration needed — aligns directly with your goal to "minimize development effort."
smanzana 👍 1 Selected: B
B is correct
Sr18 👍 1
And believe me MS is still in Marketing mode, so even if it breaks sometimes. The feature is there and you must use it specially deployment pipeline :)
upliftinghut 👍 1 Selected: D
T-SQL below: SELECT referencing_object_name = OBJECT_NAME(referencing_id), referenced_entity_name, is_ambiguous, is_missing_reference FROM sys.sql_expression_dependencies WHERE is_missing_reference = 1;
Sr18 👍 2
B: Its preview like most of the things in Fabric but it does work. Read deployment with pipelines. Don't get distracted with git. https://learn.microsoft.com/en-us/fabric/data-warehouse/source-control#deployment-pipelines
hebertorosillo 👍 5 Selected: A
A. a database project for minimal effor
CloudKaKida 👍 1
A https://learn.microsoft.com/en-us/fabric/cicd/deployment-pipelines/intro-to-deployment-pipelines?tabs=new-ui#supported-items
Anushareddysri 👍 1 Selected: C
Question is focusing on "As part of the deployment process, you need to verify whether Warehouse1 contains invalid references" for this python script can be written to identify invalid references and can add it as a notebook activity in pipeline. So answer is python script.
toniteo 👍 2
Python script could be a lengthy solution, while the question asks for minimal effort.
toniteo 👍 4
agreed with answer A. Here is the hint. https://community.fabric.microsoft.com/t5/Data-Engineering/Microsoft-fabric-WareHouse-migration-issue-via-deployment/td-p/4281976
QAZdbarhate12345678 👍 21 Selected: B
Microsoft Fabric's deployment pipelines provide a built-in mechanism to manage and validate the deployment of artifacts like warehouses. When you use a deployment pipeline to move Warehouse1 from one workspace (Workspace1) to another (Workspace2), the pipeline automatically checks for issues such as invalid references or missing dependencies during the deployment process.
tomaszstaroszczyk 👍 5
What kind of references may a Warehouse have? We don't have shortcuts in a warehouse. It seems to be an indepentent item, there is no possiblity to break a reference to anything external. Therfor I think this relates to internal references, i.e. stored procedure operating on non-existing table. In this case a database project (answer A) would be necessary, but I don't find it related to a Deployment Pipeline in any way.

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

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.

More DP-700 FAQ →

Related Analysis

← Back to DP-700 Study Guide