Closed coderb closed 7 years ago
Do you have the same error with other collations or just Latin1_General_BIN?
it seems so. i just tried the same command with Latin1_General_BIN2 and it deadlocked/failed as well.
OK, thanks. Yeah, seeing the same on my machine but the AV happens only with _BIN collations. Both _BIN collations and other collations like Latin1_General_CS_AS_KS_WS throw the deadlock error. We'll look into it further...
good to know i'm not crazy. thanks for the fast response!
This is a known issue, documented in the release notes here: https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-release-notes#RC1
There is a workaround in the release notes. Sorry for the inconvenience. The issue is fixed and will be in the next release.
hmm, ok. glad it's fixed however the workaround doesn't work for me. mssql-conf set-collation
dies because it tries to run sudo
which doesn't exist inside the docker container.
Good point. Sorry, about the inconvenience. Next RC with this fix should be out week of July 31.
i'd like to test this under windows. any chance rc2 can get a push to microsoft/mssql-server-windows ?
Please use RC1 on Windows for now. We probably wont be publishing an RC2 image to Docker Hub since the delta between RC1 and RC2 is so small.
Is it possible for me to build my own windows RC2 image (instructions please, if so)?
You said RC2 would fix the collation issue- that's why I want RC2 on Windows. How do I test/run it?
The collation issue is specific to SQL Server on Linux in RC1. It should be fixed in mssql-server-linux in :rc2.
From what I see, -e MSSQL_COLLATION is not even coded in startup.ps1 on windows RC1. Am I being stupid / missing something? Thanks.
Since SQL Server on Windows containers is behind SQL Server on Linux in terms of how configuration options are exposed, if you wanted to set the collation before running SQL Server you would need to build your own image. You can do this by grabbing the Dockerfile here: https://github.com/Microsoft/mssql-docker/blob/master/windows/mssql-server-windows/dockerfile
Then, on the command line where it is passing in various arguments to .\setup\setup.exe you would need to also pass the /SQLCOLLATION parameter. Then docker build and you'll have your own image with whatever collation you want.
Over time, SQL Server on Windows containers will catch up to SQL Server on Linux containers in terms of ease of use in areas like this.
nice! that should work for me. thanks!
docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_COLLATION=Latin1_General_BIN' -e 'MSSQL_SA_PASSWORD=<YoerStrbng!PaJsw0rd>' -e 'MSSQL_PID=Developer' --cap-add SYS_PTRACE -p 1433:1433 -d microsoft/mssql-server-linux
gives error in log: