๐ ๐ถ๐ฐ๐ฟ๐ผ๐๐ผ๐ณ๐ ๐๐ฎ๐ฏ๐ฟ๐ถ๐ฐ ๐๐ผ๐ฝ๐ ๐๐ฐ๐๐ถ๐๐ถ๐๐ + ๐๐ฒ๐น๐๐ฎ ๐จ๐ฝ๐๐ฒ๐ฟ๐ is honestly one of the most underrated features in Fabric for high-performance operational data loading.
We can now:
โข Read directly from sources such as SQL Server / SQL DB
โข Write directly into Lakehouse Delta Tables
โข Use native Upsert mode
โข Avoid Spark notebooks completely
โข Avoid Parquet staging/intermediate layers
โข Achieve very fast sync performance with only ONE Copy Activity
Iโm currently using this approach to dynamically load and merge data from multiple SQL Server store databases into consolidated Delta tables in Microsoft Fabric Lakehouse.
However, there is one very important feature still missing from Copy Activity Upsert.
๐ ๐๐ผ๐๐น๐ฑ ๐น๐ผ๐๐ฒ ๐๐ผ ๐๐ฒ๐ฒ ๐ป๐ฎ๐๐ถ๐๐ฒ ๐๐๐ฝ๐ฝ๐ผ๐ฟ๐ ๐ณ๐ผ๐ฟ ๐ฎ๐๐๐ผ-๐บ๐ฎ๐ป๐ฎ๐ด๐ฒ๐ฑ ๐ฎ๐๐ฑ๐ถ๐ / ๐๐ช ๐ฐ๐ผ๐น๐๐บ๐ป๐ during Upsert operations.
My requirement is:
In the destination Delta table, I need these columns:
โข DW_DATE_INSERT
โ Datetime when a NEW record is inserted through Upsert
โข DW_DATE_UPDATE
โ Datetime when an EXISTING record is updated through Upsert
โข DW_LOAD_DATE
โ Maximum of DW_DATE_INSERT and DW_DATE_UPDATE
(meaning the latest insert/update datetime)
Expected behavior:
โข If INSERT occurs:
DW_DATE_INSERT should be populated
DW_DATE_UPDATE should remain NULL
โข If UPDATE occurs:
DW_DATE_UPDATE should be updated
DW_DATE_INSERT should remain unchanged with its original value
Currently, adding these columns dynamically in the Source โ Additional Columns section is NOT a solution.
Why?
Because these datetime values change every execution, the Upsert process detects every row as changed and re-updates all records again and again, even when business data has not changed.
Of course, I know this can be handled using Spark / Notebook MERGE logic.
But the whole beauty of this approach is:
๐ก๐ผ ๐ป๐ผ๐๐ฒ๐ฏ๐ผ๐ผ๐ธ๐.
๐ก๐ผ ๐ฆ๐ฝ๐ฎ๐ฟ๐ธ ๐๐๐ฎ๐ฟ๐๐๐ฝ ๐น๐ฎ๐๐ฒ๐ป๐ฐ๐.
๐ก๐ผ ๐ฒ๐
๐๐ฟ๐ฎ ๐บ๐ฒ๐ฟ๐ด๐ฒ ๐น๐ฎ๐๐ฒ๐ฟ.
๐๐๐๐ ๐ผ๐ป๐ฒ ๐ณ๐ฎ๐๐ ๐๐ผ๐ฝ๐ ๐๐ฐ๐๐ถ๐๐ถ๐๐.
It would be amazing if Microsoft could add native insert/update audit column handling directly inside Copy Activity Upsert for Delta Lakehouse tables.
This would make Copy Activity even more powerful for very fast enterprise operational sync workloads.
If you think this feature would be useful, please vote/support this idea so we can hopefully get it added to Fabric ๐
#MicrosoftFabric #DataEngineering #DeltaLake #Lakehouse #ETL #ELT #OneLake #SQLServer #Fabric #Microsoft #AnalyticsEngineering
2 Comments
- v-menakakota
Community Support
Hi Yazdan ,
Thank you for reaching out to the Microsoft Community Forum.
Thanks for sharing this feedback.
Agree that native audit column handling for Copy Activity Upsert would be very useful, especially for Delta Lakehouse operational loads without using Spark notebooks.The current Copy Activity Upsert feature is already very powerful for fast ingestion scenarios, and adding built-in support for columns like DW_DATE_INSERT and DW_DATE_UPDATE would make it even better.
Useful Microsoft Learn references:
How to copy data using copy activity - Microsoft Fabric | Microsoft Learn
Configure Lakehouse in a copy activity - Microsoft Fabric | Microsoft Learn
Best Regards,
Community Support Team - lbendlin
Super User
If this is important to you please consider voting for an existing idea or raising a new one at https://ideas.fabric.microsoft.com
Recent ideas
Embedded Power BI: allow 12/24-hour clock setting independent of formatLocale
Problem In Power BI embedded reports (app-owns-data, JavaScript SDK), localeSettings.formatLocale is the only way to influence date and time display. The hour cycle (12 or 24 hour) is tied to th...VijaySama58823 minutes agoNew MemberNew3Views0likes0CommentsAdd Initial Horizontal Scroll Position to Matrix and Table Visuals
Please add an option to Power BI Matrix and Table visuals that allows report developers to configure the initial horizontal scroll position when the visual loads. Suggested setting: Format visual >...Panteras0132 minutes agoFrequent VisitorNew1View0likes0CommentsFabric Mirroring (and all artifacts) - Reassign owner
Probelm: I have users who have created Mirroring from Azure SQL DB's (although this problem exists with all mirroring) and if they dont log into fabric often the mirroring breaks. While best prat...Jreed_747450 minutes agoNew MemberNew114Views1like1CommentPowerBI Forced Refresh after Report Deployments
Currently, when you make an update to a PowerBI report and deploy (click update app), it doesn't force a refresh for your end users. Thus, they end up getting error messages on their reports (dependi...kaitlyn_workman2 hours agoRegular VisitorNew1View0likes0CommentsAbility for Admins to be able to delete Cloud Connections. Currently only connection owner can.
Description: Currently, only the connection owner can delete a Cloud Connection in Fabric / Power BI. Even tenant admins or Fabric capacity admins do not have permission to remove, reassign, or take...SaiValipireddy3 hours agoRegular VisitorNew3KViews26likes3Comments