SSDT DEployment fails with "The Element or Annotation class SqlIndex does not contain the Property class Online"

Ron Anoshi 10 Reputation points
2024-05-01T13:00:59.15+00:00

Trying to deploy our DBs SSDT, both in an Azure Pipeline and on our team's Docker, fails with the following error:

   Assembly Initialization method <MyAssembly>.ComponentTestBase.AssemblyInit threw exception. Microsoft.Data.Tools.Schema.Sql.Deployment.DeploymentFailedException: Microsoft.Data.Tools.Schema.Sql.Deployment.DeploymentFailedException: The Element or Annotation class SqlIndex does not contain the Property class Online. ---> Microsoft.Data.Tools.Schema.SchemaModel.ModelSerializationException: The Element or Annotation class SqlIndex does not contain the Property class Online.. Aborting test execution.

When looking at the SSDT generated script, is shows that indeed all of our indexes, though created with the Online property, as can be seen in model.xml: <Property Name="Online" Value="True" /> The script is generated without:

WITH (ONLINE = ON)

This suddenly started happening, without any related changes, and fails on old master versions as well, and the internet claims it has something to do with later version mismatches of SqlPackage.exe.

A solution would be greatly appreciated.

SQL Server
SQL Server
A family of Microsoft relational database management and analysis systems for e-commerce, line-of-business, and data warehousing solutions.
12,875 questions
0 comments No comments
{count} votes