Краткое руководство. Установка 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. Затем вы сможете подключиться с помощью 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.0–8.6 с не менее чем 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), необходимо удалить старый репозиторий, прежде чем выполнять эти действия. Дополнительные сведения см. в статье Настройка репозиториев Linux для SQL Server.

Сведения о других требованиях к системе см. в статье Требования к системе для 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.

  1. Скачайте файл конфигурации репозитория 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).

  2. Выполните следующую команду для установки SQL Server:

    sudo yum install -y mssql-server
    
  3. Когда установка пакета завершится, выполните команду mssql-conf setup и следуйте указаниям, чтобы задать пароль системного администратора и выбрать выпуск. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.

    sudo /opt/mssql/bin/mssql-conf setup
    

    Не забудьте указать надежный пароль для учетной записи системного администратора. Его минимальная длина должна составлять 8 символов, он должен содержать строчные и прописные буквы, десятичные цифры и (или) специальные символы.

  4. По завершении настройки убедитесь в том, что служба работает.

    systemctl status mssql-server
    
  5. Чтобы разрешить удаленные подключения, откройте порт 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.

  1. Скачайте файл конфигурации репозитория 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).

  2. Выполните следующую команду для установки SQL Server:

    sudo yum install -y mssql-server
    
  3. Когда установка пакета завершится, выполните команду mssql-conf setup и следуйте указаниям, чтобы задать пароль системного администратора и выбрать выпуск. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.

    sudo /opt/mssql/bin/mssql-conf setup
    

    Не забудьте указать надежный пароль для учетной записи системного администратора. Его минимальная длина должна составлять 8 символов, он должен содержать строчные и прописные буквы, десятичные цифры и (или) специальные символы.

  4. По завершении настройки убедитесь в том, что служба работает.

    systemctl status mssql-server
    
  5. Чтобы разрешить удаленные подключения, откройте порт 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.

  1. Скачайте файл конфигурации репозитория SQL Server 2022 (16.x) Red Hat:

    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).

  2. Выполните следующую команду для установки SQL Server:

    sudo yum install -y mssql-server
    
  3. Когда установка пакета завершится, выполните команду mssql-conf setup и следуйте указаниям, чтобы задать пароль системного администратора и выбрать выпуск. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.

    sudo /opt/mssql/bin/mssql-conf setup
    

    Не забудьте указать надежный пароль для учетной записи системного администратора. Его минимальная длина должна составлять 8 символов, он должен содержать строчные и прописные буквы, десятичные цифры и (или) специальные символы.

  4. По завершении настройки убедитесь в том, что служба работает.

    systemctl status mssql-server
    
  5. Чтобы разрешить удаленные подключения, откройте порт 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

Чтобы создать базу данных, необходимо подключиться с помощью средства, которое позволяет выполнять инструкции Transact-SQL в SQL Server. Ниже приведены инструкции по установке программ командной строки SQL Server: sqlcmd и bcp.

  1. Скачайте файл конфигурации репозитория Red Hat.

    sudo curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/8/prod.repo
    
  2. Если установлена предыдущая версия mssql-tools, удалите все старые пакеты unixODBC.

    sudo yum remove unixODBC-utf16 unixODBC-utf16-devel
    
  3. Чтобы установить mssql-tools с помощью пакета разработчика unixODBC, выполните приведенные ниже команды. Дополнительные сведения см. в разделе Установка драйвера Microsoft ODBC для SQL Server (Linux).

    sudo yum install -y mssql-tools unixODBC-devel
    
  4. Для удобства добавьте /opt/mssql-tools/bin/ в переменную среды PATH, чтобы sqlcmd или bcp можно было открыть из оболочки bash.

    Для интерактивных сеансов измените переменную среды PATH в файле ~/.bash_profile с помощью следующей команды:

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
    

    Для неинтерактивных сеансов измените переменную среды PATH в файле ~/.bashrc с помощью следующей команды:

    echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
    source ~/.bashrc
    

Локальное подключение

В следующих шагах выполняется локальное подключение к новому экземпляру SQL Server с помощью sqlcmd.

  1. Запустите sqlcmd с параметрами имени вашего SQL Server (-S), имени пользователя (-U) и пароля (-P). В этом руководстве вы подключаетесь локально, поэтому имя сервера — localhost. Имя пользователя — sa, а пароль тот, что вы выбрали для учетной записи SA во время установки.

    sqlcmd -S localhost -U sa -P '<YourPassword>'
    

    Вы можете не указывать пароль в командной строке. В этом случае вы получите запрос на его ввод.

    Если вы в будущем захотите подключиться удаленно, укажите для параметра -S имя компьютера или IP-адрес и откройте в брандмауэре порт 1433.

  2. Если все сработает должным образом, вы перейдете к приглашению команды sqlcmd: 1>.

  3. Если произойдет сбой подключения, сначала попробуйте узнать проблему по сообщению об ошибке. Затем ознакомьтесь с рекомендациями по устранению неполадок с подключением.

Создание и запрос данных

В следующих разделах приведено пошаговое руководство по созданию базы данных, добавлению данных и запуску простого запроса с использованием sqlcmd.

Дополнительные сведения о написании инструкций и запросов на языке Transact-SQL см. в учебнике Создание инструкций Transact-SQL.

Создание базы данных

Выполните следующие шаги, чтобы создать базу данных TestDB.

  1. В приглашении команды sqlcmd вставьте следующую команду Transact-SQL, чтобы создать тестовую базу данных:

    CREATE DATABASE TestDB;
    
  2. В следующей строке напишите запрос, который должен вернуть имена всех баз данных на сервере:

    SELECT Name from sys.databases;
    
  3. Две предыдущие команды были выполнены не сразу. Необходимо ввести GO на новой строке, чтобы выполнить предыдущие команды:

    GO
    

Добавление данных

Теперь создайте таблицу dbo.Inventory и вставьте две новых строки.

  1. В приглашении команды sqlcmd переключите контекст на новую базу данных TestDB:

    USE TestDB;
    
  2. Создайте таблицу dbo.Inventory:

    CREATE TABLE dbo.Inventory (
       id INT, name NVARCHAR(50),
       quantity INT
    );
    
  3. Вставьте данные в новую таблицу:

    INSERT INTO dbo.Inventory VALUES (1, 'banana', 150);
    INSERT INTO dbo.Inventory VALUES (2, 'orange', 154);
    
  4. Введите GO, чтобы выполнить предыдущие команды:

    GO
    

Выбор данных

Теперь выполните запрос, чтобы вернуть данные из таблицы dbo.Inventory.

  1. В приглашении команды sqlcmd введите запрос, который должен вернуть из таблицы dbo.Inventory строки, где количество превышает 152:

    SELECT * FROM dbo.Inventory
    WHERE quantity > 152;
    
  2. Выполните команду:

    GO
    

Выход из приглашения команды sqlcmd

Чтобы завершить сеанс sqlcmd, введите QUIT:

QUIT

Оптимальные методы повышения производительности

После установки SQL Server на Linux ознакомьтесь с рекомендациями по настройке Linux и SQL Server для обеспечения оптимальной производительности в рабочих сценариях. Дополнительные сведения см. в статье Рекомендации по производительности и конфигурации для SQL Server на Linux.

Кроссплатформенные средства работы с данными

Помимо sqlcmd вы можете использовать следующие кроссплатформенные средства для управления SQL Server:

Средство Описание
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 см. в этой статье.

Дальнейшие действия