DacFx, SqlPackage, and other SQL development libraries enable declarative database development and database portability across SQL versions and environments. Share feedback here on dacpacs, bacpacs, and SQL projects.
.NET Framework (Windows-only) or .NET Core: 4.8.03761
Environment (local platform and source/target platforms): Windows Server 2019, VS 2022 (17.6.5), SSDT (17.6.13.0)
I have a database project with many PolyBase external tables. When I make a change to one of the external tables and build the project, EVERY external table in the project gets dropped and recreated. I would expect only the external table that was changed would be dropped/recreated. The problem behavior was noticed when I made a change to one of the external tables that broke the table (incompatible datatype for a column).
The build of the project is successful, but when I publish with SqlPackage /Action:Publish I see that all external tables are dropped and recreated in alphabetical order. When the problem table’s CREATE EXTERNAL TABLE statement fails to execute (due to incompatible datatype for the column), then the Publish Action stops and SqlPackage makes no attempt to create the remaining external tables. This behavior wouldn’t happen if only the table that was changed was dropped and recreated.
My expectation is that only the table that was changed would be dropped/recreated
Steps to Reproduce:
Create a database with multiple external tables
Create a new SSDT database project
Import the database into the SSDT project
Make a change to one of the external tables
Build the DACPAC
Execute SqlPackage /Action:Publish and publish to existing database
Did this occur in prior versions? If not - which version(s) did it work in? Not sure. Didn't test in other versions.
I have a database project with many PolyBase external tables. When I make a change to one of the external tables and build the project, EVERY external table in the project gets dropped and recreated. I would expect only the external table that was changed would be dropped/recreated. The problem behavior was noticed when I made a change to one of the external tables that broke the table (incompatible datatype for a column).
The build of the project is successful, but when I publish with SqlPackage /Action:Publish I see that all external tables are dropped and recreated in alphabetical order. When the problem table’s CREATE EXTERNAL TABLE statement fails to execute (due to incompatible datatype for the column), then the Publish Action stops and SqlPackage makes no attempt to create the remaining external tables. This behavior wouldn’t happen if only the table that was changed was dropped and recreated.
My expectation is that only the table that was changed would be dropped/recreated Steps to Reproduce:
Did this occur in prior versions? If not - which version(s) did it work in? Not sure. Didn't test in other versions.
(DacFx/SqlPackage/SSMS/Azure Data Studio)