Azure SQL Database Migration – Remove Index Fillfactor

azure-sql-databasemigration

I'm deploying a SQL Server database to Azure. I've tried to export to a .bacpac, but receive an error:

fill factor set and is not supported when as part of a data package

Using the script in this link I can locate where the fill factors indexes are. I face 2 issues:

  1. The index property page will not let me set the fill factor to 0. I have read that 100 is the same as 0. This does work.

  2. I have too many indexes to do manually. Is there a script I can use that will reset this value to 0?

Best Answer

Deploy to an Azure V12 server, which does support FILLFACTOR, and use SSMS 2014 or later to perform the Deploy to Azure DB task.

Using SSMS 2014 or later is necessary to generate the correct script, and to perform the right checks. To be clear: SSMS 2014 can be used to deploy a database from an earlier version of SQL Server. SSMS 2012 and earlier fail with the error shown, even when deploying to Azure V12.

I just tested deploying a table with a FILLFACTOR of 95 from a SQL Server 2012 instance to an Azure V12 server using SSMS 2014 and it succeeded.

There are other options, including using SSDT and yes, dropping and recreating all your existing indexes, but this is making the task harder than it needs to be. You can find those other options in this SO answer.