<?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>topic Pipeline still needs USE SCHEMA on an old schema it no longer writes to in Data Governance</title>
    <link>https://community.databricks.com/t5/data-governance/pipeline-still-needs-use-schema-on-an-old-schema-it-no-longer/m-p/163943#M2914</link>
    <description>&lt;P class=""&gt;We have a Lakeflow (DLT) pipeline that runs as a task inside a job. A service principal is set as the run-as identity.&lt;/P&gt;&lt;P class=""&gt;The pipeline originally created its streaming tables and a metadata Delta table (which gets updated in a separate task in the job) in one schema. That was changed a long time ago and everything now points to a new schema. There is no reference to the old schema anywhere in the source code.&lt;/P&gt;&lt;P class=""&gt;Even so, updates keep failing because &lt;STRONG&gt;a new service principal&lt;/STRONG&gt; was created which doesn't have USE SCHEMA on the old schema.&lt;/P&gt;&lt;P class=""&gt;What I've already checked:&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;The tables sitting in the old schema had pipelines.pipelineId set to this pipeline, so DLT still treated them as its own.&lt;/LI&gt;&lt;LI&gt;The pipeline's lineage view still showed 2 tables from the old schema.&lt;/LI&gt;&lt;LI&gt;I dropped those tables manually. The error still shows up.&lt;/LI&gt;&lt;LI&gt;I ran a full refresh. Same error.&lt;/LI&gt;&lt;LI&gt;I can't query the event log directly since the TVF is owner-restricted, so I can't see which object it's actually failing on.&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;Is there anything else that keeps a reference to the old schema once the tables themselves are gone? Event log destination, Auto Loader schema/checkpoint locations, internal materialization schemas, something else? Or is permanently granting USE SCHEMA on the old schema the only realistic option here?&lt;/P&gt;&lt;P class=""&gt;Unity Catalog is enabled, pipeline is triggered from a job task, run-as is a service principal.&lt;/P&gt;&lt;P class=""&gt;#Lakeflow #DLT #DeltaLiveTables #UnityCatalog&lt;/P&gt;</description>
    <pubDate>Thu, 23 Jul 2026 17:53:45 GMT</pubDate>
    <dc:creator>keshavmonga22</dc:creator>
    <dc:date>2026-07-23T17:53:45Z</dc:date>
    <item>
      <title>Pipeline still needs USE SCHEMA on an old schema it no longer writes to</title>
      <link>https://community.databricks.com/t5/data-governance/pipeline-still-needs-use-schema-on-an-old-schema-it-no-longer/m-p/163943#M2914</link>
      <description>&lt;P class=""&gt;We have a Lakeflow (DLT) pipeline that runs as a task inside a job. A service principal is set as the run-as identity.&lt;/P&gt;&lt;P class=""&gt;The pipeline originally created its streaming tables and a metadata Delta table (which gets updated in a separate task in the job) in one schema. That was changed a long time ago and everything now points to a new schema. There is no reference to the old schema anywhere in the source code.&lt;/P&gt;&lt;P class=""&gt;Even so, updates keep failing because &lt;STRONG&gt;a new service principal&lt;/STRONG&gt; was created which doesn't have USE SCHEMA on the old schema.&lt;/P&gt;&lt;P class=""&gt;What I've already checked:&lt;/P&gt;&lt;UL class=""&gt;&lt;LI&gt;The tables sitting in the old schema had pipelines.pipelineId set to this pipeline, so DLT still treated them as its own.&lt;/LI&gt;&lt;LI&gt;The pipeline's lineage view still showed 2 tables from the old schema.&lt;/LI&gt;&lt;LI&gt;I dropped those tables manually. The error still shows up.&lt;/LI&gt;&lt;LI&gt;I ran a full refresh. Same error.&lt;/LI&gt;&lt;LI&gt;I can't query the event log directly since the TVF is owner-restricted, so I can't see which object it's actually failing on.&lt;/LI&gt;&lt;/UL&gt;&lt;P class=""&gt;Is there anything else that keeps a reference to the old schema once the tables themselves are gone? Event log destination, Auto Loader schema/checkpoint locations, internal materialization schemas, something else? Or is permanently granting USE SCHEMA on the old schema the only realistic option here?&lt;/P&gt;&lt;P class=""&gt;Unity Catalog is enabled, pipeline is triggered from a job task, run-as is a service principal.&lt;/P&gt;&lt;P class=""&gt;#Lakeflow #DLT #DeltaLiveTables #UnityCatalog&lt;/P&gt;</description>
      <pubDate>Thu, 23 Jul 2026 17:53:45 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-governance/pipeline-still-needs-use-schema-on-an-old-schema-it-no-longer/m-p/163943#M2914</guid>
      <dc:creator>keshavmonga22</dc:creator>
      <dc:date>2026-07-23T17:53:45Z</dc:date>
    </item>
    <item>
      <title>Re: Pipeline still needs USE SCHEMA on an old schema it no longer writes to</title>
      <link>https://community.databricks.com/t5/data-governance/pipeline-still-needs-use-schema-on-an-old-schema-it-no-longer/m-p/163944#M2915</link>
      <description>&lt;P class="wnfdntu _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea" data-pm-slice="1 1 []"&gt;I don’t think the old schema grant is necessarily the only long-term answer.&lt;/P&gt;
