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

Применимо к:SQL Server — Linux

Ниже приведены инструкции по установке программ командной строки, драйверов ODBC Майкрософт и их зависимостей. Пакет mssql-tools содержит следующие компоненты:

  • sqlcmd — программа командной строки для выполнения запросов;
  • bcp — служебная программа для массового импорта и экспорта.

Установите программы для своей платформы:

В этой статье описывается установка программ командной строки. Если вы ищете примеры использования sqlcmd или bcp, см. ссылки в конце этой статьи.

Предупреждение

sqlcmd и bcp доступны в mssql-tools для архитектуры x64. Альтернативой для сред arm64 и x64 является предварительный просмотр для Linux, macOS и Windows, go-sqlcmd на сайте GitHub.

Установка средств в Linux

Чтобы установить mssql-tools в Red Hat Enterprise Linux, выполните указанные ниже действия.

  1. Перейдите в режим суперпользователя.

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

    curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/msprod.repo
    
  3. Выйдите из режима суперпользователя.

    exit
    
  4. Если установлена предыдущая версия mssql-tools, удалите все старые пакеты unixODBC.

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

    sudo yum install mssql-tools unixODBC-devel
    

    Примечание

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

    sudo yum check-update
    sudo yum update mssql-tools
    
  6. Необязательно. Добавьте /opt/mssql-tools/bin/ в PATH переменную среды в оболочке Bash.

    Чтобы сделать sqlcmd/bcp доступным из оболочки Bash для сеансов входа, измените ~/.bash_profile файл PATH в файле с помощью следующей команды:

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

    Чтобы сделать sqlcmd/bcp доступным из оболочки Bash для интерактивных сеансов или сеансов без входа, измените PATH в ~/.bashrc файле с помощью следующей команды:

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

Установка средств в macOS

В macOS доступна предварительная версия программ sqlcmd и bcp. Дополнительные сведения см. в объявлении о выпуске.

Установите программу Homebrew, если ее еще нет:

  • /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Чтобы установить средства для Mac El Capitan и Sierra, используйте следующие команды:

# 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-tools
#for silent install:
#HOMEBREW_NO_ENV_FILTERING=1 ACCEPT_EULA=y brew install mssql-tools

Установка средств в Docker

Если SQL Server выполняется в контейнере Docker, программы командной строки SQL Server уже включены в образ контейнера SQL Server в Linux. Если подключиться к запущенному контейнеру с помощью интерактивной оболочки bash, можно запускать программы локально.

Если вы создаете контейнер с помощью средств командной строки SQL Server, рекомендуется добавить ACCEPT_EULA=Y в команду установки, чтобы автоматически принять лицензионное соглашение и не прерывать создание образа. Ниже приведен пример окончательной команды при установке образа на основе Ubuntu.

sudo ACCEPT_EULA=Y apt-get install mssql-tools unixodbc-dev

Автономная установка

Если компьютер Linux не имеет доступа к сетевым репозиториям, используемым в предыдущих разделах, вы можете скачать файлы пакета напрямую. Эти пакеты находятся в репозитории Майкрософт по адресу https://packages.microsoft.com.

Совет

Если вы успешно установили с помощью действий, описанных в предыдущих разделах, вам не нужно скачивать или устанавливать следующие пакеты вручную. Это нужно только для автономных сценариев.

  1. Сначала найдите и скопируйте пакет mssql-tools для дистрибутива Linux. Для Red Hat 8.0 это расположение находится по адресу https://packages.microsoft.com/rhel/8/prod.

  2. Кроме того, найдите и скопируйте пакет msodbcsql, который является зависимостью. Пакет msodbcsql также зависит от unixODBC-devel. Для Red Hat пакет msodbcsql находится по адресу https://packages.microsoft.com/rhel/8/prod.

  3. Переместите скачанные пакеты на компьютер Linux. Если для скачивания пакетов вы использовали другой компьютер, переместить пакеты на компьютер Linux можно с помощью команды scp.

  4. Установите пакеты. Установите пакеты mssql-tools и msodbc. Если возникают ошибки зависимостей, игнорируйте их до следующего шага. Замените <version> правильной версией:

    sudo yum localinstall msodbcsql-<version>.rpm
    sudo yum localinstall mssql-tools-<version>.rpm
    
  5. Разрешите отсутствующие зависимости. На этом этапе зависимости могут отсутствовать. Если это не так, пропустите этот шаг. В некоторых случаях необходимо найти и установить зависимости вручную.

    Требуемые зависимости можно проверить с помощью следующих команд. Замените <version> правильной версией:

    rpm -qpR msodbcsql-<version>.rpm
    rpm -qpR mssql-tools-<version>.rpm
    

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

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

Пример использования bcp для массового импорта и экспорта данных см. в статье Массовое копирование данных в SQL Server на Linux.

Примите участие в разработке документации по SQL

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

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