In 2019, Microsoft added UTF-8 for SQL Server: https://techcommunity.microsoft.com/t5/sql-server/introducing-utf-8-support-for-sql-server/ba-p/734928
Previously dropped characters are suddenly supported. But UTF-8 takes more space.
Deploying the new dacpac causes the database to rebuild for a few hours. We cannot afford this on our production server. In the other hand, we would still like UTF-8 support.
I was wondering whether there is a workaround to this problem. Maybe turn on IgnoreColumnCollation in the parameters of SqlPackage? Will UTF-8 still be supported if we do this?
If not, can we do what the documentation states?
To convert it in-place, run an alter statement, like the following example:
ALTER TABLE dbo.MyTable ALTER COLUMN MyString VARCHAR(50) COLLATE Latin1_General_100_CI_AI_SC_UTF8
It's very easy to implement, however this is a possibly blocking operation which may pose an issue for > large tables and busy applications.
this is a possibly blocking operation
Is it? How do we know what columns need to be changed?