Краткое руководство. Установка SQL Server и создание базы данных в Red Hat
Область применения: SQL Server — Linux
В этом кратком руководстве вы установите SQL Server 2017 (14.x) в Red Hat Enterprise Linux (RHEL) 8.x. Затем вы сможете подключиться с помощью sqlcmd, чтобы создать первую базу данных и выполнять запросы.
Дополнительные сведения о поддерживаемых платформах см. в заметках о выпуске SQL Server 2017 для Linux.
В этом кратком руководстве вы установите SQL Server 2019 (15.x) в Red Hat Enterprise Linux (RHEL) 8.x. Затем вы сможете подключиться с помощью sqlcmd, чтобы создать первую базу данных и выполнять запросы.
Дополнительные сведения о поддерживаемых платформах см. в заметках о выпуске SQL Server 2019 для Linux.
В этом кратком руководстве описано, как установить SQL Server 2022 (16.x) в Red Hat Enterprise Linux (RHEL) 8.x или 9.x. Затем вы сможете подключиться с помощью sqlcmd, чтобы создать первую базу данных и выполнять запросы.
Дополнительные сведения о поддерживаемых платформах см. в заметках о выпуске для SQL Server 2022 (16.x) на Linux.
Совет
Для выполнения этого руководства требуется ввод данных пользователем и подключение к Интернету. Если вы заинтересованы в процедурах автоматической установки или автономной установки, ознакомьтесь с руководством по установке SQL Server на Linux. Если вы решили установить предварительно установленную виртуальную машину SQL Server на RHEL, готовой к выполнению рабочей нагрузки на основе рабочей среды, следуйте рекомендациям по созданию виртуальной машины SQL Server.
Образы Azure Marketplace
Виртуальную машину можно создать на основе следующего образа Azure Marketplace:
При использовании приведенного выше образа Marketplace вы избегаете шага установки и можете напрямую настроить экземпляр, предоставив номер SKU и sa
пароль, необходимый для начала работы с SQL Server. Виртуальные машины SQL Server Azure, развернутые в RHEL с помощью приведенных выше образов Marketplace, полностью поддерживаются корпорацией Майкрософт и Red Hat.
Вы можете настроить SQL Server на Linux с помощью mssql-conf, выполнив следующую команду:
sudo /opt/mssql/bin/mssql-conf setup
Необходимые компоненты
Компьютер RHEL 8.x должен содержать не менее 2 ГБ памяти.
Чтобы установить Red Hat Enterprise Linux на собственном компьютере, перейдите на страницу https://access.redhat.com/products/red-hat-enterprise-linux/evaluation. Можно также создать виртуальные машины RHEL в Azure. См. статью Создание виртуальных машин Linux и управление ими с помощью Azure CLI и используйте параметр --image RHEL
в вызове az vm create
.
Если вы ранее установили ознакомительную версию SQL Server для сообщества (CTP) или релиз-кандидат (RC), необходимо удалить старый репозиторий, прежде чем выполнять эти действия. Дополнительные сведения см. в статье Настройка репозиториев для установки и обновления SQL Server на Linux.
Сведения о других требованиях к системе см. в статье Требования к системе для SQL Server на Linux.
Установка SQL Server
Следующие команды для установки SQL Server ссылаются на репозиторий RHEL 8. RHEL 8 не входит в состав установки python2
, которая требуется для SQL Server. Перед началом установки SQL Server выполните команду и убедитесь, что в качестве интерпретатора выбран python2
:
sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands:
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command:
sudo alternatives --config python
Дополнительные сведения см. в статье по установке компонента python2
и настройке его как интерпретатора по умолчанию в следующем блоге: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.
Чтобы настроить SQL Server в RHEL, выполните следующие команды в терминале, чтобы установить mssql-server
пакет:
Скачайте файл конфигурации репозитория SQL Server 2017 (14.x) Red Hat.
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2017.repo
Совет
Если вы хотите установить другую версию SQL Server, ознакомьтесь с версиями этой статьи для SQL Server 2019 (15.x) или SQL Server 2022 (16.x).
Выполните следующую команду для установки SQL Server:
sudo yum install -y mssql-server
Когда установка пакета завершится, выполните команду
mssql-conf setup
и следуйте указаниям, чтобы задать пароль системного администратора и выбрать выпуск. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.sudo /opt/mssql/bin/mssql-conf setup
Не забудьте указать надежный пароль для учетной записи системного администратора. Его минимальная длина должна составлять 8 символов, он должен содержать строчные и прописные буквы, десятичные цифры и (или) специальные символы.
По завершении настройки убедитесь в том, что служба работает.
systemctl status mssql-server
Чтобы разрешить удаленные подключения, откройте порт SQL Server в брандмауэре в RHEL. По умолчанию для SQL Server используется TCP-порт 1433. Если вы используете в качестве брандмауэра FirewallD, можно использовать следующие команды.
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
В результате сервер SQL Server будет запущен на компьютере RHEL и готов к использованию!
Следующие команды для установки SQL Server ссылаются на репозиторий RHEL 8. RHEL 8 не входит в состав установки python2
, которая требуется для SQL Server. Перед началом установки SQL Server выполните команду и убедитесь, что в качестве интерпретатора выбран python2
:
sudo alternatives --config python
# If not configured, install python2 and openssl10 using the following commands:
sudo yum install python2
sudo yum install compat-openssl10
# Configure python2 as the default interpreter using this command:
sudo alternatives --config python
Дополнительные сведения см. в статье по установке компонента python2
и настройке его как интерпретатора по умолчанию в следующем блоге: https://www.redhat.com/en/blog/installing-microsoft-sql-server-red-hat-enterprise-linux-8-beta.
Чтобы настроить SQL Server в RHEL, выполните следующие команды в терминале, чтобы установить mssql-server
пакет:
Скачайте файл конфигурации репозитория SQL Server 2019 (15.x) Red Hat.
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2019.repo
Совет
Если вы хотите установить другую версию SQL Server, ознакомьтесь с версиями этой статьи для SQL Server 2017 (14.x) или SQL Server 2022 (16.x).
Выполните следующую команду для установки SQL Server:
sudo yum install -y mssql-server
Когда установка пакета завершится, выполните команду
mssql-conf setup
и следуйте указаниям, чтобы задать пароль системного администратора и выбрать выпуск. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.sudo /opt/mssql/bin/mssql-conf setup
Не забудьте указать надежный пароль для учетной записи системного администратора. Его минимальная длина должна составлять 8 символов, он должен содержать строчные и прописные буквы, десятичные цифры и (или) специальные символы.
По завершении настройки убедитесь в том, что служба работает.
systemctl status mssql-server
Чтобы разрешить удаленные подключения, откройте порт SQL Server в брандмауэре в RHEL. По умолчанию для SQL Server используется TCP-порт 1433. Если вы используете в качестве брандмауэра FirewallD, можно использовать следующие команды.
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
В результате сервер SQL Server будет запущен на компьютере RHEL и готов к использованию!
Следующие команды для установки SQL Server ссылаются на репозиторий RHEL 8.
Чтобы настроить SQL Server в RHEL, выполните следующие команды в терминале, чтобы установить mssql-server
пакет:
Скачайте файл конфигурации репозитория Red Hat 8 для SQL Server 2022 (16.x):
sudo curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/8/mssql-server-2022.repo
Совет
Если вы хотите установить другую версию SQL Server, ознакомьтесь с версиями этой статьи SQL Server 2017 (14.x) или SQL Server 2019 (15.x).
Выполните следующую команду для установки SQL Server:
sudo yum install -y mssql-server
Когда установка пакета завершится, выполните команду
mssql-conf setup
и следуйте указаниям, чтобы задать пароль системного администратора и выбрать выпуск. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.sudo /opt/mssql/bin/mssql-conf setup
Не забудьте указать надежный пароль для учетной записи системного администратора. Его минимальная длина должна составлять 8 символов, он должен содержать строчные и прописные буквы, десятичные цифры и (или) специальные символы.
По завершении настройки убедитесь в том, что служба работает.
systemctl status mssql-server
Чтобы разрешить удаленные подключения, откройте порт SQL Server в брандмауэре в RHEL. По умолчанию для SQL Server используется TCP-порт 1433. Если вы используете в качестве брандмауэра FirewallD, можно использовать следующие команды.
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent sudo firewall-cmd --reload
В результате сервер SQL Server будет запущен на компьютере RHEL и готов к использованию!
Отключение учетной sa
записи в качестве рекомендации
При подключении к экземпляру SQL Server с помощью sa
учетной записи в первый раз после установки важно выполнить эти действия, а затем немедленно отключить sa
имя входа в качестве рекомендации по безопасности.
Создайте новое имя входа и сделайте его членом роли сервера sysadmin .
В зависимости от того, есть ли у вас контейнер или неконтейнерное развертывание, включите проверка подлинности Windows и создайте новое имя входа под управлением Windows и добавьте его в роль сервера sysadmin.
В противном случае создайте имя входа с помощью проверки подлинности SQL Server и добавьте его в роль сервера sysadmin .
Подключитесь к экземпляру SQL Server с помощью созданного имени входа.
sa
Отключите учетную запись, как рекомендуется для обеспечения безопасности.
Установка программ командной строки SQL Server
Чтобы создать базу данных, необходимо подключиться с помощью средства, которое позволяет выполнять инструкции Transact-SQL в SQL Server. Следующие действия по установке средств командной строки SQL Server: служебная программа sqlcmd и служебная программа BCP.
Чтобы установить mssql-tools18 в Red Hat Enterprise Linux, выполните следующие действия.
Скачайте файл конфигурации репозитория Microsoft Red Hat.
Для Red Hat 9 используйте следующую команду:
curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
Для Red Hat 8 используйте следующую команду:
curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
Для Red Hat 7 используйте следующую команду:
curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
Если установлена предыдущая версия mssql-tools, удалите все старые пакеты unixODBC.
sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel
Выполните следующие команды, чтобы установить mssql-tools18 с пакетом разработчика unixODBC.
sudo yum install -y mssql-tools18 unixODBC-devel
Чтобы обновить до последней версии mssql-tools, выполните следующие команды:
sudo yum check-update sudo yum update mssql-tools18
Необязательно. Добавьте
/opt/mssql-tools18/bin/
PATH
в переменную среды в оболочке Bash.Чтобы сделать sqlcmd и bcp доступными из оболочки Bash для сеансов входа, измените файл
PATH
с помощью следующей~/.bash_profile
команды:echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile source ~/.bash_profile
Чтобы сделать sqlcmd и bcp доступными из оболочки Bash для интерактивных или неинтерактивных сеансов входа, измените
PATH
файл~/.bashrc
с помощью следующей команды:echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc source ~/.bashrc
Локальное подключение
В следующих шагах выполняется локальное подключение к новому экземпляру SQL Server с помощью sqlcmd.
Запустите sqlcmd с параметрами имени вашего SQL Server (
-S
), имени пользователя (-U
) и пароля (-P
). В этом руководстве вы подключаетесь локально, поэтому имя сервера —localhost
. Имя пользователя —sa
, а пароль тот, что вы выбрали для учетной записи SA во время установки.sqlcmd -S localhost -U sa -P '<YourPassword>'
Примечание.
Более новые версии sqlcmd по умолчанию защищены. Дополнительные сведения о шифровании подключений см. в программе sqlcmd для Windows и подключении с помощью sqlcmd для Linux и macOS. Если подключение не выполнено, можно добавить параметр в sqlcmd, чтобы указать
-No
, что шифрование является необязательным, а не обязательным.Вы можете не указывать пароль в командной строке. В этом случае вы получите запрос на его ввод.
Если позже вы решите удаленно подключиться, укажите имя компьютера или IP-адрес параметра
-S
и убедитесь, что порт 1433 открыт на брандмауэре.Если все сработает должным образом, вы перейдете к приглашению команды sqlcmd:
1>
.Если произойдет сбой подключения, сначала попробуйте узнать проблему по сообщению об ошибке. Затем ознакомьтесь с рекомендациями по устранению неполадок с подключением.
Создание и запрос данных
В следующих разделах приведено пошаговое руководство по созданию базы данных, добавлению данных и запуску простого запроса с использованием sqlcmd.
Дополнительные сведения о написании инструкций и запросов на языке Transact-SQL см. в учебнике Создание инструкций Transact-SQL.
Создание базы данных
Выполните следующие шаги, чтобы создать базу данных TestDB
.
В приглашении команды sqlcmd вставьте следующую команду Transact-SQL, чтобы создать тестовую базу данных:
CREATE DATABASE TestDB;
В следующей строке напишите запрос, который должен вернуть имена всех баз данных на сервере:
SELECT Name from sys.databases;
Две предыдущие команды были выполнены не сразу. Необходимо ввести
GO
на новой строке, чтобы выполнить предыдущие команды:GO
Вставка данных
Теперь создайте таблицу dbo.Inventory
и вставьте две новых строки.
В приглашении команды sqlcmd переключите контекст на новую базу данных
TestDB
:USE TestDB;
Создайте таблицу
dbo.Inventory
:CREATE TABLE dbo.Inventory ( id INT, name NVARCHAR(50), quantity INT, PRIMARY KEY (id) );
Вставьте данные в новую таблицу:
INSERT INTO dbo.Inventory VALUES (1, 'banana', 150); INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
Введите
GO
, чтобы выполнить предыдущие команды:GO
Выбор данных
Теперь выполните запрос, чтобы вернуть данные из таблицы dbo.Inventory
.
В приглашении команды sqlcmd введите запрос, который должен вернуть из таблицы
dbo.Inventory
строки, где количество превышает 152:SELECT * FROM dbo.Inventory WHERE quantity > 152;
Выполните команду:
GO
Выход из приглашения команды sqlcmd
Чтобы завершить сеанс sqlcmd, введите QUIT
:
QUIT
Оптимальные методы повышения производительности
После установки SQL Server на Linux ознакомьтесь с рекомендациями по настройке Linux и SQL Server для обеспечения оптимальной производительности в рабочих сценариях. Дополнительные сведения см. в статье Рекомендации по производительности и конфигурации для SQL Server на Linux.
Кроссплатформенные средства работы с данными
Помимо sqlcmd вы можете использовать следующие кроссплатформенные средства для управления SQL Server:
Средство | Description |
---|---|
Azure Data Studio | Кроссплатформенная служебная программа управления базами данных с графическим пользовательским интерфейсом. |
Visual Studio Code | Кроссплатформенный редактор кода с графическим пользовательским интерфейсом, позволяющий выполнять инструкции Transact-SQL в выражениях mssql. |
PowerShell Core | Кроссплатформенное средство для автоматизации и настройки на основе командлетов. |
mssql-cli | Кроссплатформенный интерфейс командной строки для выполнения команд Transact-SQL. |
Подключение из Windows
Инструменты SQL Server в Windows подключаются к экземплярам SQL Server в Linux так же, как они подключались бы к любому удаленному экземпляру SQL Server.
Если у вас компьютер с ОС Windows, который может подключаться к компьютеру с ОС Linux, попробуйте выполнить те же действия этого раздела в командной строке Windows, запустив sqlcmd. Необходимо использовать имя или IP-адрес целевого компьютера на Linux, а не localhost
, и открыть TCP-порт 1433 на компьютере с SQL Server. Если у вас возникли проблемы с подключением из Windows, см. рекомендации по устранению неполадок с подключением.
Другие инструменты, которые запускаются в Windows, но подключаются к SQL Server на Linux:
Другие сценарии развертывания
По другим сценариям установки доступны следующие ресурсы.
- Обновление. Узнайте, как обновить существующую установку SQL Server на Linux
- Удаление: удаление SQL Server на Linux
- Автоматическая установка: узнайте, как скриптировать установку без запросов
- Автономная установка. Узнайте, как вручную скачать пакеты для автономной установки
Ответы на часто задаваемые вопросы об SQL Server на Linux см. в этой статье.
Связанный контент
Примите участие в разработке документации по SQL
Знаете ли вы, что содержимое SQL можно изменить самостоятельно? Это не только улучшит нашу документацию, но и даст вам статус участника в создании этой страницы.
Дополнительные сведения см. в разделе Участие в работе над документацией по SQL Server.