Параметры СОРТИРОВКИ изменений SQL Server Linux

# #sql-server #docker #gitlab #gitlab-ci

Вопрос:

У меня есть SQL-сервер, который запускается внутри контейнера docker из gitlab. Следующий файл yaml делает это :

 services:
    - name: mcr.microsoft.com/mssql/server:2019-latest
      alias: mssql
  variables:
    MSSQL_HOST: microsoft-mssql-server-linux
    ACCEPT_EULA: Y
    MSSQL_COLLATION: Latin1_General_CS_AS
    SA_PASSWORD: yourStrong(!)Password
 

Теперь, когда я запускаю этот конвейер, он выдает ошибку при запуске сценария sql, в котором говорится, что не удалось войти в систему для пользователя SA . Ошибка заключается в следующем :

$ /opt/mssql-tools/bin/sqlcmd-S локальный хост-U SA-P «Ваш строгий(!)пароль» -i Скрипты/DBScript.sql Sqlcmd: Ошибка: Драйвер Microsoft ODBC 17 для SQL Server : Не удалось войти в систему для пользователя » SA » .. Ошибка очистки переменных на основе файлов: Сбой задания: команда завершена кодом выхода 1

Эта ошибка устраняется, как только я удаляю параметры сортировки «MSSQL_COLLATION:Latin1_General_CS_AS» из файла yaml. Это объясняет, что я не могу изменить параметры сортировки MSSQL.

Примечание: Контейнер, созданный Gitlab, является контейнером Linux, который также устанавливает образ docker «mcr.microsoft.com/mssql/server:2019-latest».

Любая идея, как изменить уровень сортировки на уровне MS SQL server.

Комментарии:

1. Довольно причина в том , что вы используете SA , но решили использовать параметры сортировки с учетом регистра . Таким образом, ваши LOGIN буквы s также будут чувствительны к регистру, и, следовательно LOGIN , с именем не найдено SA ни одного ; потому SA что и sa не одно и то же. Если вы собираетесь использовать параметры сортировки с учетом регистра для экземпляра, вам нужно быть осторожным с корпусом.

2. Что должно быть обходным решением здесь, тогда нужны только эти параметры сортировки MSSQL_COLLATION:Latin1_General_CS_AS

3. «Обходного пути» нет, решение заключается LOGIN в правильном написании имени… sa <> <> SA в сопоставлении с учетом регистра. Исправьте свой скрипт, чтобы использовать правильное имя для входа.

4. Сценарий выполняется в виде : «/opt/mssql-tools/bin/sqlcmd -S localhost -U SA» . Это имя пользователя, указанное SA, переходит в sa ??

5. Но LOGIN это sa не SA так …