<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>All Data Engineering posts</title>
    <link>https://community.fabric.microsoft.com/t5/Data-Engineering/bd-p/ac_dataengineering</link>
    <description>All Data Engineering posts</description>
    <pubDate>Tue, 15 Sep 2026 13:07:01 GMT</pubDate>
    <dc:creator>ac_dataengineering</dc:creator>
    <dc:date>2026-09-15T13:07:01Z</dc:date>
    <item>
      <title>Re: Claude Code Integrate with Power Bi</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Claude-Code-Integrate-with-Power-Bi/m-p/5367010#M17952</link>
      <description>&lt;P&gt;Hi &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="1626597" data-lia-user-login="Yash8160" class="lia-mention lia-mention-user"&gt;Yash8160​&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Thank you for reaching out to Microsoft Fabric Community.&lt;/P&gt;
&lt;P&gt;For this POC, you can integrate Claude code with power bi using Microsoft’s Power BI Authoring skill for Fabric. This allows Claude code to work with power bi report and semantic model artifacts.&lt;/P&gt;
&lt;P&gt;There is no fixed number of Claude code credits or tokens per power bi report or page. The consumption depends on the Claude model used and the complexity of the authoring task. So, build one representative report page, record its token usage, and use it as a baseline to estimate the remaining POC, including some allowance for testing and rework&lt;/P&gt;
&lt;P&gt;For reference, follow the below documentation:&lt;BR /&gt;&lt;A href="https://github.com/microsoft/skills-for-fabric" target="_blank"&gt;Skills for Fabric&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="https://learn.microsoft.com/en-us/fabric/fundamentals/skills-for-fabric-install" target="_blank"&gt;Install Skills for Fabric&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Thanks and regards,&lt;BR /&gt;Anjan Kumar Chippa&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 12:23:21 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Claude-Code-Integrate-with-Power-Bi/m-p/5367010#M17952</guid>
      <dc:creator>v-achippa</dc:creator>
      <dc:date>2026-09-15T12:23:21Z</dc:date>
    </item>
    <item>
      <title>Is it possible connect via a guest account to a Delta table in a Lakehouse from another tenant.</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Is-it-possible-connect-via-a-guest-account-to-a-Delta-table-in-a/m-p/5366990#M17951</link>
      <description>&lt;P&gt;We have the following architecture in Microsoft Fabric:&lt;/P&gt;&lt;LI-CODE lang=""&gt;Open Mirroring Database         ↓ Notebook         ↓ Materialized Delta Tables (Lakehouse)         ↓ Shortcuts into Connection Lakehouse         ↓ Power BI Desktop (Azure Data Lake Storage Gen2 connector)         ↓ DeltaLake.Table()&lt;/LI-CODE&gt;&lt;LI-CODE lang="powerquery"&gt;Source =     AzureStorage.DataLake(         "https://onelake.dfs.fabric.microsoft.com/&amp;lt;workspace-id&amp;gt;/&amp;lt;lakehouse-id&amp;gt;/Tables",         [HierarchicalNavigation = true]     ),  dbo = Source{[Name="dbo"]}[Content], TableName = dbo{[Name="&amp;lt;table_name&amp;gt;"]}[Content], Data = DeltaLake.Table(TableName)&lt;/LI-CODE&gt;&lt;H3&gt;What works&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;Internal users in the hosting tenant can successfully create the connection.&lt;/LI&gt;&lt;LI&gt;At least one external Entra B2B Guest user can successfully create the connection.&lt;/LI&gt;&lt;LI&gt;If we create and publish the semantic model ourselves, external customers can copy/use the model successfully.&lt;/LI&gt;&lt;LI&gt;Existing reports refresh successfully once deployed.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;What fails&lt;/H3&gt;&lt;P&gt;Several external customer users that have been invited into our tenant as Entra B2B Guests receive a &lt;STRONG&gt;404 error&lt;/STRONG&gt; when attempting to create a new Azure Data Lake Storage Gen2 connection directly from Power BI Desktop.&lt;/P&gt;&lt;P&gt;The users have:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Accepted the guest invitation.&lt;/LI&gt;&lt;LI&gt;Been granted access to the Fabric workspace(Contributor)&lt;/LI&gt;&lt;LI&gt;Been granted access to the Lakehouse.&lt;/LI&gt;&lt;LI&gt;Been added as Guest users in Entra ID.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;Observations&lt;/H3&gt;&lt;UL&gt;&lt;LI&gt;The issue is affecting multiple customers, not just a single user.&lt;/LI&gt;&lt;LI&gt;The same Lakehouse, shortcut tables, and Power Query logic work for other users.&lt;/LI&gt;&lt;LI&gt;A Guest account from one customer tenant works, while Guest accounts from several other customer tenants receive a 404.&lt;/LI&gt;&lt;LI&gt;This suggests the issue may be related to cross-tenant authentication, OneLake access resolution, or the ADLS Gen2 connector rather than permissions on the Fabric artifacts themselves.&lt;/LI&gt;&lt;/UL&gt;&lt;H3&gt;Questions&lt;/H3&gt;&lt;OL&gt;&lt;LI&gt;Are there known limitations or issues with Azure Data Lake Storage Gen2 connections to OneLake for some Entra B2B Guest users?&lt;/LI&gt;&lt;LI&gt;Are there specific cross-tenant access settings, trust settings, or Conditional Access configurations that can cause a 404 during OneLake path resolution?&lt;/LI&gt;&lt;LI&gt;Is there a recommended approach for external customers connecting directly to OneLake Delta tables via the ADLS Gen2 connector?&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;Any guidance would be appreciated.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 11:21:00 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Is-it-possible-connect-via-a-guest-account-to-a-Delta-table-in-a/m-p/5366990#M17951</guid>
      <dc:creator>FabricEnjoyer</dc:creator>
      <dc:date>2026-09-15T11:21:00Z</dc:date>
    </item>
    <item>
      <title>Re: Bronze data contracts for REST/API sources — workaround for Get Metadata's connector gap</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Bronze-data-contracts-for-REST-API-sources-workaround-for-Get/m-p/5366956#M17950</link>
      <description>&lt;P&gt;Hi &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="760485" data-lia-user-login="damo_mac85" class="lia-mention lia-mention-user"&gt;damo_mac85​&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Thank you for reaching out to Microsoft Fabric Community.&lt;/P&gt;