&lt;P class="wnfdntu _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;Even after the original streaming tables are dropped, a Lakeflow pipeline can still have hidden artifacts that reference the prior schema. In practice, the main things I’d look at are the pipeline event log location, any hidden backing/materialization objects, and if Auto Loader is involved, the schema metadata that follows the event log location.&lt;/P&gt;
&lt;P class="wnfdntu _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;For Unity Catalog pipelines, changing the default catalog or schema causes the previous tables to become inactive, and dropping those old tables is the right cleanup step. But that cleanup does not by itself rule out other pipeline-managed metadata still tied to the old schema.&lt;/P&gt;
&lt;P class="wnfdntu _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;One detail that stands out is the event log behavior. By default, the pipeline writes its event log to a hidden Delta table in the configured catalog/schema, and Databricks specifically notes that removing the event log or its parent catalog/schema can cause future updates to fail. Databricks also documents that the event log location serves as the schema location for Auto Loader queries in the pipeline.&lt;/P&gt;
&lt;P class="wnfdntu _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;Depending on the pipeline’s publishing mode, there may also be hidden backing tables involved. In the current/default architecture, these hidden backing tables and event-log objects live alongside the user-facing schema objects. In legacy publishing mode, they instead live under internal pipeline-managed schemas in &lt;CODE&gt;__databricks_internal&lt;/CODE&gt;.&lt;/P&gt;
&lt;P class="wnfdntu _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;So my read is that there are still a few realistic places where the old schema could be referenced, even though it no longer appears in the source code or in the active published tables.&lt;/P&gt;
&lt;P class="wnfdntu _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;As a practical next step, I’d suggest checking the pipeline settings/API response for the event log configuration and publishing mode, and then looking for any hidden event-log or materialization objects that still exist in the old schema.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P class="wnfdntu _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea" data-pm-slice="1 3 []"&gt;A few references that may be helpful:&lt;/P&gt;
&lt;UL class="wnfdntf" dir="auto"&gt;
&lt;LI class="wnfdnte _1ibi0s33w" dir="auto"&gt;
&lt;P class="wnfdntu _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;&lt;A href="https://docs.databricks.com/aws/en/ldp/unity-catalog" rel="noopener noreferrer nofollow" target="_blank"&gt;Use Unity Catalog with pipelines&lt;/A&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="wnfdnte _1ibi0s33w" dir="auto"&gt;
&lt;P class="wnfdntu _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;&lt;A href="https://docs.databricks.com/aws/en/ldp/monitor-event-logs" rel="noopener noreferrer nofollow" target="_blank"&gt;Pipeline event log&lt;/A&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="wnfdnte _1ibi0s33w" dir="auto"&gt;
&lt;P class="wnfdntu _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;&lt;A href="https://docs.databricks.com/aws/en/ldp/configure-pipeline" rel="noopener noreferrer nofollow" target="_blank"&gt;Configure pipelines&lt;/A&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI class="wnfdnte _1ibi0s33w" dir="auto"&gt;
&lt;P class="wnfdntu _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;&lt;A href="https://docs.databricks.com/aws/en/ldp/migrate-to-dpm" rel="noopener noreferrer nofollow" target="_blank"&gt;Enable the default publishing mode in a pipeline&lt;/A&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;</description>
      <pubDate>Thu, 23 Jul 2026 18:12:32 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-governance/pipeline-still-needs-use-schema-on-an-old-schema-it-no-longer/m-p/163944#M2915</guid>
      <dc:creator>adnan_alvee</dc:creator>
      <dc:date>2026-07-23T18:12:32Z</dc:date>
    </item>
    <item>
      <title>Re: Pipeline still needs USE SCHEMA on an old schema it no longer writes to</title>
      <link>https://community.databricks.com/t5/data-governance/pipeline-still-needs-use-schema-on-an-old-schema-it-no-longer/m-p/163956#M2916</link>
      <description>&lt;P&gt;The detail I'd anchor on is that this started when the run-as service principal changed. That timing usually means nothing new started referencing the old schema; something has been touching it all along, and the old identity's grants kept it invisible. So the question becomes --- what has this pipeline always been reading or writing there&lt;BR /&gt;&lt;BR /&gt;You can find the exact object without the event log TVF. Unity Catalog permission denials land in the audit system table, so the failing update leaves a trail:&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;SELECT event_time, action_name,&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;request_params, response.error_message&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;FROM system.access.audit&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;WHERE user_identity.email = '&amp;lt;new SP application id&amp;gt;'&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;AND response.status_code = 403&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;&lt;STRONG&gt;ORDER BY event_time DESC&lt;BR /&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;Run that after a failed update and the denied action should name the securable the USE SCHEMA check failed on. That turns the guessing into a lookup.&lt;BR /&gt;&lt;BR /&gt;My prime suspect matches &lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/77492"&gt;@adnan_alvee&lt;/a&gt;&amp;nbsp;'s: the event log. By default a pipeline writes its event log to a hidden Delta table in the catalog and schema configured for the pipeline, and the docs warn that deleting the event log or its parent schema can make future updates fail, which shows how load-bearing it is. If your pipeline was created back when the old schema was the default, that hidden table plausibly still lives there even though every published table moved. &lt;EM&gt;databricks pipelines get &amp;lt;pipeline-id&amp;gt;&lt;/EM&gt; shows the current spec, including an event_log field if one was ever set explicitly.&lt;BR /&gt;&lt;BR /&gt;If the event log is the culprit, there's a cleaner permanent fix than granting the new SP access to the old schema forever. Pipelines support publishing the event log to a location you choose, an event_log block with catalog, schema, and table name in the pipeline settings, so it can live in the new schema with everything else.&lt;BR /&gt;&lt;BR /&gt;Even if you grant USE SCHEMA temporarily, treat it as instrumentation rather than a concession.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 24 Jul 2026 01:38:32 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-governance/pipeline-still-needs-use-schema-on-an-old-schema-it-no-longer/m-p/163956#M2916</guid>
      <dc:creator>binlogreader</dc:creator>
      <dc:date>2026-07-24T01:38:32Z</dc:date>
    </item>
    <item>
      <title>Re: Pipeline still needs USE SCHEMA on an old schema it no longer writes to</title>
      <link>https://community.databricks.com/t5/data-governance/pipeline-still-needs-use-schema-on-an-old-schema-it-no-longer/m-p/164153#M2926</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/245078"&gt;@binlogreader&lt;/a&gt;&amp;nbsp;and &lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/77492"&gt;@adnan_alvee&lt;/a&gt;&amp;nbsp;, thank you for the replies. But I don't have access to&amp;nbsp;&lt;EM&gt;&lt;STRONG&gt;system.access&amp;nbsp;&lt;/STRONG&gt;&lt;/EM&gt;either.&lt;/P&gt;&lt;P&gt;We had temporarily granted USE SCHEMA permissions on the older schema to run the pipelines.&lt;/P&gt;&lt;P&gt;Since then, I have deleted the schema entirely since it was anyways inactive now. Please note that when we had changed schemas, we had recreated the tables from scratch in the new schema.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jul 2026 07:11:09 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-governance/pipeline-still-needs-use-schema-on-an-old-schema-it-no-longer/m-p/164153#M2926</guid>
      <dc:creator>keshavmonga22</dc:creator>
      <dc:date>2026-07-27T07:11:09Z</dc:date>
    </item>
    <item>
      <title>Re: Pipeline still needs USE SCHEMA on an old schema it no longer writes to</title>
      <link>https://community.databricks.com/t5/data-governance/pipeline-still-needs-use-schema-on-an-old-schema-it-no-longer/m-p/164196#M2930</link>
      <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/143415"&gt;@keshavmonga22&lt;/a&gt;&amp;nbsp;Is there anyone in your team with Admin access that can grant you temporary access or can check the event log?&lt;/P&gt;</description>
      <pubDate>Mon, 27 Jul 2026 13:04:16 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-governance/pipeline-still-needs-use-schema-on-an-old-schema-it-no-longer/m-p/164196#M2930</guid>
      <dc:creator>binlogreader</dc:creator>
      <dc:date>2026-07-27T13:04:16Z</dc:date>
    </item>
  </channel>
</rss>

