maintain DatabaseID, Database Name and SqlEndPoint on a restore
When doing restore we always get a new database ID, Physical Name and SqlEndPoint, even if the database logical name is the same (eg restore over the top).
This causes a massive increase in RTO as afer the restore all end points broke and configuration management had to be updated and re-tested.
When doing a restore we need to have the ability to keep database exactly as it was, rather than always creating a clone.
In a recent DR event it was 5 minutes to restore, but the 2 days before we stopped getting issues on end points and config change impact.
10 Comments
- BobDuffyIRLRegular Visitor
When we restore a Fabric SQLDB it changes the database names which break the ETL and all customers connecting to it.
We then have to ge everyone globally to change the connection string, which means a restore has customer downtime of days.Can you fix this so that a restore keeps the original database name and doesnt break the connection string ?
Ideally a restore shoudl restore "as was" unless we choose to restore to a different Artefact Name or workspace.
- akatesmith
Microsoft Employee
Status changed:NewtoUnder Review
- MDC70
Advocate I
Please enable the "Overwrite the existing database WITH REPLACE" functionality, as we know it from SQL Server. When a restore is performed into a different database, all references in the ETL might have to be adjusted - which is something nobody wants to deal with. Therefore, having the WITH REPLACE option would be very useful
- StrahinjaRodic
Microsoft Employee
Hi, MDC70, Thanks for the feedback!
We'd like to understand better this feedback and answering these questions would help us a lot:
- When you say "All references in the ETL" - do you need to restore over the existing database with the same name to preserve downstream ETL references or for something else?
- If restoring to a new database and renaming it was automated and seamless, would that meet your needs? If not, why do you specifically require true in-place overwrite?
- Would you be okay with permanently losing all data changes made after the restore point?
- What are your expectations around downtime and automation for this feature? Would you plan a maintenance window and manually restart ETL jobs, or are you aiming for a near-zero-downtime restore that seamlessly continues ETL without reconfiguring connections?
Thank you,
Strahinja Rodic - PM on Backup & Restore area on SQL database in Microsoft Fabric
- MDC70
Advocate I
Hi Strahinja I'm happy to provide feedback on your questions and hope this makes things clearer for you.
- Correct! I was specifically thinking of the references in a data pipeline. After the restore, if a new database appears in the workspace with a new name, we end up with two databases -the original and the restored one. If the ETL is supposed to run on the restored database, then every activity that references the database must be updated accordingly.
- I need to answer this a bit more descriptively, from the perspective of an experienced DBA. When performing a restore, I want to decide for myself whether the restore should create a new database or overwrite the existing one - essentially just like it's possible with any standard database.
- Yes, that would be okay. We assume that we have a daily processing routine - for example, an ETL job that runs for 4 hours. After that, the data is available for querying. The source data can always be reloaded, so we wouldn’t experience any data loss. Here too, the system shouldn’t make any assumptions regarding how the process is handled.
- A short downtime would of course be desirable. We would naturally perform this during a maintenance window and monitor the ETL process afterwards.
Kind Regards Marco
- Correct! I was specifically thinking of the references in a data pipeline. After the restore, if a new database appears in the workspace with a new name, we end up with two databases -the original and the restored one. If the ETL is supposed to run on the restored database, then every activity that references the database must be updated accordingly.
- fbcideas_migusrNew MemberStatus added:New
- StrahinjaRodic
Microsoft Employee
Hey, Bob,
Thanks for the feedback!
Does this mean you'd like to revert the already existing database to some older point-in-time in the history and lose the data after that point, or you have something else on your mind? Please add a bit more details, or feel free to reach out to me via email.
Thanks,
Strahinja Rodic - PM on Backup & Restore area on SQL database in Microsoft Fabric
- akatesmith
Microsoft Employee
Status changed:NewtoNeed ClarificationAs per Strahinja's comment below - clarification would be helpful.
- akatesmith
Microsoft Employee
Status changed:Need ClarificationtoUnder Review - sukkaur
Microsoft Employee
Status changed:Under ReviewtoAbandoned
Recent ideas
Allow Fabric data apps to be included in published Power BI apps (org apps)
Data apps (built with the Fabric data app template / Rayfin) can currently only be opened from inside the Fabric workspace by users with workspace access. They cannot be added to a published Power BI...naveritchev39 minutes agoNew MemberNew175Views13likes1CommentImprove the error messages on warehouse deployment failures
When a warehouse fails to deploy in the deployment pipeline currently we get a wall of text as an error message. Something like Backend Error import fail Exception Error occurred SQL Project build f...Tom_Fosterbi1 hour agoRegular VisitorNew2Views0likes0CommentsActivity sort order when running a pipeline
It would be good to sort the `Activity Status` field in the Pipeline status that we see when running a pipeline using a custom sort. I frequently have pipelines with many tasks and need to check the...ChrisClegg1 hour agoFrequent VisitorNew3Views0likes0CommentsData Pipelines - Run only selected activities
For debugging and testing pipeline activities during development, allow us to select one or multiple activities and run only the selected pipeline activities. For example, I'm working on editing ...frithjof_v1 hour agoCommunity ChampionNew668Views14likes3CommentsMarkdown documentation item in Workspace
We create documentation in our Git repo. This is useful documentation and project context for humans and AI. The documentation is simply a directory (hierarchy) of markdown files in the Git repo. P...frithjof_v4 hours agoCommunity ChampionNew11Views0likes1Comment