&lt;P&gt;Thank you &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="38" data-lia-user-login="GilbertQ" class="lia-mention lia-mention-user"&gt;GilbertQ​&lt;/a&gt; and &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="1270137" data-lia-user-login="ShivekMaharaj" class="lia-mention lia-mention-user"&gt;ShivekMaharaj​&lt;/a&gt; for the prompt response.&lt;/P&gt;
&lt;P&gt;As we haven’t heard back from you, we wanted to kindly follow up to check if the solution provided by the user's for the issue worked? or let us know if you need any further assistance.&lt;/P&gt;
&lt;P&gt;Thanks and regards,&lt;BR /&gt;Anjan Kumar Chippa&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 09:57:27 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Bronze-data-contracts-for-REST-API-sources-workaround-for-Get/m-p/5366956#M17950</guid>
      <dc:creator>v-achippa</dc:creator>
      <dc:date>2026-09-15T09:57:27Z</dc:date>
    </item>
    <item>
      <title>Re: Pure Python Notebook: authenticate to Azure DevOps Artifacts using Fabric Workspace Identity</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Pure-Python-Notebook-authenticate-to-Azure-DevOps-Artifacts/m-p/5366953#M17949</link>
      <description>&lt;P&gt;Python notebook in Fabric has no step that turns its Workspace Identity into an Azure DevOps / Azure Artifacts token for pip install --index-url, and the simple path is reading a PAT from Azure Key Vault and giving that value to pip.&lt;/P&gt;&lt;P&gt;The token API only gives audiences like storage, pbi, keyvault, and kusto, and Python notebooks do not take part in the Environment flow that Spark uses for Azure Artifacts. The Python kernel has no credential provider capable of producing an Azure DevOps audience token. This is a structural limitation of the current Python kernel architecture, not a missing feature in the documentation.　&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 09:55:46 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Pure-Python-Notebook-authenticate-to-Azure-DevOps-Artifacts/m-p/5366953#M17949</guid>
      <dc:creator>Kagiyama_yutaka</dc:creator>
      <dc:date>2026-09-15T09:55:46Z</dc:date>
    </item>
    <item>
      <title>Claude Code Integrate with Power Bi</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Claude-Code-Integrate-with-Power-Bi/m-p/5366951#M17948</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;I’m working on a POC for Power BI + Claude Integration, specifically the Report Authoring skill.We need to use Claude Code to create the required report pages and visuals. I’m currently trying to estimate the Claude Code credit/token consumption and approximate cost for completing this POC.&lt;/P&gt;&lt;P&gt;Has anyone worked on a similar POC using Claude Code? If so, could you please share:&lt;/P&gt;&lt;P&gt;Approximate credits/tokens consumed&lt;/P&gt;&lt;P&gt;Estimated cost&lt;/P&gt;&lt;P&gt;Any recommendations for estimating the usage before starting&lt;/P&gt;&lt;P&gt;Any guidance or experience would be really helpful. Thanks!&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 09:54:54 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Claude-Code-Integrate-with-Power-Bi/m-p/5366951#M17948</guid>
      <dc:creator>Yash8160</dc:creator>
      <dc:date>2026-09-15T09:54:54Z</dc:date>
    </item>
    <item>
      <title>Re: FTL4 Trial Spark failing - InvalidRequestClusterFromFabricDenyList - Cluster Cancelled before Ready</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/FTL4-Trial-Spark-failing-InvalidRequestClusterFromFabricDenyList/m-p/5366943#M17947</link>
      <description>&lt;P&gt;Hi &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="1779098" data-lia-user-login="pritwade" class="lia-mention lia-mention-user"&gt;pritwade​&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;As we haven’t heard back from you, we wanted to kindly follow up to check if your issue is resolved? or have you raised a support ticket?&lt;/P&gt;
