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

Применимо к:SQL Server — 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, выполните следующие действия.

  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
    

    Чтобы сделать 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 в команду установки, чтобы автоматически принять EULA, а не прерывать создание образа. Ниже приведен пример окончательной команды при установке образа на основе Ubuntu.

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

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

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

Совет

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

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

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

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

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

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

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

    rpm -qpR msodbcsql18-<version>.rpm
    rpm -qpR mssql-tools18-<version>.rpm
    

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

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

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

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

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