Closed DerDreschner closed 5 years ago
We don't support UTF-8 for SQL Server 2017. This is something that we are working on for SQL Server 2019. So if you have a system that has the Windows Beta feature for UTF-8, we recommend that you don't turn it on if you are running SQL Server 2017 and below.
@dreschner I had the same problem and as it turned out the root issue was that when using Docker Desktop the default container isolation mode is hyperv
instead of process
(which is the default on Windows Server).
In Hyper-V the system code-page is 65001 (UTF-8) which prevents cumulative updates to be applied as documented here:
https://feedback.azure.com/forums/908035-sql-server/suggestions/35221357-installing-service-pack-cumulative-update-on-sql
The solution is to simply build the image using process
isolation like this:
docker build --memory 4g --isolation process .
This will now use your local code-page instead of UTF-8.
After the image was build it can be used with Hyper-V isolation.
Tested on Win 10 1903 using Docker 19.03.4
I try to update the RTM windows base image of sql server 2017 developer. To achive that, I modified the dockerfile as following:
Unfortunately, the SQL Server doesn't start anymore after installing the CU15 as it crashed while applying the updates to the databases. The last entries in the errorlog are the following:
After some research, I found some threads suggesting turning off the experimental utf-8 support fix the problem (e.g. https://social.msdn.microsoft.com/Forums/en-US/6282dc39-0e19-476a-8fbc-e1ce26cb94e5/cannot-start-sql-server-express-2017?forum=sqlexpress ). To achive that, I inserted the following step in my dockerfile:
But that doesn't help, sql server doesn't start at all and still crashes with the same error message. Looks like the charset can't be changed inside a docker container. Trying that in a powershell session in docker returns the following error message:
For further investigations, I include the whole log folder as zip to this issue: Logs.zip. As I don't know what I could do anymore, I think opening a new issue is the only option for me as I want to use SQL Server with the latest CU even in development.
Thank you very much for any help!