<?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 Moving tables between pipelines in production in Data Engineering</title>
    <link>https://community.databricks.com/t5/data-engineering/moving-tables-between-pipelines-in-production/m-p/138795#M51014</link>
    <description>&lt;P&gt;We are testing an ingestion from kafka to databricks using a streaming table. The streaming table was created by a DAB deployed to "production" which runs as a service principal. This means the service principal is the "owner" of the table.&lt;/P&gt;&lt;P&gt;We now want to move that streaming table to a different pipeline without losing the data that has been saved in the existing streaming table. I see there is some documentation for that here: &lt;A class="" title="https://learn.microsoft.com/en-gb/azure/databricks/ldp/move-table" href="https://learn.microsoft.com/en-gb/azure/databricks/ldp/move-table" target="_blank" rel="noreferrer noopener"&gt;Move tables between Lakeflow Declarative Pipelines - Azure Databricks | Microsoft Learn&lt;/A&gt;&lt;/P&gt;&lt;P&gt;The problem is that I personally cannot execute the SQL to alter the streaming table (&lt;SPAN&gt;PERMISSION_DENIED: User is not an owner of Pipeline '....'.). Unfortunately it also seems like one cannot change the owner of an existing streaming table ([STREAMING_TABLE_OPERATION_NOT_ALLOWED.UNSUPPORTED_OPERATION] The operation SET OWNER is not allowed: The operation is not supported on Streaming Tables. SQLSTATE: 42601&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Is there another way to alter the pipeline id for the existing table? I guess a workaround would be to run the ALTER TABLE script as part of the DAB so that it is executed as the service princpal? &lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 12 Nov 2025 14:54:26 GMT</pubDate>
    <dc:creator>liquibricks</dc:creator>
    <dc:date>2025-11-12T14:54:26Z</dc:date>
    <item>
      <title>Moving tables between pipelines in production</title>
      <link>https://community.databricks.com/t5/data-engineering/moving-tables-between-pipelines-in-production/m-p/138795#M51014</link>
      <description>&lt;P&gt;We are testing an ingestion from kafka to databricks using a streaming table. The streaming table was created by a DAB deployed to "production" which runs as a service principal. This means the service principal is the "owner" of the table.&lt;/P&gt;&lt;P&gt;We now want to move that streaming table to a different pipeline without losing the data that has been saved in the existing streaming table. I see there is some documentation for that here: &lt;A class="" title="https://learn.microsoft.com/en-gb/azure/databricks/ldp/move-table" href="https://learn.microsoft.com/en-gb/azure/databricks/ldp/move-table" target="_blank" rel="noreferrer noopener"&gt;Move tables between Lakeflow Declarative Pipelines - Azure Databricks | Microsoft Learn&lt;/A&gt;&lt;/P&gt;&lt;P&gt;The problem is that I personally cannot execute the SQL to alter the streaming table (&lt;SPAN&gt;PERMISSION_DENIED: User is not an owner of Pipeline '....'.). Unfortunately it also seems like one cannot change the owner of an existing streaming table ([STREAMING_TABLE_OPERATION_NOT_ALLOWED.UNSUPPORTED_OPERATION] The operation SET OWNER is not allowed: The operation is not supported on Streaming Tables. SQLSTATE: 42601&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Is there another way to alter the pipeline id for the existing table? I guess a workaround would be to run the ALTER TABLE script as part of the DAB so that it is executed as the service princpal? &lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 12 Nov 2025 14:54:26 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/moving-tables-between-pipelines-in-production/m-p/138795#M51014</guid>
      <dc:creator>liquibricks</dc:creator>
      <dc:date>2025-11-12T14:54:26Z</dc:date>
    </item>
    <item>
      <title>Re: Moving tables between pipelines in production</title>
      <link>https://community.databricks.com/t5/data-engineering/moving-tables-between-pipelines-in-production/m-p/138805#M51016</link>
      <description>&lt;P&gt;You’ve hit two limitations:&lt;/P&gt;&lt;P&gt;Streaming tables don’t allow SET OWNER – ownership cannot be changed.&lt;BR /&gt;Lakeflow pipeline ID changes require pipeline-level permissions – if you’re not the pipeline owner, you can’t run ALTER STREAMING TABLE ... SET PIPELINE_ID.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Practical Workarounds&lt;BR /&gt;Option 1: Execute the ALTER as the Service Principal&lt;/P&gt;&lt;P&gt;Yes, your idea works: include the ALTER STREAMING TABLE ... SET PIPELINE_ID '&amp;lt;new_pipeline_id&amp;gt;' in the DAB for the new pipeline.&lt;BR /&gt;When the DAB runs under the service principal (which owns the table), the command succeeds.&lt;BR /&gt;This is the recommended approach per Databricks docs.&lt;/P&gt;&lt;P&gt;Option 2: Ask for temporary pipeline ownership&lt;/P&gt;&lt;P&gt;If possible, have the pipeline owner grant you Pipeline Owner permission so you can run the SQL manually.&lt;BR /&gt;After migration, revoke the permission.&lt;/P&gt;&lt;P&gt;Option 3: Clone the table (last resort)&lt;/P&gt;&lt;P&gt;If ownership cannot be changed and you cannot run as the service principal, you’d need to create a new streaming table and backfill from the old one.&lt;BR /&gt;This is more complex and usually unnecessary if Option 1 is possible.&lt;/P&gt;</description>
      <pubDate>Wed, 12 Nov 2025 16:23:00 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/moving-tables-between-pipelines-in-production/m-p/138805#M51016</guid>
      <dc:creator>nayan_wylde</dc:creator>
      <dc:date>2025-11-12T16:23:00Z</dc:date>
    </item>
    <item>
      <title>Re: Moving tables between pipelines in production</title>
      <link>https://community.databricks.com/t5/data-engineering/moving-tables-between-pipelines-in-production/m-p/138876#M51030</link>
      <description>&lt;P&gt;Thanks for your reply, Nayan.&lt;/P&gt;&lt;P&gt;I'll try option 1 and report back later.&lt;/P&gt;&lt;P&gt;Is option 2 possible? As per the second error message, it does not appear as if we can change the owner on streaming tables.&lt;/P&gt;&lt;P&gt;Option 3 would be too complex and time-consuming, but thanks for the idea.&lt;/P&gt;</description>
      <pubDate>Thu, 13 Nov 2025 09:02:29 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/moving-tables-between-pipelines-in-production/m-p/138876#M51030</guid>
      <dc:creator>liquibricks</dc:creator>
      <dc:date>2025-11-13T09:02:29Z</dc:date>
    </item>
    <item>
      <title>Re: Moving tables between pipelines in production</title>
      <link>https://community.databricks.com/t5/data-engineering/moving-tables-between-pipelines-in-production/m-p/138883#M51032</link>
      <description>&lt;P&gt;Oh, in the roadmap webinar today they just announced upcoming SQL support for ST/MV change owner. Maybe i'll wait for that then!&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":grinning_face_with_sweat:"&gt;😅&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 13 Nov 2025 09:36:33 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-engineering/moving-tables-between-pipelines-in-production/m-p/138883#M51032</guid>
      <dc:creator>liquibricks</dc:creator>
      <dc:date>2025-11-13T09:36:33Z</dc:date>
    </item>
  </channel>
</rss>

