Запуск контейнера MS SQL на Docker с кодировкой сервера Cyrillic_General_CI_AS
Microsoft SQL Server — одна из самых популярных систем управления базами данных (СУБД). Она поддерживает различные типы транзакционных и аналитических запросов, имеет удобный графический интерфейс для работы с данными и обеспечивает высокую производительность при работе с большими объёмами информации.
Работа с базами данных может потребоваться различным приложениям, поэтому важно уметь разворачивать СУБД на сервере или виртуальной машине. Один из способов сделать это — использовать Docker. Это платформа для разработки и доставки приложений, которая позволяет запускать программы в изолированных контейнерах. Благодаря этому снижается вероятность конфликта версий ПО и упрощается процесс обновления системы.
Однако при использовании Docker с Microsoft SQL Server могут возникнуть проблемы с кодировкой. По умолчанию используется UTF-8, но если данные хранятся в кириллической кодировке, то они будут отображаться неправильно. Чтобы решить эту проблему, нужно изменить кодировку сервера на Cyrillic_General_CI_AS. В этой статье я расскажу, как это сделать.
Эта команда загрузит последний образ Microsoft SQL Server версии 2019. Если вы хотите использовать другую версию, замените «2019-latest» на соответствующий идентификатор образа.
Здесь мы указываем имя контейнера («sqlserver»), принимаем лицензионное соглашение («ACCEPT_EULA=Y»), задаём пароль для пользователя SA («SA_PASSWORD=YourStrongPassword!») и пробрасываем порт 1433 внутрь контейнера и наружу ("-p 1433:1433").
1. Остановите контейнер, если он запущен:
2. Подключитесь к контейнеру:
3. Войдите в систему как пользователь SA:
4. Выполните следующие команды для изменения кодировки:
5. Перезапустите службу SQL Server:
6. Теперь кодировка сервера должна быть изменена на Cyrillic_General_CI_AS.
Работа с базами данных может потребоваться различным приложениям, поэтому важно уметь разворачивать СУБД на сервере или виртуальной машине. Один из способов сделать это — использовать Docker. Это платформа для разработки и доставки приложений, которая позволяет запускать программы в изолированных контейнерах. Благодаря этому снижается вероятность конфликта версий ПО и упрощается процесс обновления системы.
Однако при использовании Docker с Microsoft SQL Server могут возникнуть проблемы с кодировкой. По умолчанию используется UTF-8, но если данные хранятся в кириллической кодировке, то они будут отображаться неправильно. Чтобы решить эту проблему, нужно изменить кодировку сервера на Cyrillic_General_CI_AS. В этой статье я расскажу, как это сделать.
Шаг 1: Установка Docker
Перед тем как начать работу с Docker, необходимо установить его на свой компьютер. Для этого перейдите на официальный сайт проекта и скачайте последнюю версию для вашей операционной системы. После установки запустите Docker и убедитесь, что он работает корректно.Шаг 2: Создание образа контейнера
Чтобы создать образ контейнера с Microsoft SQL Server, выполните следующую команду в терминале:docker pull mcr.microsoft.com/mssql/server:2019-latest
Эта команда загрузит последний образ Microsoft SQL Server версии 2019. Если вы хотите использовать другую версию, замените «2019-latest» на соответствующий идентификатор образа.
Шаг 3: Запуск контейнера
Теперь, когда у нас есть образ, мы можем запустить контейнер с Microsoft SQL Server. Для этого выполните следующую команду:docker run --name sqlserver -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=YourStrongPassword!' -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
Здесь мы указываем имя контейнера («sqlserver»), принимаем лицензионное соглашение («ACCEPT_EULA=Y»), задаём пароль для пользователя SA («SA_PASSWORD=YourStrongPassword!») и пробрасываем порт 1433 внутрь контейнера и наружу ("-p 1433:1433").
Шаг 4: Изменение кодировки сервера
Чтобы изменить кодировку сервера на Cyrillic_General_CI_AS, нам нужно подключиться к контейнеру и выполнить несколько команд. Для этого выполните следующие шаги:1. Остановите контейнер, если он запущен:
docker stop sqlserver
2. Подключитесь к контейнеру:
docker exec -it sqlserver /bin/bash
3. Войдите в систему как пользователь SA:
sqlcmd -S localhost -U sa -P YourStrongPassword!
4. Выполните следующие команды для изменения кодировки:
-- Изменение кодировки на Cyrillic_General_CI_AS
ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CATION_FOR_PII = OFF;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC sp_db_increased_compatibility 'Cyrillic_General_CI_AS';
GO
5. Перезапустите службу SQL Server:
service sqlserver restart
6. Теперь кодировка сервера должна быть изменена на Cyrillic_General_CI_AS.
Похожие публикации
Нет комментариев