Databricks: After metastore storage root location removal cannot change default storage root for new __databricks_internal catalog

Jurijs Ņemcevs 0 Reputation points
2026-08-05T11:24:13.5133333+00:00

Dear team,

We decided to remove default storage root location for metastore in databricks (via accounts level plane) since all of our catalogs have their own root location anyways. After doing so new __databricks_internal catalog was created and is visible in the workspace level plane. All of the schemas inside this catalog map to specific (their own) root locations as was configured in the original catalogs under this metastore, but root location for __databricks_internal catalog itself still maps to old storage location, which is empty and not actually in use (no tables, volumes, or anything else in the storage). We would like to change this non-used default root location to different location since we need to delete the storage location and subscription where this storage account is located, but we are unable to do it ourselves. The only option that we see is try to change the root location for used external location which is used by this catalog with force flag, but looks risky.

According to previous threads it seems that sometimes such configurations can be done only via support, so the question is if it is possible to change? Or maybe other workarounds are possible?

Kind regards,
Jurijs

Azure Databricks
Azure Databricks

An Apache Spark-based analytics platform optimized for Azure.


1 answer

Sort by: Oldest
  1. Smaran Thoomu 35,870 Reputation points Microsoft External Staff Moderator
    2026-08-29T06:10:34.1433333+00:00

    Hi Jurijs,

    Welcome back from vacation - thank you for testing thoroughly and reporting back with clear results.

    Your findings are very conclusive and have moved us past the diagnostic phase. Here is where we stand:

    What your test results confirm:

    Since ALTER CATALOG ... SET MANAGED LOCATION fails with "command is not enabled here" on ALL catalogs (not just databricks_internal), across all compute types (serverless, private, preview channel, UC-enabled and non-UC clusters), this is definitively a workspace-level or metastore-level feature gate - the ALTER CATALOG SET MANAGED LOCATION capability is simply not enabled for your workspace.

    This is not a permissions problem (a permissions error would name the missing privilege). This is not a compute version problem (you have tested Preview channel). This is not specific to databricks_internal. The feature flag needs to be enabled at the platform level for your workspace.

    This cannot be resolved by any configuration change on your end.

    Next steps - what we will do:

    We will raise this internally with the Azure Databricks engineering team to:

    1. Enable the ALTER CATALOG SET MANAGED LOCATION feature flag for your workspace/metastore.
    2. If that is not possible (since databricks_internal is a system-managed catalog with additional restrictions), request a backend/platform-side change to repoint the storage root of __databricks_internal to a new location on your behalf.

    To action this, please confirm the following in the private message so we can include it in the engineering request:

    • Workspace ID:
    • Metastore ID: Please share this - you can find it in the Databricks Account Console under Unity Catalog > Metastores > your metastore > Details
    • Current storage root path for databricks_internal (from your DESCRIBE CATALOG EXTENDED databricks_internal output — the Location field)
    • Target new storage root path you would like it pointed to (the new ADLS Gen2 path, e.g. abfss://<container>@<account>.dfs.core.windows.net/<path>)
    • The external location that will cover the new target path - please confirm it already exists and you hold CREATE MANAGED STORAGE on it

    Important - before you delete the storage account:

    Please do NOT delete the old storage account or subscription yet. A Unity Catalog reference pointing into a deleted subscription is significantly harder to clean up than one resolved while the storage still exists.

    Once engineering repoints the catalog storage root, the sequence to safely cleanup will be:

    1. Confirm databricks_internal now points to the new location.
    2. In Catalog Explorer > External Data > External Locations, locate prior_metastore_root_location (created automatically when you removed the metastore root). Drop it along with its associated storage credential.
    3. Confirm no other external locations reference the old storage account.
    4. Then delete the old storage account and subscription.

    We will follow up as soon as we have a response from the engineering team. Given the straightforward nature of the request (empty storage, no active data, stale metadata reference), we expect this to be actionable.

    Please share the details above at your earliest convenience so we can proceed without delay.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.