Поделиться через


Установка средств командной строки sqlcmd и bcp SQL Server в 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 10 (в предварительной версии) используйте следующую команду, чтобы скачать файл конфигурации репозитория Microsoft Red Hat из репозитория RHEL 9. Те же версии средств также работают для RHEL 10.

      curl https://packages.microsoft.com/config/rhel/9/prod.repo | sudo tee /etc/yum.repos.d/mssql-release.repo
      
    • Для 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
    

Установка средств в 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
    

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

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

Дополнительные сведения см. в разделе Редактирование документации Microsoft Learn.