Краткое руководство. Установка 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 пакет:

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

  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 и готов к использованию!

Отключение учетной sa записи в качестве рекомендации

При подключении к экземпляру SQL Server с помощью sa учетной записи в первый раз после установки важно выполнить эти действия, а затем немедленно отключить sa имя входа в качестве рекомендации по безопасности.

  1. Создайте новое имя входа и сделайте его членом роли сервера sysadmin .

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

  3. sa Отключите учетную запись, как рекомендуется для обеспечения безопасности.

Установка программ командной строки SQL Server

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

Чтобы установить mssql-tools18 в Red Hat Enterprise Linux, выполните следующие действия.

  1. Скачайте файл конфигурации репозитория 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
      
  2. Если установлена предыдущая версия mssql-tools, удалите все старые пакеты unixODBC.

    sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel
    
  3. Выполните следующие команды, чтобы установить mssql-tools18 с пакетом разработчика unixODBC.

    sudo yum install -y mssql-tools18 unixODBC-devel
    

    Чтобы обновить до последней версии mssql-tools, выполните следующие команды:

    sudo yum check-update
    sudo yum update mssql-tools18
    
  4. Необязательно. Добавьте /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.

  1. Запустите 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 открыт на брандмауэре.

  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,
        PRIMARY KEY (id)
    );
    
  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:

Средство 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

Знаете ли вы, что содержимое SQL можно изменить самостоятельно? Это не только улучшит нашу документацию, но и даст вам статус участника в создании этой страницы.

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