From 9ca7e178b6f1d2612ff26fefc21c312bca5608c4 Mon Sep 17 00:00:00 2001 From: vvereen_microsoft Date: Mon, 1 Jun 2026 10:55:58 -0400 Subject: [PATCH 1/6] Add Direct Lake fallback troubleshooting guidance --- docs/fundamentals/direct-lake-how-it-works.md | 85 +++++++++++++++++- .../direct-lake-behavior-setting.png | Bin 0 -> 39689 bytes 2 files changed, 81 insertions(+), 4 deletions(-) create mode 100644 docs/fundamentals/media/direct-lake-how-it-works/direct-lake-behavior-setting.png diff --git a/docs/fundamentals/direct-lake-how-it-works.md b/docs/fundamentals/direct-lake-how-it-works.md index eeeb8d094e..bcf5bced45 100644 --- a/docs/fundamentals/direct-lake-how-it-works.md +++ b/docs/fundamentals/direct-lake-how-it-works.md @@ -6,6 +6,7 @@ ms.author: kgremban ms.date: 09/22/2025 ms.topic: concept-article ms.custom: fabric-cat +ai-usage: ai-assisted --- # How Direct Lake works @@ -77,14 +78,90 @@ There's a semantic model-level setting to automatically update Direct Lake table ## DirectQuery fallback -When using Direct Lake on SQL endpoints, a query sent to a Direct Lake semantic model can fall back to [DirectQuery mode](/power-bi/connect-data/service-dataset-modes-understand) in which case the table no longer operates in Direct Lake mode. It retrieves data directly from the SQL analytics endpoint of the lakehouse or warehouse. Such queries always return the latest data because they're not constrained to the point in time of the last framing operation. - -When DirectQuery fallback occurs, a query no longer uses Direct Lake mode. A query *can't* leverage Direct Lake mode when the semantic model queries a view in the SQL analytics endpoint, or a table in the SQL analytics endpoint that [enforces row-level security (RLS)](/fabric/fundamentals/direct-lake-develop). Also, a query *can't* leverage Direct Lake mode when a Delta table [exceeds the guardrails of the capacity](/fabric/fundamentals/direct-lake-overview). +When using Direct Lake on SQL endpoints, a query sent to a Direct Lake semantic model can fall back to [DirectQuery mode](/power-bi/connect-data/service-dataset-modes-understand) in which case the table no longer operates in Direct Lake mode. It retrieves data directly from the SQL analytics endpoint of the lakehouse or warehouse. Such queries always return the latest data because they're not constrained to the point in time of the last framing operation. However, fallback operations might result in slower query performance. > [!IMPORTANT] > If possible, you should always design your solution—or size your capacity—to avoid DirectQuery fallback. That's because it might result in slower query performance. -You can control fallback of your Direct Lake semantic models by setting its _DirectLakeBehavior_ property. This setting only applies to Direct Lake on SQL endpoints. Direct Lake on OneLake doesn't support DirectQuery fallback. For more information, see [Model.DirectLakeBehavior Property](/dotnet/api/microsoft.analysisservices.tabular.model.directlakebehavior). +Direct Lake on OneLake does not support DirectQuery fallback and operates only in DirectLakeOnly mode. If you need to avoid fallback entirely, consider using Direct Lake on OneLake. Direct Lake on Onelake is the recommended Direct Lake flavor for new semantic model applications. + +### When Direct Lake mode is used + +In Automatic mode, queries use Direct Lake mode only when *all* of the following conditions are satisfied: + +- No tables referenced by the semantic model have [SQL row-level security (RLS), dynamic data masking (DDM), or object-level security (OLS)](direct-lake-develop.md) defined at the SQL analytics endpoint. +- The semantic model does not reference any tables based on unmaterialized SQL views. +- No single table exceeds guardrail limits for parquet files, row groups, or rows. For limits by SKU, see [Fabric capacity requirements](direct-lake-overview.md#fabric-capacity-requirements). +- The semantic model has been refreshed (framed) since the underlying Delta tables were created or modified. +- The capacity is not under memory pressure. + +A single table exceeding any guardrail can prevent Direct Lake mode for the entire model. + +### What happens when conditions are not met + +The behavior depends on the **DirectLakeBehavior** setting: + +- **Automatic** (default): The query silently falls back to DirectQuery mode. Reports continue to work, but performance might be slower. +- **DirectLakeOnly**: The query fails with an error. + +Use DirectLakeOnly mode during development to surface these errors early and fix the root cause before users encounter silent performance degradation. + +### Control fallback with DirectLakeBehavior + +You can control fallback of your Direct Lake semantic models by setting the **DirectLakeBehavior** property. This setting only applies to Direct Lake on SQL endpoints. + +| Value | Description | +| --- | --- | +| **Automatic** | (Default) Falls back to DirectQuery mode silently when conditions are not met. | +| **DirectLakeOnly** | Errors out instead of falling back. Use during development. | +| **DirectQueryOnly** | Always uses DirectQuery mode. Use to measure fallback performance. | + +#### Set DirectLakeBehavior + +In the **Model** view, open the **Properties** pane for the semantic model and change the **Direct Lake behavior** setting. + +:::image type="content" source="media/direct-lake-how-it-works/direct-lake-behavior-setting.png" alt-text="Screenshot showing the Direct Lake behavior dropdown with Automatic, Direct Lake Only, and DirectQuery Only options."::: + +#### Set DirectLakeBehavior programmatically + +You can also configure the **DirectLakeBehavior** property by using Tabular Object Model (TOM) or Tabular Model Scripting Language (TMSL). + +The following example specifies all queries use Direct Lake mode only: + +```csharp +// Disable fallback to DirectQuery mode. +database.Model.DirectLakeBehavior = DirectLakeBehavior.DirectLakeOnly; +database.Model.SaveChanges(); +``` + +For more information, see [Model.DirectLakeBehavior Property](/dotnet/api/microsoft.analysisservices.tabular.model.directlakebehavior). + +### Diagnose fallback + +To identify which tables are falling back and why, run the following DAX query: + +```dax +EVALUATE TABLETRAITS() +``` + +The `[DirectLakeFallbackInfo]` column shows the fallback reason for each table. A value of `None` means the table is using Direct Lake mode. + +### Fix common fallback causes + +Use this table to identify the fix for each fallback scenario: + +| Fallback cause | How to fix | +| --- | --- | +| Table is not framed | Refresh the semantic model to frame the tables. After adding tables programmatically via TOM or TMSL, always refresh before querying. | +| Table is based on a SQL view | Materialize the view as a delta table, or accept DirectQuery performance for that table. | +| Table does not exist | Verify the delta table exists in the lakehouse or warehouse. Check for schema drift or deleted tables. | +| Transient error | Retry the query. If persistent, check capacity health and refresh the semantic model. | +| OLS defined at SQL endpoint | Move object-level security to the semantic model, or accept DirectQuery fallback. | +| RLS or DDM defined at SQL endpoint | Move row-level security to the semantic model, or accept DirectQuery fallback. | +| Delta table exceeds guardrails | Run `OPTIMIZE` and `VACUUM` on the delta table to reduce parquet files and row groups. If the table still exceeds limits, upgrade to a higher Fabric SKU. | +| Capacity under memory pressure | Reduce concurrent workloads, optimize other models, or upgrade the capacity SKU. | + +For detailed query-level analysis using Performance Analyzer or SQL Server Profiler, see [Analyze query processing for Direct Lake semantic models](direct-lake-analyze-query-processing.md). ## Related content diff --git a/docs/fundamentals/media/direct-lake-how-it-works/direct-lake-behavior-setting.png b/docs/fundamentals/media/direct-lake-how-it-works/direct-lake-behavior-setting.png new file mode 100644 index 0000000000000000000000000000000000000000..abdc0d58eb14408a65a4c354db5c677392cab35a GIT binary patch literal 39689 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�L6CJ7h6 zVu!CU|HyE+cYZJdi-?m?YYV5dT$J}Y zoN^o6OHzr~*&ftN5{*=(x)X~FBVwcF(6D+L^=8rh4l#_j6TnIwpfQ(+vAsyXmSlsa zPu61P;Xq;i13o%k1m?*tv7}?-V==xrZc~i%cq6K+yp%5j)&8)>>)lUz>tCn27g}N3 zLI9z9v6Qf~D(fSKM0@t@-O0@dMijt5UQBYJ<>kP~l%+;Wp0L;cR;MERx!VUQqr&?A>=AH-moCWLtI6Qzr@W=IpB?h8yUcu{K6ug{@SY`g9C&S z|0|boDESyrO&DIM?gL18;wD_$FS@)FW6rvHI^2LD$R7vlPjHV&vVSjIzAFIW9RLRA zN-VI{^p9@XY!Qg>{~r{>wci1tP=%^O^-He{{+lvT_^Ud_ii)pvx>0#dSeoarG&S}! zpa}loP~S2UL0#{UF)#I|Mk_WNla$i~ZYlPSdHV~m(_`*Y;Jq=C$1H+ye*XR3eMYa7 zAqBmQi_@K5RjJ@f^TS=&Iov1HNt@w?N6U8MpL z3M`uZadz6yj#C0m90JEyhh28MW-j6-W};aev2Oj<997!8X||W8H8ooNrr+?arP3~Z zTFsvsEaZO9vpB7A$eP=^j}mq(S}{2nTdy$dRPzB;SF-l9SdkAP&-+N9(DUS=SB#ME zv8dOgbHdudyMvBs)`fTj`)G10UG9B@%C054k#2*~>Gj)Ho^+U+Iqx|8#=94K48BLq zV`wio$|}HxdV(kOXr?}ASC6fuZI&uCDybB)nHUL$)2&ZfVHpv0F$=QaoJWya^bIvq z;@FH!4=1_?X*Z z8_#@yGuR0T&#(;X!(sD1T^^)$J)_T&jF6MtsF7P&MDWHKkh4UryqT`?t9NhC5+Wp} zeKnrnRPA->21^<#Ueeocqss}e@xd(raH`utZn@YP?CI}|mNm#Za66|cPVCOdsCFsx z)UylEc%!XDWjA9xW6+~gcH;sfE<10>8X;1TC-!SneNQ+BCG9>BN{0LPqzU&8b(a+?mf4*dT{PogntaKs& zW79hD7%?V(C`4tVBy(pH-PhI8&H!1_m$)p`F^=XlmrvTzk2I=0G5hgJm~?2x(ylLz zrWp0*lYI1D-odru3cJ%q8@O$Md9gvQHUZgP_O;Q%?h%V;DP`wG3cyQq`~B>I^lwAa zCS*zQ$L=VIE+Ua$|@$9ce={wXzcn-&Nd1_26jWweNk>$6td-9=@fmhvrIHiuq$@HsL^D6ol(-E8qF z3nF!d$Tki&j!Cf}s(xFnk`#YfPYcMkd{7@yIRE%u#8DtB;0X)g1jc%R&{HQJ!J}BVdpu^neb-t4~QoQ{OpA0{y za$5hDF}dj~HDuf{$^PLT%=%D9>h4_JLn7nanLN!PPO)->4)Wge(q%_0J>q?-i}KTlk2lwas%x}VfU0m%+Z?z#%z!#toC*%v8g zyyCgrXjgYEZBc7Lw*tdn*oo zsK{8!>602@hlBY>c_*0M(*V#xCYn#mfO8w-x@_ZX64UoAJSUO~#A+7(wF!Q%&(Yqr z|2oiz+9)g+9BJ6}9BhgQSINq^a(SBq&{`OPNg2XzcL5G0H0Bchqd+#@!oTZ%q6G^~ zn`nqfHa@uc%;(Nf@)tedtVchAtTrg<*MHBOr?^YNf3XSqzuJ4xuqNN_O_U-a4jA#P|jfzR3Sa z?(644iQBXN5y_sMySXyP880|*Kw<(M8X z6OcVm5GhW4d0gXAi*wn?2@-MhB_%a2vM5jD+iK`wQA(cpMmR_64Pt3WfWA@L6%gDW zUYKr2wKKd8BH}HzOyxu@pZU5^$2s=YesB@G$Ey337Jcu63ybmS=~j=_mXc}-Sc~#N z{9U`W47D#*hYQ$Y#P1U^;x3=h4VJ8$`hI=7uSV(98i?dS`M1Qnt-7ryhcI-2w-g?9 z8{Ag?M#frlWUQr&*`cpUFqxE0hueX9tsZ z38Gt0t=y{x+Ac5`nB=uV?gvyznOV*7M@Lled2qEAM};#UYI@?o6qA0e_N%iIjOVOZ zZWeA!yH4$fW-^vmg07i8uxE`pm7e}4DpA@wj!9sraL}mT_Zuc~waX<>eYX~Xtl5ot zCA+D0hYL$_j`>ef5_aF!)+HmvAW-z`wQ5R4Vy?v*)%z^1p(yu-?u^a4S*r=$NP8H>iNk#Lz#5mFj^tN6`0!`%X9&*GALUVjK50?={= z0Hzb>vypQ$&V9}at@npFTKmPVKHdt9IZkCleiJKl$zsyd&BIsVh@oyT?1lU6u&C|Z z?^3OUw#T2Kb_wkS0w}`~jWM2ImgYQtP2u}k*zGSqrls1>699pp*q^>S1{!Nk6G{d_ zt&{dTwL~6qhq!chm$gy=qQUDxPWrv|xAUN9g7OQD<_*=96>goO632{(NiiO0oEx!4 zLW%^KKB!~4yy@AMTxy>X*Bmc4A@#hWrwK(Bmv|MN#gd1|t;c`o*sgKG)3e^&7gSjt zwIyyWp5bcl@nDHn8BkB+PHVxP+C?5j=RWg330EZ(z6jGV7>+yTZ!s$;5X?wy%{= z7St-XIQ2h>r+TTD9g4Z4mla0G8e1QMlUi*lHc#Vq%@Eh$hbMh;$Sln3_UFkE8psKsF*&h=X=irf)^?z zl7KI0FP#KV8EZ$fFmlUg-Og8^ep9_tR$Fdp>epVMt=aIN9SodYr~t|?0AYFEZAq-V z_tkmgH+~6^7m$d6+&5zxYH|_KeG^%;JskMMuWl>8e+ECoL7+RcD)0M*o}+f!>< zZ|6+PZ-=if;Vc2hRvT(hba$2;8afJ$NDPl_l@1G^JR8B&`=zH@%|EW#MA6kLAn98g zB_%xOmC?id+WF7Z|2-t8>gei)DY%0&{_pV5bQwF=AD&K4*k*!7WhuW`0;v^H zla_Iq54rG)93LN~zsJO-dnjHIIRYKD9=+Zb0v@edO{i9DmwdD_j}*&)Fj&AL+Vt#r z1anfRV2{~NCD&5Et;xd2ToNYv$y8@>@fr0|0`#-EyW3xpeT#K~5-CZd(TS;P%|tz3AO`CDN&@N+f;hl@j~zhAMpT zOyAmULGzol92GV0JBq$v-pPN%P&bH#=p8 z>V)Fw^hS}O-2fwx%hR=j?Dp&~qzX@9WnakyYrE3-=ByTXX&~NkYq8S&Vi=&QCo~fX zBNZi%T6Ie&P|Vv|SA>Row$;d(Gg!ajsd0y8xoR5|r#4xPeg9tg3^b)BN^Sw*8*gsCmFZvcP9$*37(Y zuHwDBo-x>q%J1GeBtp`}>rIC!um`mSocgX;2Ff8ifavf(ll4Wy}nN;VsUZY z9)|Wq@TuUZYQ0tK=iIwI+Fnw{g+BJqk44`+kJo$WhSBIwtS~o1M%|e&Qii!>w8lke z{MLyAEPRqcuX^dL^Cq>RRvw7#2QJVtZt0W>>dPMH*8jKXgY!9SL%d*B>RTTsv6++O zIS5Z*y4YQusg}(9{cW9Qw?Bg%!_kURz39OT+Xzb4ldW0T(ypbuw|KY(_Z2)9rV&e^ zODE2K4I<5B6}n|?w6xT}l4^HHuo{e15*gJes>|(DWNO?U78Ut>FdR7%V|u+3Bm)IusH#r_3j3suq)Z(RG?i_?*M@7b&EXvv%P^ zk=%kF_RZHQFV$Tfzjm?_|It^=dX88lS)aY`D3_CygI=QQHi&I=Xbsx7M$4$x_HW*g zT?Pk;KhEk%K0&rWACcDcm^3?M4;mC2a(s zuF(Xjz$?ScYd`AD);PnraJ#JXR&^lJBn$hI1?T=%_1cpH26gPbV{>1|^lIugPo+kq zbaQS0;sBA|i}XlPZt?+&F*zrgxG${>!d5Bw6il{$xXt(ca)|7=F^VX>JImLuCsyYl zI}$;?UN~DgAEV03QN&iELE&f{2D`*-ft#^oeD;V^!ia=&yz=2C$I6=f)aTc$Lkpl- zx3;Kobe$4@Z|dDNIgCSzIt^gP!dZAOY*VDXyJ?Uwa+SL`G)@;I{BBePsK+#3KQMHI z$1cecAo`5$!VQ>4Ng)6d};i1%HMSt0}i%{G<-OMc9qz;vD7d zfeT;v@8xhh=vM|&NRi>|`QUbvjSBa{?N$^JuMHjs3el3vJdazIHeXrxy&+VVt$U-1 z_D}{h(7`hHn(jePCLA;Vs&SLl72UQ~JuFXQxBZ&cbJ3u%zUC6g2f7##R{v}ekvVpD zw{f4anVauvTCiU9S6pUEC=+0NaAT#$gE8tMcx z^SFqXIra2Mx~GqSXc2z?9VFh#HHrU+TB0fIW9F~CRc%X9IQBBIn$yqpja98h)nRZL zkH~ok^7xrTmjB@&76s5(8CMftJUno+IoDWX5<9DB+gk!M3$wV|+9C-2szvb%R(c0< z5Tv{i_gVO#0PeR1@}7z9uVv0a;$08}Z#Hj5m+?tV=in-&3S4)-&!mXE%wM;6RT6EC zDs4V+RsP6u&6cc3;*IZzCxM;6cZ!n}%A$Z$dJQkL*oEPmr*ccYPGg$Msk|^AahnH} zyd{^PTZpgk-2Oh@QGk9jyN>gjh@|a!|KPfa$y$1qtaF@)S|S3t=Fs%aQXs=tzUmRxrrMU0xA z3JTb=MQa_qqMfRtm2w4m-Ks$^C<=@{V~N6dJNwnxcc*^}rliLD#-1^EXq&vS#Y^wt z;vhcV>6K--_F0 z#dT1!!H8XpKPKR>2{2zvhi4c75dC$+tJGimSpA5*m~!Iu!+C*W7J|ZM^wl~6N=Txr zOx;Na3F6BXTDG<0&iX;PS zm|y(+2(<_7W9%yIYLZ{lJr{;6`!77=h3Qe~Ch30D8|$n9C|N_brRk}-b%W#7(mKAc zx%Dhg7-R$;OQQvpMwL6faSP&&`J{OXi87bf^hnyI8t2b9#%4b*mkJ~8{fy3Ex^b=G zG6{m8v~3ItSGyxkGSW|anwpQC#+`b(coxLV{nF0(yL%5jZf7@ihII$}k=BjHPd=qL zmjJ0PPa5o+dd0zab8EX6FuhZZ!P$oWJNAVw#H}~62D&L@v`DwG+hK1)kYVJ+0JSOu z1B1vUsIA&qed{s1A4;`<9Sb4RK4L!=KNGW<^CVUI%LOd^S6-OTfbLA!gJ*iR)Ced> zCXOh96uAARa7CJ9Cy&q07hFr-CpdC7ITx*;?jB#Np(J!y@Uh?vK@UOBxn0JDtH(^J z=~!McohhKKw1p7nSlcxE0#C`BL9MH_6UnL0cGcVNWo<;5P8=YRq(W8 z2>$Mes>Y2{BK*UNg043vEP0P->M9hL;muD|C<9@ZVg$&|j>G4hqTSA?vFiP$TVo9EOAn zke5*D%#~EOqn~z7G7bpd)_o3eIsM%OqR6b-8YN!Yo2B-1ZK77`g4&TLvoZ$@*^^jy zxAjJ4JYK04vgco+kvJK;Ir`RiN;ZCpF`-@TMjQZ)UfhV;_njKn)uZ5j63kxsL`V&NeD8L!st5k5=W#3j-csZ0~UtTLbI&Dt?9 z$(ClrN*=_gdh~9}HfpsmA*s+c%_(W+GK>{-j8jOl#njXLvGPwv5}FdD;toDS`j%26 zk|RJnDYssTOgve;v|ZXM|GgzIhYcxs&i?DA?pNHDT}^T5{hj{tZIgb>^|i>D=MD@O zUZ?e@;j<1GEdB^*q|t5Ke6*7B(CB&2gt=BA1Se4YyzL=zI(OGFJTw%U`Jf#2eNx6jg7CM9Nz+U z*>Val9AuEr)ALsCBh%B{DQ`kVKqZDyt0gD{aA@NpRlDx64n?2cy^jO!Cr)Cpezhnu zQJ=KB)`t%!t51LUwW_}^VnBfNZ4k`rvl{ffArqkH|I@+>YGD;}DtIu)=6<}KznTci zPpnuvUf#`&-)D@{xcv6Tmr=Ny1s>z-3T;^tONO)nx{V-FfxtpDV5=Fcl^|a56Toj@ ztSO*gs$dV!uVp=lGy%UD?c54>Gs5OlV#%;erPkb>p(lf8TJYag_PqB})oLk3kjE>y zSE%3VF(xYF3N7xj@SO%BPQ`ka($1|*{Ju7KDQj1!+nRHJIKQviIr+~xUI$r30fYc2 zEjJ2Hwg zi#KPaVR9bdfa2ZCoqL8aG%9BQv!2M;0gLZ=pa<$Gc#y<$Oscmn}k0v{|)>JPebjGn%#a7XO(zRMABCF_SZ|)#)M6f z(3=E`B58^*G!it0L4EzN%3T4lc>xpw+I6eY{Z>NEq)p->psO!{ti!h`y zkdj(oHG5#@dp;eYMObVNW?MKdrktVbBn2|U2n=UWJSg|CXdTdX)cH_b^)xeG^ zWZ+VG0U%Lq$3tl#Y7eEKg0{4S_kHepL3femg3OZ%tuhA%lUlt*s#LYgdG_qG0PO_r z7j3LqrzS`osK;qq;qegVpP`(&Pf^K|7=n7Of$wjc%G620zG0?o1LXZuvcAAs5Jms! zh6r)@#lN}xh5awG27}*t3Iia`RK98PTwMQLr~cS@Vo>>R$4p1| ziMhWq2cq)o!z%3)9Gyb6Sf_KJt9+k7JTzqA03<}rNxrqBdl02SdN+I@^4^KM0X@GO z^eAuFX;L0}igca|npLgIxi&?oz+l6G02He0)Gfj9S_$Iysh2&!Yy%g}d8)WhUCA+3 zGx3ONEA-Wh)v+=Hly4n?*(>nVF$Y<3=mbvt(S zn`O@8D&FfFnFKCx(H@A=t1U1w;Gst_cx~`XRJ)ju04_tx{^R_^ldqf7%}Q7lSlzLl zFZBSmOi!!}9S?iw0CYp?qOrYu*BNvs`zFKrrz;`Pd4iO_`i`B#bEW!yELF_&*X|hg zx@+Uj#$s7I$F&M%ucbbPX}LRO>j3d3s5%+RhoxOh!=wov^&T`y4njtnGB282Nk%blMd(;IgQf#uuJ2;xbGaJvX_gud<5I5M4 z)T4uvxECEkSIb{*!7sw}t~D#``@*LZo9DN$3w&=@d1+v|Z{Z_3srOgK+RM7!=QDck zp(uryXO#Rhk`S24i?p9PnW6%8|4Pqm?2`~h4l=UI+qYoN-o4>C0qGL|Zru5Jf){kf zK_5+uC_Zs^FSTtV)ST;Q>rj7h1B9P$HC?Zn3OzON^4 zB+X0wRrN=|B-WC?cO>WZs@~(h_QLGzx92|bTfQ$k^m%gV8Ks&LkwN`Cq-;E`{^t#u zD1S;b_xw*v4?ikd{i}2k1idfm_iWvhVbKAC* z>Fxk&*HN1>O-iZx8t4%Xe?LM(D)Jw}kEirwsO=aGq}O;|; zpV^7H_QX4HP4+(=oI;PN(Y$>ct#HCJVBL0x1abP0f%5T>2#@#NFxtP2iAP!!(H>|H zN_0&PKWZM+k5lPsR}Yklr%eJP$nfdJvx!iUe*q12aPNUysr1x?S+6_|t+F#9Jpqv@ z6Ae)@5FgSw4+Y}YRn9VQRjs_WDL4ErctC9IUcEyQMm@iDcNA2yUaJ4AaqVpkwm4$} zNeP7B_jr6xdq<&EkW|lH^ppvtrJ$1_EAnZvHgH6iOWvnY2K0qtaAPp=GSNHcJJA?@ zmKe!TdYnbP>8JrW1v#+8P%dRF=m^ZcMsGlGhOrX#`+xE%>t9j`q0JzL5Z5ySqE@Yc zvU+5BXLLA+-%bjZgJu(Hf%v|8={(c%_Cd?((pg1@s}KiG8oehkMfX}VbOXwEWNFe! zR%$l_2PPGMocQ9;y={Y0YMJTPD~}$&uy-gFx;7Q5CNtY~WOLN<1di?^cCmVz-`?5Y zD+IN=8Fy8QS^j0;?uX%hvQyOY=5J zuUYeIc-)T-jC-q3A-BDH6`}J!LUgCTCpkTWZd(`CmW>5c%|lMda>ThB-`CLT9klv| z@qm`s@KbsL1()LXcxc2PpJ?Onq`Sw3-qQt8VYv?&=<4A~MoxfU=(%JbK`OtJoz1Ip z$$HOF6r`Ol2PMm|tFKBrq!-NJ8r@zRX?wNHmBE?uYy^lDbC1*6iugEQw>=L9{mL)? zSej4GwCKK}IJ33WMIT53R`(x`w@?LjFPpS;+->;$I7#L6yI+ZLe zd+uk#_3iD+Mzmjyd_-N2N4i)pI7`E-;Zy0F?YRkpS9&ZEj4+axY!%wE zpxO|S1B#XA?aBQq#PAXFga5@fX^wvdL6R-#1$AP526NRr7^N}_=F4HOPd{CvZq$_p z6}Uu)Xv2+$(`a++b|=Qs_Uflo#i<~~;D}+s>*EK;5-zIY=r-1!*UUr^fuR}h?*l;++d`Dh(@h!fei zVW{+Do(8FLI|=}JY^{F@uX+%-W0?%G;D}*Bi$5denKFN~udZNAnr#xDGTFvxwim1q zx?_t)oKv1R^Panvgg?k-0);8~_cd4b#9+SyImoXVsm^bgiV+D9ZnrWbWS?53*v7rD z0)-SzNxsJr3>QF)L0|hzqDaA9dvn>#mfgsTNBSK5Zl>bvId-iK9kK-nw$h*!?MA#b zjqJ(l>~-hC6@x?C#xb8bIW|bBM^FEfWgA;c(3AtZLgd{gjM%94p}?RUp9cOd>eyU5 z5*cTIx6OAos3WjyD{(n;`OMxQL3>BpUmYd>3q!Og#JFSW3M6g?b*Xp%rP=KNM=~Te zR)`!ZX2cENXb?UA<@lAMdv?V{LJ|yO(yj05ySKpONxA z_UbjhblCjWt^UrjEhoMMGpxhWuP5$AcaqHQjZKXfy~^`(Wul>L;p-Q{f%(;t9teZ( zJ@|~XS8lrMnO<8qo+olsBqmg4!+je3@C1>i@pbNYdw@H23^m7~ba|WUDL>FWwp{vL z$Jow%aeqi;ZjikD$Iv>gL_wZyOiwu`7cFh->^|oaj9njGv840bmeE3)3f z52!eAlqPrB)k^Q#YAbQQW_pEIVz@tC@#S2!CXf8W-o>EA2dI;8xjkH_I+xiBOK6bE zbfC*Cl!YDHFSbgTYG%@UFmi4_dC}CH1B1QNI=Jr$&p%-pY-Lkjkb%u+s4?5v5Rp() z4Y1sRz+$n3MQSV2oC72L{j(zBJs}sk;$IzSC}Bbj^tnyy*B<3mf(9|G9{a`IGnyVH z6!ehxNz~$(Lyeczv7y`J-tkvoU>75RE)rRDIPVjj9@L2?(SuJ)HPD&Up|PKHlP=?T z#-2wNes2|%a4)6;y(Rf;P&YN%kiL`+QjJ(*n`k@eusF)o#|KB0)kzcxv3;phTw38p zTh-+TD^<;2S^6xABi)&63v9c;YDEk!MtrBfJODJS>MhPh4P zXw+c$pqL2tC%Custaj7HX33G+uTs?Bw)yl3RX<^znD6ZQMyFZH+jLF|pPv%HC^tIY z#HsE)bMK)*#t2YfrsluI(}^jtaY#`6d~xITvlo(Ml<)@XISSSu_dW{bdO|2QqP|to zzA&541M73KdMw1@C^wcBYhwAxmYhk{n93;O8g7TnA3=k;i~4O1d6O{>&4pAyI?$wCB5m z>Ds0#`6S$%c)vhTqCoFs3QeU1ss;XQbUwj=i-#_Q?PZ<$^Y+S(SQ~Ma4}3|10^1xN z0{;CEykQRmCF?f|*aW3#FkSXu`y^}W(DTp>uKI$%^NQd1Ns4R3 zclg2I?_-aE0llGw@zfo@#Qp0fd?!GorKHM0qe> z&PK?i!>U%+Zc^)*Jxuz~G*{B0-}O0m_dmP1(_OHwMzXZHlV6h%cuoByZrNRa)N=vl z*amtyLo39ZNiBb^l@I$xWxHO=mgnBv{?VX}#Ya9>%yvb)=c4WtF#WHyl!C^i@h?rH zYuD5{=Gv7!uit?|6F4rPWQ|xv%7Gi~!+sI@q?P#oaofPPkE;uMac;b<#E`4!uVaQd zUT3*JhC>%nfVMocV2kx}=h7e|x{*Az=&3bZ%a5zhu!sqt8P<`xI8d^_u$2;o^O#Sk|F${75-SfWAhq6D$9lHbcy*n@2NzJ3Oyr{+ zJJ@+?>^}2T{Mt;5bxsWZNGYyD&+)G>ruHEd;v1Y+Qo}aJe9!JZrTD1*JJ?b`HgM`l z*x)EGW{Y)%ujtq}lgS~m3@I)7dhf^oax-0=b?F{NBgam`E${U1xJS`nBou$|Qu|G~ zbe8LmYltzm`BoNon}A-dlseAr184eu4_z);#9F1emhyoobPZoA;f8@sU`h|iP@|h> z%!s{E6^1?N7JOb6kp`l1Pwl(FX8g77zi`Wgo_7r;7H&rZKOZljb!@kSwrmY9 z(s=aLGg|A7Kl_{?3+@|C*8on~&u36doVZ3$KF{RcqIHRy@8?O6ZwFg<>WR!p>fQ^I z6o_M-dw`7sRn-zb0?fG&gY2W$1yj!3@=i9&s{5nslP`v10Qn8$nBsrY{xGW`Qx z!0P=t>C>yhQ79Q3mSttBeayi>EzXZE3z-4vGUQ!g>3%Llt0}UVSi`-zq zj{I_-5_{0nSl$nx4CQRBY0(<%8XD#~^V1=F5R+P>85tqJT>v*$TUDEd@BUQ<6U(Z# zHMfifPLo3v-5#i+!|2c9727H~LhCc#>*LLhy`x4f-Wky{O0g-4(Qj+fy;NwH0sL^= zQ#DZpU(?QJ!ksA&kp#l_az(wJEKT^C5%F7#yaz6a?FBpar>D23K-+T4(I7NBIzwL` zA2=8K@PLo3PetHV_^KzCC9$Hos^9>d?=9X4Yi#f|y&3ltt|4zmtQ9eXBGX?^eXN)2 z!}I={>y|FnOPAWEzuOWmsnFXB_TgerC6V`j?_fz5SVVmd2iEUK8V$#p!olq znL~~7p!36wMP@Vxl3_*fpDMeFrIVk{qmbCM8^|Dg;FmvEQw>Q z%&vCy*n3iPqb`hJJ+SPm^=v;~j5xQvJd)4SEK#+a4appcGxRr|u5QQ;IDe;I3ZWjo zX}(m#g7h>~??WdXftd#86a9)>UWz0H2IcUa^NB?1q3Ta2e69kA@{X+q+5EIEDE$UtD0ntA^V_yMq*2UhdM^M`aB zqraz|3Za?AMz*vN;7W>n0$%us4L+9$>>~Dv`vbb{hc_vH8l@l305Vt5Wte|}0sLv< z7xJyWHro~md1a&7K#0f;toT?+p5I{ytsY)DBDt(%Rar`v*^ml->V;sM3H^~$J{`w5 zQvfqE-UYrj)h*O`Thx&Lh}S_K_h7D56f^)4T%(4cxXWn{{u2>KMtLXhvSFCmD5&@| z5xKw(uvvK|gU7o;IByU3E*lk+l1dpv-TPRoL+pUcV-aB1MOnz;6UC-NA)!n`4+dBS z2B`9&GaQ`AdI)~*haFI%httwiP_pVv^eH!L(u-99Z&P~?^7B*(6?)KZit;dkeGS~~ zGstRVrRA1deI+-~uZ$h{+j}i{CWY2>(xR=C`#67xik`tn5{HIOZ#Zf zG#x^{v6r@pCX-a>zMdCTN{RjWxpK$GW>V8i=f`IsLoIUiz{I_`yW10OW#?jPQ^jGXepS^4qisXq#3noXFys3( z&zv7C;x9iG$?uqO=%Cg8Ya6@S6Nxz`<4njHOI`?&XmMeq#?o1_D<^QG(=sSSi`fgm z&xhs}0lEG*9{PLA)4cFf4~OCrG5k4$!9bGR>(R|YKJ=73Yu(M47OWKBOx}?UPwP** z_5~457@On1H)huW1@wBfA={r9Pqpk+&!$u2C?6Etf?*Ooyf!@UX=4yUm4e(6D)WH$+v~zp8A=Wxf#5 zk36&Fov?I6uI4g)Z-q84tNal1%xF+r;Fm{B(g(Vkf3NRBm}A0}oaf80T;REWMFH99 zkp=E5AvFG7)R8P1KHszyYs2ZYg1iEoUFIov0qgZEibsbNy%k`NINrk_*Qk&oRM)`i z(3JXCDZU9KT-{_4iv(DegANJ`F`BviMF8x=~6Txl4fvreOP~EM*OB&0V$>MgV@uhd0$NZ18Fj zL62+}5`c^P^)j4$&_S1!%)a6aYF*Bk9$uwjoySt^xW^IDSB_NrP89lx#Q-nMpIN#W zp{0YZn?I?v^$-|?Zx};`4qCLq7!%T%?fgDgeLY%q)!}r3ounE+pgaauiTz4D%h7lN z(u_JV0T^o2W#t}Zrj(BRn~husJ1`!rqfo563XkQeYZBNQ3k=wuh@SIyF)ILx%3cEK zd!`s8TD|s+{47=9q@45%c@N_bl$><9Rw)Ad6-!)8ujaK_-tTCIYJm6C6 zd7XJa$D<80JtrX3Bh83#KIK?pTc-5RphA)H2!d0`KQ4dJ`1fhL0`H@-eJT*(Q&6+M zkwmq{MQca?BU?-<*>Bb-#@AHsSjcU@MK2qjm)telGUnk?rp(toTZA z7tzJ2{VEU4)uETyiCA%Ltr){*X(myygCQP8PL8~NS31$Qz&gj%&zg5hC?%?7mDmh5Ih0!KF|MN}rWQ6r+2c1}8mX;n#&t~Lwdvc37-swk~h z9sqaN^ADKrI`VV}!M$$XDx}D5`o5V>362E@``&eYI>cd$+ld$ZX7z<#r9_PP$1k|$ z0Z=24SLfeyBF!=;n%ImwM@+wJoRC@`dhngtAGBbEKbd%E8y*~Znk4AJI~3}` zqFqA49I{PazHnZ@r7nxHxQ`N@ek?YTrM0erv~8?3y|2B##*h-d%^A*C$q1$(gggZ} zcpq)NbWbiLLPox%tVje|a#cNlNDMD~TYNqP5L9jsPNA!ZPb9p0+_=u*%}d2h9SclvW;WwtvSU zS!4{Na}Qt;8kK*?AiZP^()@c7|HdHcfO^_{M2!pZRUGs`%rWr(|OH-7VbaXA|L{dohUh2A9q0@ko?cR$QTQV3V`zhU!4WcR1~jIps`)BIcjNGM=r6n6rlQKM#PSZ^kFUDo~)iA|QS) zRR;h_GI-GOg96t7e;&FOGB{p0ye_))zP*2U+I43$ljBXT|D@?UhvKg5p+?h{b5^@< zyl(PoQcooZO8yLKg9FPwLs$#Hn()R+2T`sdS|j(0RU!PB&{h8TKa48`D2GCl@tSgJMA6eX(8n^BJ~qn8&oxMZF=&XLuHocb6uX4 z?QBRI*wnD2#d867>g%ngt8HV~)M2F~y?l;gHmeos=vY^YexcXxlpMvB=~>h%zqVJ` z8b+AzsR*nkB$ITfDueRPcki8{T0%?hb*c-j1=9cs;XD7Tqf<>13 z*2S|0%&J@M%bQC9vl2wI0)LbgWR`^P5 zR`pBEJINd#z^ra%b#A}kp7L-Y>e~|6wMsXuuQcXveO84Hr5RDb!&{s^Xw6$HYa(Uj5ED6b6;zr-8#ou8yT^+h3VD9aZ zPmNgK@mc7w*S#E;MP^@qoHY}ibzhCfiZIL(p1sq zgJWmk>;jhEJA?AKO-`~dJsIJ=N>f~OG-dlbw6kuJcUCSf2CKp-=>vZOv1dOV0u>^S z1Iht#-v8@qfQb`U1}2IEdqtGY)vG1{yt~>gL|%~tG~mqq$c(?+Z|uedOdL-g)jz;Y zVsh84$kabOp#Gu#@&Epz8+5=iTJ=K#9ob|2UuI1I2EHff_OfD zS+AsMGzgLI&)m|?@u~|(A+7#8rZngW6p5C*C6?y${9L;(@Kcxxyk(FT<%#7{if6P_ z6%{7Fz-m+mk_fsl^9R*%JNJW6SZv;pR`6Qc`7RgOR(Hl?c=4uG;w*Sed0+V`bb#>k zsEG1{f0ahgfO@xaONqUrI!7u?K;V%E0L^|nA3u2P2Ne#dufd&xigfXi#hFeF3S3@7 z%OX@qQh807y;Mq5l<%7xJlwn*XjFxHEotg z{Z}6Z?EU4UB^6*iRPn$RiUzy79RA+sUDM6TSviCB92sEa8eX7A^EMEYZpTC!uhx_r zZY`Hq`nI~2DLrQ+f`-pOV)V?qzB=Khd0?{4Ge+)>;e}ztAEgkg33-a|9&I+3va+($ zR$2iZQp$k5c=u3bthV)|04RndZ)(XiAQ;MENBSQUtioFBcBafy|A>vM>x!s43bApEn=v$OA~ZS}H?$gM(J!;l6>gQ%Q~;#s9nr^6nC&hNStA?mFIqaL>3f> zDVJP^MeG4jDGD>zD+oqiWTOYn+F4j7h@95zO3F0)?T&n8I_7Y-=P;P@WHRtHg|%F@ zlZJaOEhZ4cOqcra)Ae8Z{kJ54;d#BzkD-AcD$|k>Bj?eE` zvkw+_Xr*di{A?i`nPpAOf&qkzI~6)P-OTHR*rbQJ1)&tZvX(J54?%mxAo@S zrJfg=XPi%&rkNg^{SpMo1F#IIk?VDXUy7&1lIm&7b(DFoK}0*h4<{@68PqnLv`J88 zED71(1r{t}Oj!GPJXNvvCG!8yy`+o6UuLnwZfyHiReA(m<2@`XaI@=iyn!I~Z* zuPH{8JdsWS2>r-k|0h=kQ7->U5rP!?e^P}1o0(aVF4<9{KDIAgdfB5NutpS@FKS=N ISAmEAH_O3q`Tzg` literal 0 HcmV?d00001 From 0c9ed1c091d5b363b5075271790c4f11ec0d4284 Mon Sep 17 00:00:00 2001 From: vvereen_microsoft Date: Mon, 1 Jun 2026 11:17:31 -0400 Subject: [PATCH 2/6] Split RLS/DDM/OLS into separate bullets --- docs/fundamentals/direct-lake-how-it-works.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/fundamentals/direct-lake-how-it-works.md b/docs/fundamentals/direct-lake-how-it-works.md index bcf5bced45..4519d713a4 100644 --- a/docs/fundamentals/direct-lake-how-it-works.md +++ b/docs/fundamentals/direct-lake-how-it-works.md @@ -89,9 +89,16 @@ Direct Lake on OneLake does not support DirectQuery fallback and operates only i In Automatic mode, queries use Direct Lake mode only when *all* of the following conditions are satisfied: -- No tables referenced by the semantic model have [SQL row-level security (RLS), dynamic data masking (DDM), or object-level security (OLS)](direct-lake-develop.md) defined at the SQL analytics endpoint. +- No tables referenced by the semantic model have SQL [row-level security (RLS)](direct-lake-security-integration.md) defined at the SQL analytics endpoint. +- No tables referenced by the semantic model have SQL dynamic data masking (DDM) defined at the SQL analytics endpoint. +- No tables referenced by the semantic model have SQL [object-level security (OLS)](direct-lake-security-integration.md) defined at the SQL analytics endpoint. - The semantic model does not reference any tables based on unmaterialized SQL views. -- No single table exceeds guardrail limits for parquet files, row groups, or rows. For limits by SKU, see [Fabric capacity requirements](direct-lake-overview.md#fabric-capacity-requirements). +- No single table in the semantic model exceeds guardrail limits: + - Number of Parquet files is within limit + - Number of row groups is within limit + - Number of rows is within limit + + For limits by SKU, see [Fabric capacity requirements](direct-lake-overview.md#fabric-capacity-requirements). - The semantic model has been refreshed (framed) since the underlying Delta tables were created or modified. - The capacity is not under memory pressure. From 746bba266f12ffb8f99ebf7e0155db1f6d8a1f6a Mon Sep 17 00:00:00 2001 From: Vivienne Vereen <162376078+vvereen@users.noreply.github.com> Date: Mon, 1 Jun 2026 18:21:10 -0400 Subject: [PATCH 3/6] Update docs/fundamentals/direct-lake-how-it-works.md Co-authored-by: Kelly Gremban --- docs/fundamentals/direct-lake-how-it-works.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/fundamentals/direct-lake-how-it-works.md b/docs/fundamentals/direct-lake-how-it-works.md index 4519d713a4..6e89b8c152 100644 --- a/docs/fundamentals/direct-lake-how-it-works.md +++ b/docs/fundamentals/direct-lake-how-it-works.md @@ -93,12 +93,10 @@ In Automatic mode, queries use Direct Lake mode only when *all* of the following - No tables referenced by the semantic model have SQL dynamic data masking (DDM) defined at the SQL analytics endpoint. - No tables referenced by the semantic model have SQL [object-level security (OLS)](direct-lake-security-integration.md) defined at the SQL analytics endpoint. - The semantic model does not reference any tables based on unmaterialized SQL views. -- No single table in the semantic model exceeds guardrail limits: - - Number of Parquet files is within limit - - Number of row groups is within limit - - Number of rows is within limit - - For limits by SKU, see [Fabric capacity requirements](direct-lake-overview.md#fabric-capacity-requirements). +- No single table in the semantic model exceeds guardrail limits as defined in [Fabric capacity requirements](direct-lake-overview.md#fabric-capacity-requirements): + - Number of Parquet files is within limit + - Number of row groups is within limit + - Number of rows is within limit - The semantic model has been refreshed (framed) since the underlying Delta tables were created or modified. - The capacity is not under memory pressure. From c01d074d3fc6030f4b8daec42e08da7843b36b8f Mon Sep 17 00:00:00 2001 From: Vivienne Vereen <162376078+vvereen@users.noreply.github.com> Date: Mon, 1 Jun 2026 18:21:21 -0400 Subject: [PATCH 4/6] Update docs/fundamentals/direct-lake-how-it-works.md Co-authored-by: Kelly Gremban --- docs/fundamentals/direct-lake-how-it-works.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/fundamentals/direct-lake-how-it-works.md b/docs/fundamentals/direct-lake-how-it-works.md index 6e89b8c152..e4e81075ff 100644 --- a/docs/fundamentals/direct-lake-how-it-works.md +++ b/docs/fundamentals/direct-lake-how-it-works.md @@ -87,7 +87,7 @@ Direct Lake on OneLake does not support DirectQuery fallback and operates only i ### When Direct Lake mode is used -In Automatic mode, queries use Direct Lake mode only when *all* of the following conditions are satisfied: +Queries use Direct Lake mode only when *all* of the following conditions are satisfied: - No tables referenced by the semantic model have SQL [row-level security (RLS)](direct-lake-security-integration.md) defined at the SQL analytics endpoint. - No tables referenced by the semantic model have SQL dynamic data masking (DDM) defined at the SQL analytics endpoint. From fd87e1b8342cb63329eb76017a6be86070656cab Mon Sep 17 00:00:00 2001 From: Vivienne Vereen <162376078+vvereen@users.noreply.github.com> Date: Mon, 1 Jun 2026 18:21:45 -0400 Subject: [PATCH 5/6] Update docs/fundamentals/direct-lake-how-it-works.md Co-authored-by: Kelly Gremban --- docs/fundamentals/direct-lake-how-it-works.md | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/docs/fundamentals/direct-lake-how-it-works.md b/docs/fundamentals/direct-lake-how-it-works.md index e4e81075ff..3cbeddbf62 100644 --- a/docs/fundamentals/direct-lake-how-it-works.md +++ b/docs/fundamentals/direct-lake-how-it-works.md @@ -102,24 +102,17 @@ Queries use Direct Lake mode only when *all* of the following conditions are sat A single table exceeding any guardrail can prevent Direct Lake mode for the entire model. -### What happens when conditions are not met - -The behavior depends on the **DirectLakeBehavior** setting: - -- **Automatic** (default): The query silently falls back to DirectQuery mode. Reports continue to work, but performance might be slower. -- **DirectLakeOnly**: The query fails with an error. - -Use DirectLakeOnly mode during development to surface these errors early and fix the root cause before users encounter silent performance degradation. - ### Control fallback with DirectLakeBehavior -You can control fallback of your Direct Lake semantic models by setting the **DirectLakeBehavior** property. This setting only applies to Direct Lake on SQL endpoints. +When Direct Lake conditions aren't met, the behavior of your semantic models depends on the **DirectLakeBehavior** setting. This setting only applies to Direct Lake on SQL endpoints. + +You can set the **DirectLakeBehavior** property to the following three values: | Value | Description | | --- | --- | -| **Automatic** | (Default) Falls back to DirectQuery mode silently when conditions are not met. | -| **DirectLakeOnly** | Errors out instead of falling back. Use during development. | -| **DirectQueryOnly** | Always uses DirectQuery mode. Use to measure fallback performance. | +| **Automatic** | (Default) If conditions aren't met, the query silently falls back to DirectQuery mode. Reports continue to work, but performance might be slower. Use this mode in production to preserve functionality for your users. | +| **DirectLakeOnly** | If conditions aren't met, the query fails with an error. Use this mode during development to identify and resolve errors. | +| **DirectQueryOnly** | The query always uses DirectQuery mode. Use to this mode during development to measure fallback performance. | #### Set DirectLakeBehavior From bb38f83c60d7843b13abd0fc13578cdc132607bb Mon Sep 17 00:00:00 2001 From: monicacalleja <118761902+monicacalleja@users.noreply.github.com> Date: Wed, 3 Jun 2026 10:46:13 -0700 Subject: [PATCH 6/6] Refine Direct Lake on OneLake documentation Removed and renamed 2 things based on comments --- docs/fundamentals/direct-lake-how-it-works.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/fundamentals/direct-lake-how-it-works.md b/docs/fundamentals/direct-lake-how-it-works.md index 3cbeddbf62..89a1050408 100644 --- a/docs/fundamentals/direct-lake-how-it-works.md +++ b/docs/fundamentals/direct-lake-how-it-works.md @@ -83,11 +83,11 @@ When using Direct Lake on SQL endpoints, a query sent to a Direct Lake semantic > [!IMPORTANT] > If possible, you should always design your solution—or size your capacity—to avoid DirectQuery fallback. That's because it might result in slower query performance. -Direct Lake on OneLake does not support DirectQuery fallback and operates only in DirectLakeOnly mode. If you need to avoid fallback entirely, consider using Direct Lake on OneLake. Direct Lake on Onelake is the recommended Direct Lake flavor for new semantic model applications. +Direct Lake on OneLake runs exclusively in DirectLakeOnly mode and doesn't support DirectQuery fallback. For new semantic models, it's the recommended Direct Lake option. ### When Direct Lake mode is used -Queries use Direct Lake mode only when *all* of the following conditions are satisfied: +Queries remain in Direct Lake mode (avoiding DirectQuery fallback) only when *all* of the following conditions are satisfied: - No tables referenced by the semantic model have SQL [row-level security (RLS)](direct-lake-security-integration.md) defined at the SQL analytics endpoint. - No tables referenced by the semantic model have SQL dynamic data masking (DDM) defined at the SQL analytics endpoint. @@ -98,7 +98,6 @@ Queries use Direct Lake mode only when *all* of the following conditions are sat - Number of row groups is within limit - Number of rows is within limit - The semantic model has been refreshed (framed) since the underlying Delta tables were created or modified. -- The capacity is not under memory pressure. A single table exceeding any guardrail can prevent Direct Lake mode for the entire model.