Краткое руководство. Установка SQL Server и создание базы данных в Ubuntu
Область применения: SQL Server — Linux
В этом кратком руководстве вы установите SQL Server 2017 (14.x) в Ubuntu 18.04. Затем вы сможете подключиться с помощью sqlcmd, чтобы создать первую базу данных и выполнять запросы.
Дополнительные сведения о поддерживаемых платформах см. в заметках о выпуске SQL Server 2017 для Linux.
В этом кратком руководстве вы установите SQL Server 2019 (15.x) в Ubuntu 20.04. Затем вы сможете подключиться с помощью sqlcmd, чтобы создать первую базу данных и выполнять запросы.
Дополнительные сведения о поддерживаемых платформах см. в заметках о выпуске SQL Server 2019 для Linux.
В этом кратком руководстве описано, как установить SQL Server 2022 (16.x) в Ubuntu 20.04 или 22.04. Затем вы сможете подключиться с помощью sqlcmd, чтобы создать первую базу данных и выполнять запросы.
Дополнительные сведения о поддерживаемых платформах см . в заметках о выпуске SQL Server 2022 в Linux.
Совет
Для выполнения этого руководства требуется ввод данных пользователем и подключение к Интернету. Если вы заинтересованы в процедурах автоматической установки или автономной установки, ознакомьтесь с руководством по установке SQL Server на Linux.
Если вы решили установить предварительно установленную виртуальную машину SQL Server в Ubuntu, готовой к выполнению рабочей нагрузки на основе рабочей среды, следуйте рекомендациям по созданию виртуальной машины SQL Server.
Образы Azure Marketplace
Вы можете создать виртуальную машину на основе одного из следующих двух образов Azure Marketplace:
При использовании этих образов вы избегаете шага установки и можете напрямую настроить экземпляр, предоставив номер SKU и sa
пароль, необходимый для начала работы с SQL Server. Виртуальные машины SQL Server Azure, развернутые в Ubuntu Pro с помощью приведенных выше образов Marketplace, полностью поддерживаются корпорацией Майкрософт и канонической версией.
Вы можете настроить SQL Server на Linux с помощью mssql-conf, выполнив следующую команду:
sudo /opt/mssql/bin/mssql-conf setup
Образ из Azure Marketplace
Виртуальную машину можно создать на основе следующего образа Azure Marketplace: Ubuntu 20.04.
При использовании этого образа вы избегаете шага установки и можете напрямую настроить экземпляр, указав номер SKU и sa
пароль, необходимый для начала работы с SQL Server. Виртуальные машины SQL Server Azure, развернутые в Ubuntu Pro с помощью приведенных выше образов Marketplace, полностью поддерживаются корпорацией Майкрософт и канонической версией.
Вы можете настроить SQL Server на Linux с помощью mssql-conf, выполнив следующую команду:
sudo /opt/mssql/bin/mssql-conf setup
Внимание
Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.
Необходимые компоненты
Требуется компьютер, на котором установлена ОС Ubuntu 18.04 и имеется не менее 2 ГБ памяти.
Чтобы установить Ubuntu 18.04 на собственный компьютер, перейдите на страницу https://releases.ubuntu.com/18.04/. Можно также создать виртуальные машины Ubuntu в Azure. См . руководство. Создание виртуальных машин Linux и управление ими с помощью Azure CLI.
Требуется компьютер, на котором установлена ОС Ubuntu 20.04 и имеется не менее 2 ГБ памяти.
Чтобы установить Ubuntu 20.04 на свой компьютер, перейдите на страницу https://releases.ubuntu.com/20.04/. Можно также создать виртуальные машины Ubuntu в Azure. См . руководство. Создание виртуальных машин Linux и управление ими с помощью Azure CLI.
Требуется компьютер, на котором установлена ОС Ubuntu 20.04 и имеется не менее 2 ГБ памяти.
Чтобы установить Ubuntu 20.04 на свой компьютер, перейдите на страницу https://releases.ubuntu.com/20.04/. Можно также создать виртуальные машины Ubuntu в Azure. См . руководство. Создание виртуальных машин Linux и управление ими с помощью Azure CLI.
Если вы ранее установили предварительную версию технологии сообщества (CTP) или кандидат выпуска (RC) SQL Server, перед выполнением этих действий необходимо сначала удалить старый репозиторий. Дополнительные сведения см. в статье Настройка репозиториев для установки и обновления SQL Server на Linux.
Подсистема Windows для Linux не поддерживается в качестве целевого объекта установки для SQL Server.
Сведения о других требованиях к системе см. в статье Требования к системе для SQL Server на Linux.
Установка SQL Server
Чтобы настроить SQL Server в Ubuntu, выполните следующие команды в терминале для установки пакета mssql-server:
Импортируйте открытые ключи GPG из репозитория:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
Зарегистрируйте репозиторий Ubuntu для SQL Server:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/18.04/mssql-server-2017.list)"
Совет
Если вы хотите установить другую версию SQL Server, ознакомьтесь с версиями этой статьи для SQL Server 2019 (15.x) или SQL Server 2022 (16.x).
Выполните следующие команды для установки SQL Server:
sudo apt-get update sudo apt-get install -y mssql-server
После завершения установки пакета запустите
mssql-conf setup
и следуйте инструкциям, чтобы задатьsa
пароль и выбрать выпуск. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.sudo /opt/mssql/bin/mssql-conf setup
Внимание
Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.
По завершении настройки убедитесь в том, что служба работает.
systemctl status mssql-server --no-pager
Если вы планируете подключаться удаленно, может потребоваться открыть в брандмауэре TCP-порт SQL Server (по умолчанию 1433).
Импортируйте открытые ключи GPG из репозитория:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
Зарегистрируйте репозиторий Ubuntu для SQL Server:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2019.list)"
Совет
Если вы хотите установить другую версию SQL Server, ознакомьтесь с версиями этой статьи для SQL Server 2017 (14.x) или SQL Server 2022 (16.x).
Выполните следующие команды для установки SQL Server:
sudo apt-get update sudo apt-get install -y mssql-server
После завершения установки пакета запустите
mssql-conf setup
и следуйте инструкциям, чтобы задатьsa
пароль и выбрать выпуск. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.sudo /opt/mssql/bin/mssql-conf setup
Внимание
Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.
По завершении настройки убедитесь в том, что служба работает.
systemctl status mssql-server --no-pager
Если вы планируете подключаться удаленно, может потребоваться открыть в брандмауэре TCP-порт SQL Server (по умолчанию 1433).
Импортируйте открытые ключи GPG из репозитория:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
Зарегистрируйте репозиторий Ubuntu для SQL Server:
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/mssql-server-2022.list)"
Совет
Если вы хотите установить другую версию SQL Server, ознакомьтесь с версиями этой статьи SQL Server 2017 (14.x) или SQL Server 2019 (15.x).
Выполните следующие команды для установки SQL Server:
sudo apt-get update sudo apt-get install -y mssql-server
После завершения установки пакета запустите
mssql-conf setup
и следуйте инструкциям, чтобы задатьsa
пароль и выбрать выпуск. Напоминаем, что следующие выпуски SQL Server имеют бесплатные лицензии: Evaluation, Developer и Express.sudo /opt/mssql/bin/mssql-conf setup
Внимание
Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.
По завершении настройки убедитесь в том, что служба работает.
systemctl status mssql-server --no-pager
Если вы планируете подключаться удаленно, может потребоваться открыть в брандмауэре TCP-порт SQL Server (по умолчанию 1433).
На этом этапе SQL Server работает на компьютере Ubuntu и готов к использованию.
Отключение учетной записи 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 в Ubuntu, выполните следующие действия.
Примечание.
- Ubuntu 18.04 поддерживается начиная с SQL Server 2019 (15.x) CU 3.
- Ubuntu 20.04 поддерживается начиная с SQL Server 2019 (15.x) CU 10.
Импортируйте открытые ключи GPG из репозитория.
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
Зарегистрируйте репозиторий Ubuntu для Майкрософт.
Для Ubuntu 22.04 используйте следующую команду:
curl https://packages.microsoft.com/config/ubuntu/22.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
Для Ubuntu 20.04 используйте следующую команду:
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
Для Ubuntu 18.04 используйте следующую команду:
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
Для Ubuntu 16.04 используйте следующую команду:
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
Обновите список источников и выполните команду установки с помощью пакета разработчика unixODBC.
sudo apt-get update sudo apt-get install mssql-tools18 unixodbc-dev
Чтобы обновить до последней версии mssql-tools, выполните следующие команды:
sudo apt-get update sudo apt-get install 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.
Внимание
Пароль должен соответствовать политике паролей по умолчанию SQL Server. По умолчанию пароль должен быть не короче восьми символов и содержать три вида символов из следующих: прописные буквы, строчные буквы, десятичные цифры, специальные символы. Пароли могут иметь длину до 128 символов. Рекомендуется использовать максимально длинные и сложные пароли.
Запустите sqlcmd с параметрами имени вашего SQL Server (
-S
), имени пользователя (-U
) и пароля (-P
). В этом руководстве вы подключаетесь локально, поэтому имя сервера —localhost
это. Имя пользователя иsa
пароль — это пароль, который вы указали для учетнойsa
записи во время установки.sqlcmd -S localhost -U sa -P '<password>'
Примечание.
Более новые версии 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.