Import vs DirectQuery vs Direct Lake (on SQL vs on OneLake)

Verdict: Import keeps data in memory for full modelling; DirectQuery queries the source live. Direct Lake reads Delta with no refresh: on SQL it falls back to DirectQuery under guardrails, on OneLake refresh fails. Import to DirectQuery is one-way in Desktop.

CriterionImportDirectQueryDirect Lake on SQLDirect Lake on OneLake
Behaviour when a Delta guardrail is exceededData already in memory; not applicableQueries the source directly, no guardrailFalls back to DirectQuery so the report stays availableRefresh fails; model is unqueryable until the Delta tables are optimised
Reverting the table to DirectQuery in DesktopOne-way: cannot return to DirectQuery without rebuilding the tableSource of truth for the tableReads Delta via the SQL endpointReads Delta directly from OneLake
Composite with Import storage-mode tablesNativeSupported in composite modelsSupportedSupported (Import in web modelling, DirectQuery via XMLA)
Single sign-on to the underlying sourceUses stored credentialsPer-source credentialSQL endpoint identitySupported: users authenticate with their own identity

Rules

Traps