&lt;P&gt;Thanks and regards,&lt;BR /&gt;Anjan Kumar Chippa&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 09:44:26 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/FTL4-Trial-Spark-failing-InvalidRequestClusterFromFabricDenyList/m-p/5366943#M17947</guid>
      <dc:creator>v-achippa</dc:creator>
      <dc:date>2026-09-15T09:44:26Z</dc:date>
    </item>
    <item>
      <title>Re: Background CU used in Fabric Capacity Metrics</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Background-CU-used-in-Fabric-Capacity-Metrics/m-p/5366878#M17946</link>
      <description>&lt;P&gt;If you don’t mind, could you add a little more detail about how your pipelines and notebooks are running? For example, it helps to know roughly how many activities are running at the same time, and whether your notebooks are using autoscale or fixed Spark settings. This makes it easier to understand whether the background CU is coming from parallel pipeline runs, Spark sessions that stayed alive, or carry‑forward from previous workloads.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 06:14:05 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Background-CU-used-in-Fabric-Capacity-Metrics/m-p/5366878#M17946</guid>
      <dc:creator>Kagiyama_yutaka</dc:creator>
      <dc:date>2026-09-15T06:14:05Z</dc:date>
    </item>
    <item>
      <title>Re: Approach for automating Dataflow Gen2 connection binding across Dev/Prod?</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Approach-for-automating-Dataflow-Gen2-connection-binding-across/m-p/5366853#M17945</link>
      <description>&lt;P&gt;Dataflow Gen2 keeps the connection tied to the workspace, and CI/CD doesn’t move it, and there’s no REST or SPN way to rebind it after a deploy.&lt;/P&gt;&lt;P&gt;Just make the same connection in Prod ahead of time, push the flow, open each query and pick that Prod connection yourself. For bigger flows people usually split the dataflow so the reconnect work stays manageable.　&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 05:00:02 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Approach-for-automating-Dataflow-Gen2-connection-binding-across/m-p/5366853#M17945</guid>
      <dc:creator>Kagiyama_yutaka</dc:creator>
      <dc:date>2026-09-15T05:00:02Z</dc:date>
    </item>
    <item>
      <title>Re: Background CU used in Fabric Capacity Metrics</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Background-CU-used-in-Fabric-Capacity-Metrics/m-p/5366841#M17944</link>
      <description>&lt;P&gt;HI &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="1781640" data-lia-user-login="dinhhoa" class="lia-mention lia-mention-user"&gt;dinhhoa​&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Checking in to see if your issue has been resolved. let us know if you still need any assistance.&lt;/P&gt;
