Skip to content

[FEATURE] [SQL database] Create SQLDatabase by restoring from another database backup (point-in-time restore) #149

@dzsquared

Description

@dzsquared

Use Case / Problem

Users need to clone or recover a database using point-in-time restore (PITR) for incident recovery, testing, or creating a snapshot for dev. Today this requires manual steps and careful copying of IDs/timestamps, which is error-prone and hard to automate.

Proposed Solution

Add a restore mode to create for *.SQLDatabase that provisions a new database by restoring from a source database backup at a given point in time, identified by itemId and workspaceId.

Sample command:

  • create dbname.SQLDatabase -p "mode=restore,restorePointInTime=<timestamp>,itemId=<guid>,workspaceId=<guid>"

Expected behavior:

  • Validate restorePointInTime format and provide examples (e.g., ISO 8601 with timezone).
  • Validate GUID formats for itemId and workspaceId.
  • Provide clear errors for permission/source-not-found/restore-window violations.

Alternatives Considered

  • Performing restore manually in the Fabric UI (not automatable and more error-prone).

Impact Assessment

  • This aligns with Microsoft Fabric roadmap items

Implementation Attestation

  • I understand this feature should maintain backward compatibility with existing commands
  • I confirm this feature request does not introduce performance regressions for existing workflows
  • I acknowledge that new features must follow fabric-cli's established patterns and conventions

Implementation Notes

If the restore operation is long-running, consider returning an operation handle and/or allowing --wait behavior consistent with other long-running create operations.

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs triageThis is a new issue that needs to be triaged.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions