Установка программ командной строки SQL Server sqlcmd и bcp в Linux
Ниже приведены инструкции по установке программ командной строки, драйверов ODBC Майкрософт и их зависимостей. Пакет mssql-tools содержит следующие компоненты:
- sqlcmd — программа командной строки для выполнения запросов;
- bcp — служебная программа для массового импорта и экспорта.
Установите программы для своей платформы:
В этой статье описывается установка программ командной строки. Если вы ищете примеры использования sqlcmd или bcp, ознакомьтесь с разделом Дальнейшие действия в конце этой статьи.
Sqlcmd и bcp доступны в mssql-tools18 для x64 архитектур и arm64 . Современную альтернативу в Linux, macOS и Windows см. в статье служебная программа go-sqlcmd.
Установка средств в Linux
Эти инструкции предназначены для установки пакетов Microsoft ODBC 18. Предыдущие версии см. в статье Установка драйвера Microsoft ODBC для SQL Server (Linux).
Выполните следующие действия, чтобы установить mssql-tools18 в Red Hat Enterprise Linux.
- Перейдите в режим суперпользователя.
curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssql-release.repo
curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
sudo yum remove mssql-tools unixODBC-utf16 unixODBC-utf16-devel
sudo yum install -y mssql-tools18 unixodbc-dev
Примечание Чтобы обновить mssql-tools до последней версии, выполните следующие команды:
sudo yum check-update sudo yum update mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile
Чтобы сделать sqlcmd и bcp доступными из оболочки Bash для интерактивных сеансов или сеансов без входа, измените PATH в ~/.bashrc файле с помощью следующей команды:
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc source ~/.bashrc
Выполните следующие действия, чтобы установить mssql-tools18 на SUSE Linux Enterprise Server.
- Перейдите в режим суперпользователя.
curl -O https://packages.microsoft.com/keys/microsoft.asc rpm --import microsoft.asc
zypper ar https://packages.microsoft.com/config/sles/15/prod.repo
zypper ar https://packages.microsoft.com/config/sles/12/prod.repo
sudo zypper install -y mssql-tools18 unixodbc-dev
Примечание Чтобы обновить mssql-tools18 до последней версии, выполните следующие команды:
sudo zypper refresh sudo zypper update mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile
Чтобы сделать sqlcmd или bcp доступными из оболочки Bash для интерактивных сеансов или сеансов без входа, измените PATH в ~/.bashrc файле с помощью следующей команды:
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc source ~/.bashrc
Выполните следующие действия, чтобы установить mssql-tools18 в Ubuntu.
- Ubuntu 18.04 поддерживается начиная с SQL Server 2019 (15.x) CU 3.
- Ubuntu 20.04 поддерживается начиная с SQL Server 2019 (15.x) CU 10.
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
sudo apt-get update sudo apt-get install mssql-tools18 unixodbc-dev
Примечание Чтобы обновить mssql-tools до последней версии, выполните следующие команды:
sudo apt-get update sudo apt-get install mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile
Чтобы сделать sqlcmd и bcp доступными из оболочки Bash для интерактивных сеансов или сеансов без входа, измените PATH в ~/.bashrc файле с помощью следующей команды:
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc source ~/.bashrc
Установка средств в macOS
Установите программу Homebrew, если ее еще нет:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Чтобы установить средства для macOS El Capitan и более поздних версий, используйте следующие команды:
# brew untap microsoft/mssql-preview if you installed the preview version brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release brew update brew install mssql-tools18
Установка средств в Docker
Если SQL Server выполняется в контейнере Docker, программы командной строки SQL Server уже включены в образ контейнера SQL Server в Linux. Если подключиться к запущенному контейнеру с помощью интерактивной оболочки bash, можно запускать программы локально.
Если вы создаете контейнер с помощью SQL Server программ командной строки, следует добавить ACCEPT_EULA=Y в команду установки, чтобы автоматически принять лицензионное соглашение и не прерывать создание образа. Ниже приведен пример окончательной команды при установке образа на основе Ubuntu.
sudo ACCEPT_EULA=Y apt-get install mssql-tools18 unixodbc-dev
Автономная установка
Если компьютер Linux не имеет доступа к интернет-репозиториям, используемым в предыдущих разделах, вы можете скачать файлы пакета напрямую. Эти пакеты находятся в репозитории Майкрософт по адресу https://packages.microsoft.com.
Если установка выполнена с помощью шагов, описанных в предыдущих разделах, вам не нужно скачивать или устанавливать следующие пакеты вручную. Это нужно только для автономных сценариев.
sudo yum localinstall msodbcsql18-.rpm sudo yum localinstall mssql-tools18-.rpm
rpm -qpR msodbcsql18-.rpm rpm -qpR mssql-tools18-.rpm
sudo zypper install msodbcsql18-.rpm sudo zypper install mssql-tools18-.rpm
rpm -qpR msodbcsql18-.rpm rpm -qpR mssql-tools18-.rpm
sudo dpkg -i msodbcsql18_.deb sudo dpkg -i mssql-tools18_.deb
Если это не работает для пакета Debian, вы можете проверить необходимые зависимости с помощью следующих команд:
dpkg -I msodbcsql18__amd64.deb | grep "Depends:" dpkg -I mssql-tools18__amd64.deb | grep "Depends:"
Дальнейшие действия
Пример использования sqlcmd для подключения к SQL Server и создания базы данных см. в одном из следующих кратких руководств:
Пример использования bcp для массового импорта и экспорта данных см. в статье Массовое копирование данных в SQL Server на Linux.
Примите участие в разработке документации по SQL
Знаете ли вы, что содержимое SQL можно изменить самостоятельно? Это не только улучшит нашу документацию, но и даст вам статус участника в создании этой страницы.