&lt;P&gt;Thank you.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2026 04:27:51 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Background-CU-used-in-Fabric-Capacity-Metrics/m-p/5366841#M17944</guid>
      <dc:creator>v-saisrao-msft</dc:creator>
      <dc:date>2026-09-15T04:27:51Z</dc:date>
    </item>
    <item>
      <title>Approach for automating Dataflow Gen2 connection binding across Dev/Prod?</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Approach-for-automating-Dataflow-Gen2-connection-binding-across/m-p/5366781#M17943</link>
      <description>&lt;P&gt;We're deploying Dataflow Gen2 from Dev to Prod via fabric-cicd with all destination Lakehouse IDs and source parameters fully parameterized.&amp;nbsp;Definitions deploy cleanly.&lt;/P&gt;&lt;P&gt;The blocker: every query's data source connection has to be manually reconfigured in the target workspace — "Configure connection" doesn't auto-bind to an existing connection object even when one already exists for that connector, and this has to be repeated per query/table, not once per Dataflow. Docs confirm this is expected ("connections are statically bound... can't be altered using workspace variables or parameterization"), but that leaves genuine automation impossible for Dataflows with many tables (~47 in our case).&lt;/P&gt;&lt;P&gt;And it is even not possible to update connection. It seems that each table has to be created fresh in Prod.&lt;/P&gt;&lt;P&gt;Has anyone found a real workaround — Service Principal-based automation, REST API call to bind connections post-deploy etc.&lt;/P&gt;&lt;P&gt;What's actually working for people running CI/CD from Dev to Prod at scale here?&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Mon, 14 Sep 2026 19:53:22 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Approach-for-automating-Dataflow-Gen2-connection-binding-across/m-p/5366781#M17943</guid>
      <dc:creator>lavginqo2</dc:creator>
      <dc:date>2026-09-14T19:53:22Z</dc:date>
    </item>
    <item>
      <title>Re: Pure Python Notebook: authenticate to Azure DevOps Artifacts using Fabric Workspace Identity</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Pure-Python-Notebook-authenticate-to-Azure-DevOps-Artifacts/m-p/5366778#M17942</link>
      <description>&lt;P&gt;Hi &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="1783442" data-lia-user-login="llueg" class="lia-mention lia-mention-user"&gt;llueg​&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;I think you have found a real gap between the current &lt;STRONG&gt;pure Python notebook&lt;/STRONG&gt; experience and the newer Workspace Identity support for Azure Artifacts.&lt;/P&gt;&lt;P&gt;As far as the current documentation goes, I don't see a supported way for a pure Python notebook to directly request an Azure DevOps/Azure Artifacts access token from its Workspace Identity and pass that token to &lt;STRONG&gt;pip&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;The reason is that &lt;A href="https://learn.microsoft.com/en-us/fabric/data-engineering/notebookutils/notebookutils-credentials" target="_blank"&gt;NotebookUtils credential token acquisition&lt;/A&gt; currently documents only &lt;STRONG&gt;storage&lt;/STRONG&gt;, &lt;STRONG&gt;pbi&lt;/STRONG&gt;, &lt;STRONG&gt;keyvault &lt;/STRONG&gt;and &lt;STRONG&gt;kusto &lt;/STRONG&gt;as supported token audiences. Azure DevOps isn't exposed as a documented audience, so I wouldn't rely on passing an Azure DevOps resource ID to &lt;STRONG&gt;getToken()&lt;/STRONG&gt; as an undocumented workaround.&lt;/P&gt;&lt;P&gt;There is, however, a newer PAT-less path that gets very close to what you want. Fabric now supports authenticating an &lt;STRONG&gt;Azure Artifact Feed&lt;/STRONG&gt; connection with the Workspace Identity. The Workspace Identity can be added to the Azure DevOps feed with at least &lt;STRONG&gt;Feed Reader&lt;/STRONG&gt;, and Fabric then uses that authenticated connection when resolving packages in a Fabric Environment.&lt;/P&gt;&lt;P&gt;Microsoft documents that flow under &lt;A href="https://learn.microsoft.com/en-us/fabric/data-engineering/environment-manage-library" target="_blank"&gt;library management for Fabric Environments&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;The limitation for your scenario is that the current &lt;A href="https://learn.microsoft.com/en-us/fabric/data-engineering/using-python-experience-on-notebook" target="_blank"&gt;pure Python notebook documentation&lt;/A&gt; explicitly lists &lt;STRONG&gt;Environment integration as unavailable for Python notebooks&lt;/STRONG&gt;. That Workspace Identity → Azure Artifacts flow therefore currently helps Spark notebooks using Fabric Environments, but it doesn't give a pure Python notebook a token that can be handed directly to &lt;STRONG&gt;pip install --index-url&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;There is also the newer &lt;A href="https://learn.microsoft.com/en-us/fabric/data-engineering/fabric-connection-with-notebook" target="_blank"&gt;Fabric Connection integration for notebooks&lt;/A&gt;, which supports Workspace Identity authentication and is currently in Preview, but I haven't found Microsoft documentation showing an Azure Artifact Feed connection credential being exposed for direct &lt;STRONG&gt;pip &lt;/STRONG&gt;authentication in a pure Python notebook.&lt;/P&gt;&lt;P&gt;So at the moment I would describe it as:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Spark notebook + Fabric Environment&lt;/STRONG&gt;: Workspace Identity → Azure Artifacts is supported.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Pure Python notebook + direct pip install&lt;/STRONG&gt;: I don't see a documented Workspace Identity-based Azure DevOps token flow yet.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;BR /&gt;For pure Python, your Key Vault-backed PAT remains the documented practical option unless Microsoft extends the Environment/Azure Artifact Feed integration to the Python kernel or exposes Azure DevOps as a supported notebook credential audience.&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;AI-assisted drafting:&lt;/STRONG&gt; AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;</description>
      <pubDate>Mon, 14 Sep 2026 19:42:36 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Pure-Python-Notebook-authenticate-to-Azure-DevOps-Artifacts/m-p/5366778#M17942</guid>
      <dc:creator>ShivekMaharaj</dc:creator>
      <dc:date>2026-09-14T19:42:36Z</dc:date>
    </item>
    <item>
      <title>Re: New Browser Tab Opening to Previous or Existing Session</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/New-Browser-Tab-Opening-to-Previous-or-Existing-Session/m-p/5366757#M17941</link>
      <description>&lt;P&gt;This seems to be a "feature" rolled out over the summer and it drives me crazy. We actually need different tabs within the same workspace (dealing with items from different source systems) and the number of tabs takes up too much real estate and can cause notebook connections to go weird. Then I'm jumping through 10 tabs to see where the problem is. Has slowed down me and my teams' productivity.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 Sep 2026 18:16:31 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/New-Browser-Tab-Opening-to-Previous-or-Existing-Session/m-p/5366757#M17941</guid>
      <dc:creator>KentKMishra</dc:creator>
      <dc:date>2026-09-14T18:16:31Z</dc:date>
    </item>
    <item>
      <title>Re: GraphQL update... mutation for Fabric SQL DB failing</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/GraphQL-update-mutation-for-Fabric-SQL-DB-failing/m-p/5366677#M17940</link>
      <description>&lt;P&gt;Hi &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="1550082" data-lia-user-login="Kagiyama_yutaka" class="lia-mention lia-mention-user"&gt;Kagiyama_yutaka​&lt;/a&gt;,&amp;nbsp;&lt;BR /&gt;the update mutation requires the pk column as the query's first argument so it can identify the row to update. The PK column itself is not updated in the update snippet I posted initially.&amp;nbsp;&lt;BR /&gt;I only send the writable column or am I misreading something?&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Best&lt;BR /&gt;Martin&lt;/P&gt;</description>
      <pubDate>Mon, 14 Sep 2026 13:47:20 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/GraphQL-update-mutation-for-Fabric-SQL-DB-failing/m-p/5366677#M17940</guid>
      <dc:creator>msturzen</dc:creator>
      <dc:date>2026-09-14T13:47:20Z</dc:date>
    </item>
    <item>
      <title>Re: Is a table ordinary, or special (= from a shortcut, a system table or materialized lake view table)?</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Is-a-table-ordinary-or-special-from-a-shortcut-a-system-table-or/m-p/5366675#M17939</link>
      <description>&lt;P&gt;Thank you, &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="819528" data-lia-user-login="v-aatheeque" class="lia-mention lia-mention-user"&gt;v-aatheeque​&lt;/a&gt;. Your response is helpful. Hopefully, an easier--and unified--way to get these details will be added in the future. Thanks, again, for your help!&lt;/P&gt;</description>
      <pubDate>Mon, 14 Sep 2026 13:43:14 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Is-a-table-ordinary-or-special-from-a-shortcut-a-system-table-or/m-p/5366675#M17939</guid>
      <dc:creator>Ben-Dev</dc:creator>
      <dc:date>2026-09-14T13:43:14Z</dc:date>
    </item>
    <item>
      <title>Re: GraphQL update... mutation for Fabric SQL DB failing</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/GraphQL-update-mutation-for-Fabric-SQL-DB-failing/m-p/5366672#M17938</link>
      <description>&lt;P&gt;Sorry for being unresponsive for the last 2 weeks. Had to take a few days off.&amp;nbsp;&lt;BR /&gt;I raised a support ticket that is currently being worked on. I'll post updates asap.&amp;nbsp;&lt;BR /&gt;Best&lt;BR /&gt;Martin&lt;/P&gt;</description>
      <pubDate>Mon, 14 Sep 2026 13:38:30 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/GraphQL-update-mutation-for-Fabric-SQL-DB-failing/m-p/5366672#M17938</guid>
      <dc:creator>msturzen</dc:creator>
      <dc:date>2026-09-14T13:38:30Z</dc:date>
    </item>
    <item>
      <title>From On-Premises SQL Server to Microsoft Fabric with a Metadata-Driven Medallion Pipeline</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/From-On-Premises-SQL-Server-to-Microsoft-Fabric-with-a-Metadata/m-p/5366641#M17937</link>
      <description>&lt;P&gt;In this demo, I use DataCoolie to move WideWorldImporters data from an on-premises SQL Server into Microsoft Fabric. The pipeline is driven by one &lt;STRONG&gt;&lt;SPAN class="lia-text-color-21"&gt;metadata.json&lt;/SPAN&gt;&lt;/STRONG&gt; file and follows the Bronze, Silver, and Gold pattern.&lt;/P&gt;&lt;P&gt;The focus here is the Fabric execution flow, not the earlier development process.&lt;/P&gt;&lt;P&gt;The complete sample is available in the &lt;A href="https://github.com/datacoolie/dc-demo-fabric" target="_blank"&gt;datacoolie/dc-demo-fabric repository&lt;/A&gt;.&lt;/P&gt;&lt;H2&gt;Architecture&lt;/H2&gt;&lt;P&gt;The SQL Server remains on-premises, so ingestion runs from an external Polars runner. Downstream processing runs inside Fabric:&lt;/P&gt;&lt;DIV class="styles_lia-table-wrapper__h6Xo9 styles_table-responsive__MW0lN"&gt;&lt;table border="1" style="border-width: 1px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Stage&lt;/th&gt;&lt;th&gt;Runtime&lt;/th&gt;&lt;th&gt;Output&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;source2bronze&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;On-premises Polars&lt;/td&gt;&lt;td&gt;Parquet in &lt;STRONG&gt;Files/bronze&lt;/STRONG&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;bronze2silver&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;Fabric Python 3.12 notebook with Polars and delta-rs&lt;/td&gt;&lt;td&gt;Delta tables in &lt;STRONG&gt;silver&lt;/STRONG&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;STRONG&gt;silver2gold&lt;/STRONG&gt;&lt;/td&gt;&lt;td&gt;Fabric Spark notebook&lt;/td&gt;&lt;td&gt;Delta tables in &lt;STRONG&gt;gold&lt;/STRONG&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;colgroup&gt;&lt;col style="width: 33.33%" /&gt;&lt;col style="width: 33.33%" /&gt;&lt;col style="width: 33.33%" /&gt;&lt;/colgroup&gt;&lt;/table&gt;&lt;/DIV&gt;&lt;img /&gt;&lt;P&gt;The workspace uses two Lakehouses:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;lh_wwi_medallion_demo&lt;/STRONG&gt;&lt;BR /&gt;├── Files/bronze&lt;BR /&gt;├── Tables/silver&lt;BR /&gt;└── Tables/gold&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;lh_etl&lt;/STRONG&gt;&lt;BR /&gt;└── Files/control/test-fabric&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ├── metadata/current/metadata.json&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ├── logs&lt;BR /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; └── watermarks&lt;/P&gt;&lt;P&gt;This keeps operational state separate from business data while allowing every runtime to use the same metadata and watermarks.&lt;/P&gt;&lt;img /&gt;&lt;H2&gt;One metadata file, three stages&lt;/H2&gt;&lt;P&gt;The final metadata contains four connections, 68 dataflows, and shared schema hints. Each dataflow declares its stage, source, destination, load type, watermark, merge keys, or SQL query. The runner remains generic: it reads this file and receives only the stage name it should execute.&lt;/P&gt;&lt;P&gt;The Fabric environment maps logical connections to:&lt;/P&gt;&lt;P&gt;bronze_parquet → Files/bronze&amp;nbsp;&lt;BR /&gt;silver_delta → Tables/silver&lt;BR /&gt;gold_delta → Tables/gold&lt;/P&gt;&lt;img /&gt;&lt;P&gt;Note: An AI agent will assist in generating the metadata.json file.&lt;/P&gt;&lt;H2&gt;Uploading the artifacts with Fabric CLI&lt;/H2&gt;&lt;P&gt;After creating the two Lakehouses, install the Fabric CLI, authenticate, upload the metadata, and import the two notebooks:&lt;/P&gt;&lt;LI-CODE lang="powershell"&gt;pip install --upgrade ms-fabric-cli fab auth login  $workspace = 'wwi_medallion_demo_test_fabric.Workspace' $etl = "$workspace/lh_etl.Lakehouse"  fab mkdir "$etl/Files/control/test-fabric/metadata/current" fab cp '.\metadata.json' `   "$etl/Files/control/test-fabric/metadata/current/metadata.json" -f  fab import "$workspace/run_fabric_polars.Notebook" `   -i '.\runners\run_fabric_polars.ipynb' --format ipynb -f fab import "$workspace/run_fabric_spark.Notebook" `   -i '.\runners\run_fabric_spark.ipynb' --format ipynb -f&lt;/LI-CODE&gt;&lt;H2&gt;Stage 1: SQL Server to Bronze&lt;/H2&gt;&lt;P&gt;The on-premises runner reads 31 business tables and appends raw Parquet batches to OneLake. Every table has a watermark: ValidFrom, LastEditedWhen, or VehicleTemperatureID. Timestamp-based flows reread a one-day overlap to reduce the chance of missing late records.&lt;/P&gt;&lt;P&gt;Bronze files are organized by ingestion date:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;Files/bronze/&amp;lt;schema&amp;gt;__&amp;lt;table&amp;gt;/YYYY/MM/DD/&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;This stage still runs on-premises because it requires SQL Server connectivity:&lt;/P&gt;&lt;LI-CODE lang="powershell"&gt;$control = 'abfss://wwi_medallion_demo_test_fabric@onelake.dfs.fabric.microsoft.com/lh_etl.Lakehouse/Files/control/test-fabric'  python '.\runners\run_fabric_polars_azure_sdk.py' `   --metadata-path "$control/metadata/current/metadata.json" `   --watermark-base-path "$control/watermarks" `   --base-log-path "$control/logs" `   --stage source2bronze --max-workers 4&lt;/LI-CODE&gt;&lt;img /&gt;&lt;H2&gt;Stage 2: Bronze to Silver&lt;/H2&gt;&lt;P&gt;A Fabric Python notebook runs this stage with Polars and delta-rs, without Spark. It reads new Bronze files through &lt;STRONG&gt;__file_modification_time&lt;/STRONG&gt;, removes duplicate source keys, and performs a Delta &lt;STRONG&gt;merge_upsert &lt;/STRONG&gt;for all 31 tables.&lt;/P&gt;&lt;P&gt;The result is a current-state Silver replica while Bronze keeps the raw append history.&lt;/P&gt;&lt;P&gt;After Bronze is ready, start the notebook with Fabric CLI. The Lakehouse configuration binds the notebook to &lt;STRONG&gt;lh_wwi_medallion_demo&lt;/STRONG&gt;:&lt;/P&gt;&lt;LI-CODE lang="powershell"&gt;$lakehouseConfig = '{"defaultLakehouse":{"name":"lh_wwi_medallion_demo","id":"&amp;lt;lakehouse-id&amp;gt;","workspaceId":"&amp;lt;workspace-id&amp;gt;"}}'  fab job run "$workspace/run_fabric_polars.Notebook" `   -P "STAGE:string=bronze2silver,_inlineInstallationEnabled:bool=true" `   -C $lakehouseConfig --timeout 3600&lt;/LI-CODE&gt;&lt;img /&gt;&lt;H2&gt;Stage 3: Silver to Gold&lt;/H2&gt;&lt;P&gt;The final stage runs in a Fabric Spark notebook. SQL queries stored in metadata read two-level names such as &lt;STRONG&gt;silver.Sales__InvoiceLines&lt;/STRONG&gt; and create six Gold products:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;DimDate&lt;/LI&gt;&lt;LI&gt;DimGeography&lt;/LI&gt;&lt;LI&gt;DimProduct&lt;/LI&gt;&lt;LI&gt;DimPerson&lt;/LI&gt;&lt;LI&gt;DimDeliveryMethod&lt;/LI&gt;&lt;LI&gt;FactInvoiceLineProfitability&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;The source instance had no customer data, so customer-dependent Gold models were intentionally excluded.&lt;/P&gt;&lt;P&gt;Run Gold only after the Silver notebook succeeds:&lt;/P&gt;&lt;LI-CODE lang="powershell"&gt;fab job run "$workspace/run_fabric_spark.Notebook" `   -P "STAGE:string=silver2gold,_inlineInstallationEnabled:bool=true" `   -C $lakehouseConfig --timeout 3600&lt;/LI-CODE&gt;&lt;img /&gt;&lt;H2&gt;Monitoring the complete flow&lt;/H2&gt;&lt;P&gt;Fabric Monitoring shows notebook status, duration, and execution details. DataCoolie writes dataflow-level logs and watermarks to &lt;STRONG&gt;lh_etl&lt;/STRONG&gt;, allowing DataCoolie Studio to display metadata, assets, lineage, jobs, and individual dataflow runs across all three stages.&lt;/P&gt;&lt;img /&gt;&lt;img /&gt;&lt;H2&gt;Result&lt;/H2&gt;&lt;P&gt;The completed pipeline has 31 incremental Bronze flows, 31 key-merged Silver tables, and six Gold products. The runner stays generic; metadata defines the tables, watermarks, merge keys, paths, and SQL transformations.&lt;/P&gt;&lt;P&gt;This separation makes the pipeline easier to extend and keeps the hybrid on-premises/Fabric workflow observable as one system.&lt;/P&gt;&lt;H2&gt;Further reading&lt;/H2&gt;&lt;UL&gt;&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/fabric/onelake/onelake-access-api" target="_blank"&gt;Connect to Microsoft OneLake&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/fabric/data-engineering/lakehouse-schemas" target="_blank"&gt;Lakehouse schemas in Microsoft Fabric&lt;/A&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://learn.microsoft.com/en-us/rest/api/fabric/articles/fabric-command-line-interface" target="_blank"&gt;Microsoft Fabric command-line interface&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;</description>
      <pubDate>Mon, 14 Sep 2026 10:48:56 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/From-On-Premises-SQL-Server-to-Microsoft-Fabric-with-a-Metadata/m-p/5366641#M17937</guid>
      <dc:creator>ezalor</dc:creator>
      <dc:date>2026-09-14T10:48:56Z</dc:date>
    </item>
    <item>
      <title>Re: DataFlow Gen2 Issue</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/DataFlow-Gen2-Issue/m-p/5366462#M17936</link>
      <description>&lt;P&gt;You are likely correct that this is a firewall issue. The error&amp;nbsp;The underlying connection was closed: An unexpected error occurred on a send&amp;nbsp;typically indicates that the request from the Dataflow service is being blocked before it can complete the handshake with the Fabric Lakehouse API.&lt;/P&gt;&lt;P&gt;Because you can access the Lakehouse from Notebooks (which run directly within the Fabric environment) but&amp;nbsp;&lt;EM&gt;cannot&lt;/EM&gt;&amp;nbsp;from Dataflow Gen2 (which may route metadata or data traffic differently via the on-premises data gateway or specific outbound IP ranges), it strongly suggests a&amp;nbsp;one-way firewall rule&amp;nbsp;is currently in place.&lt;/P&gt;&lt;P&gt;To resolve this, the firewall configuration must be changed to allow&amp;nbsp;two-way traffic. It is not enough to simply allow outbound traffic from your network; the connection requires a request-and-response cycle. The firewall must explicitly permit the return traffic from the Power BI/Fabric API endpoints back to the Dataflow service or the data gateway.&lt;/P&gt;</description>
      <pubDate>Sat, 12 Sep 2026 22:43:37 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/DataFlow-Gen2-Issue/m-p/5366462#M17936</guid>
      <dc:creator>EduardoCastro</dc:creator>
      <dc:date>2026-09-12T22:43:37Z</dc:date>
    </item>
    <item>
      <title>Re: DataFlow Gen2 Issue</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/DataFlow-Gen2-Issue/m-p/5366450#M17935</link>
      <description>&lt;P&gt;Hi &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="1775267" data-lia-user-login="LUISS252" class="lia-mention lia-mention-user"&gt;LUISS252​&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;One thing I would separate here is the Pipeline network path from the Dataflow Gen2 network path.&lt;/P&gt;&lt;P&gt;The fact that your Pipeline Copy activity started working after the firewall maintenance is useful, but it does not necessarily prove that every endpoint required by Dataflow Gen2 is now reachable.&lt;/P&gt;&lt;P&gt;For an on-premises gateway, Dataflow Gen2 can also need access to OneLake and the staging Lakehouse endpoints, depending on whether staging, referenced queries or Fast Copy are involved.&lt;/P&gt;&lt;P&gt;I would also not focus too much on the missing &lt;STRONG&gt;Azure connections&lt;/STRONG&gt; setting. That setting is mainly for workspace-level Azure storage / Log Analytics configuration and is not normally required just to write to a standard Fabric Lakehouse.&lt;/P&gt;&lt;P&gt;I would try one very small isolation test:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;one SQL Server query&lt;/LI&gt;&lt;LI&gt;one Lakehouse destination&lt;/LI&gt;&lt;LI&gt;no referenced queries&lt;/LI&gt;&lt;LI&gt;staging disabled&lt;/LI&gt;&lt;LI&gt;Fast Copy disabled&lt;/LI&gt;&lt;LI&gt;only a few rows&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;BR /&gt;Microsoft documents that in that specific pattern, Dataflow Gen2 should not require the staging-Lakehouse connection over port 1433.&lt;/P&gt;&lt;P&gt;If that minimal dataflow succeeds, I would then re-enable staging / Fast Copy or add the query references one at a time. That should tell you exactly when the failure appears.&lt;/P&gt;&lt;P&gt;If the minimal version still fails at the Lakehouse destination, I would treat this as a destination-validation / network-path issue rather than a SQL Server source problem, especially since your source preview succeeds and notebooks can already write to the same Lakehouse.&lt;/P&gt;&lt;P&gt;The current Dataflow Gen2 gateway guidance is particularly useful here because it lists the different endpoint requirements for staging and Lakehouse destination scenarios.&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;AI-assisted drafting:&lt;/STRONG&gt; AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;</description>
      <pubDate>Sat, 12 Sep 2026 18:48:45 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/DataFlow-Gen2-Issue/m-p/5366450#M17935</guid>
      <dc:creator>ShivekMaharaj</dc:creator>
      <dc:date>2026-09-12T18:48:45Z</dc:date>
    </item>
    <item>
      <title>Re: Bronze data contracts for REST/API sources — workaround for Get Metadata's connector gap</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Bronze-data-contracts-for-REST-API-sources-workaround-for-Get/m-p/5366449#M17934</link>
      <description>&lt;P&gt;Hi &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="760485" data-lia-user-login="damo_mac85" class="lia-mention lia-mention-user"&gt;damo_mac85​&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;I think your workaround is reasonable, and I don't think you're missing a native Get Metadata option here.&lt;/P&gt;&lt;P&gt;The current &lt;A href="https://learn.microsoft.com/en-us/fabric/data-factory/connector-rest-overview" target="_blank"&gt;Fabric REST connector&lt;/A&gt; lists Pipeline Copy activity as its supported pipeline capability, but it does not currently list Get Metadata.&lt;/P&gt;&lt;P&gt;One thing I would consider changing is where the contract validation happens.&lt;/P&gt;&lt;P&gt;If Bronze is intended to preserve the source payload, I would lean toward:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;REST -&amp;gt; raw JSON -&amp;gt; schema/contract validation -&amp;gt; Parquet/Delta&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;rather than:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;REST -&amp;gt; Parquet -&amp;gt; inspect Parquet schema&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;The reason is that if the API introduces a structural change that prevents the response from being serialized into your expected Parquet shape, the Copy could fail before your notebook ever gets the opportunity to compare schemas. Keeping the raw JSON first gives you an immutable payload to inspect and replay.&lt;/P&gt;&lt;P&gt;For a pre-flight check, Fabric's &lt;A href="https://learn.microsoft.com/en-us/fabric/data-factory/web-activity" target="_blank"&gt;Web activity&lt;/A&gt; can call a REST endpoint before the Copy activity.&lt;/P&gt;&lt;P&gt;If the API exposes an OpenAPI/Swagger or dedicated schema endpoint, I would use that as the contract source where possible. Otherwise, a small sample call could be used to inspect the returned JSON before starting the full extraction.&lt;/P&gt;&lt;P&gt;I would just be careful about treating a sample response as the complete schema, since optional fields may not appear in every payload.&lt;/P&gt;&lt;P&gt;So personally I would use:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;Web/schema or sample check -&amp;gt; contract validation -&amp;gt; full raw landing -&amp;gt; typed promotion&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;and still validate the landed payload as a second guard before promoting it to Delta.&lt;/P&gt;&lt;P&gt;I also couldn't find a currently published Fabric roadmap item for adding REST support to Get Metadata, so I wouldn't design around that arriving at a particular time.&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;AI-assisted drafting:&lt;/STRONG&gt; AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;</description>
      <pubDate>Sat, 12 Sep 2026 18:45:35 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Bronze-data-contracts-for-REST-API-sources-workaround-for-Get/m-p/5366449#M17934</guid>
      <dc:creator>ShivekMaharaj</dc:creator>
      <dc:date>2026-09-12T18:45:35Z</dc:date>
    </item>
    <item>
      <title>Re: Business Central Data to Fabric</title>
      <link>https://community.fabric.microsoft.com/t5/Data-Engineering/Business-Central-Data-to-Fabric/m-p/5366446#M17933</link>
      <description>&lt;P&gt;Hi &lt;a href="javascript:void(0)" data-lia-user-mentions="" data-lia-user-uid="795606" data-lia-user-login="Saum02" class="lia-mention lia-mention-user"&gt;Saum02​&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;If this is &lt;STRONG&gt;Business Central Online&lt;/STRONG&gt;, I would not build the Fabric solution around direct access to the underlying SQL database.&lt;/P&gt;&lt;P&gt;Microsoft's current &lt;A href="https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/integration-overview" target="_blank"&gt;Business Central integration guidance&lt;/A&gt; recommends using the REST API stack for integrations rather than treating the SaaS database as a directly accessible SQL source.&lt;/P&gt;&lt;P&gt;On the Fabric side, there are a few options worth looking at:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Fabric currently has a &lt;STRONG&gt;Dynamics 365 Business Central connector&lt;/STRONG&gt; available as a Dataflow Gen2 source.&lt;/LI&gt;&lt;LI&gt;For more controlled/custom extraction, the standard &lt;A href="https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/webservices/api-overview" target="_blank"&gt;Business Central REST APIs&lt;/A&gt; are still the preferred interface.&lt;/LI&gt;&lt;LI&gt;There is also a newer option called &lt;STRONG&gt;BC2Fab&lt;/STRONG&gt;, which Microsoft highlighted in the Fabric What's New updates. It is a partner Fabric workload that replicates Business Central data into OneLake using Open Mirroring and incremental change detection, so it may be worth evaluating if your goal is ongoing analytical replication rather than repeatedly extracting through APIs.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;BR /&gt;If this is &lt;STRONG&gt;Business Central on-premises&lt;/STRONG&gt;, then direct SQL access is technically another option because you control the underlying SQL Server. I would still compare that against the API approach before coupling your Fabric model directly to the physical BC database schema.&lt;/P&gt;&lt;P&gt;So the first question I would ask is whether your environment is &lt;STRONG&gt;Business Central Online or on-premises&lt;/STRONG&gt;, and roughly how much data / how many tables you need to bring into Fabric.&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;&lt;STRONG&gt;AI-assisted drafting:&lt;/STRONG&gt; AI was used to help structure and phrase this response. I reviewed and validated the technical content before posting.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;</description>
      <pubDate>Sat, 12 Sep 2026 17:35:45 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Data-Engineering/Business-Central-Data-to-Fabric/m-p/5366446#M17933</guid>
      <dc:creator>ShivekMaharaj</dc:creator>
      <dc:date>2026-09-12T17:35:45Z</dc:date>
    </item>
  </channel>
</rss>

