Ms sql linux console

Install the SQL Server command-line tools sqlcmd and bcp on Linux

The following steps install the command-line tools, Microsoft ODBC drivers, and their dependencies. The mssql-tools package contains:

  • sqlcmd: Command-line query utility.
  • bcp: Bulk import-export utility.

Install the tools for your platform:

This article describes how to install the command-line tools. If you are looking for examples of how to use sqlcmd or bcp, see the Next steps at the end of this article.

sqlcmd and bcp are available in mssql-tools18 for x64 and arm64 architectures. For a modern alternative across Linux, macOS, and Windows, see go-sqlcmd utility.

Install tools on Linux

These instructions are for installing the Microsoft ODBC 18 packages. For previous versions, see Install the Microsoft ODBC driver for SQL Server (Linux).

Use the following steps to install the mssql-tools18 on 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 
sudo yum check-update sudo yum update mssql-tools18 
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile 

To make sqlcmd and bcp accessible from the bash shell for interactive/non-login sessions, modify the PATH in the ~/.bashrc file with the following command:

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

Use the following steps to install the mssql-tools18 on 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 
sudo zypper refresh sudo zypper update mssql-tools18 
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile 

To make sqlcmd or bcp accessible from the bash shell for interactive/non-login sessions, modify the PATH in the ~/.bashrc file with the following command:

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

Use the following steps to install the mssql-tools18 on Ubuntu.

  • Ubuntu 18.04 is supported starting with SQL Server 2019 (15.x) CU 3.
  • Ubuntu 20.04 is supported starting with 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 
sudo apt-get update sudo apt-get install mssql-tools18 
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bash_profile 

To make sqlcmd and bcp accessible from the bash shell for interactive/non-login sessions, modify the PATH in the ~/.bashrc file with the following command:

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

Install tools on macOS

Install Homebrew if you don’t have it already:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 

To install the tools for macOS El Capitan and later versions, use the following commands:

# 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 

Install tools on Docker

If you run SQL Server in a Docker container, the SQL Server command-line tools are already included in the SQL Server Linux container image. If you attach to a running container with an interactive bash shell, you can run the tools locally.

Читайте также:  Linux ubuntu смена пароля root

If you are creating a container with the SQL Server command-line tools, you should add ACCEPT_EULA=Y to the installation command to silently accept the EULA, and not interrupt image creation. An example final command as part of installation on an Ubuntu-based image is:

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

Offline installation

If your Linux machine doesn’t have access to the online repositories used in the previous sections, you can download the package files directly. These packages are located in the Microsoft repository, https://packages.microsoft.com.

If you successfully installed with the steps in the previous sections, you do not need to download or manually install the following package(s). This is only for the offline scenario.

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 

If this doesn’t work for your Debian package, you can inspect the required dependencies with the following commands:

dpkg -I msodbcsql18__amd64.deb | grep "Depends:" dpkg -I mssql-tools18__amd64.deb | grep "Depends:" 

Next steps

For an example of how to use sqlcmd to connect to SQL Server and create a database, see one of the following quickstarts:

For an example of how to use bcp to bulk import and export data, see Bulk copy data to SQL Server on Linux.

Contribute to SQL documentation

Did you know that you can edit SQL content yourself? If you do so, not only do you help improve our documentation, but you also get credited as a contributor to the page.

Читайте также:  Установка apt get linux

Feedback

Submit and view feedback for

Источник

SQL-Ex blog

Если вам нужно выполнять команды SQL к экземпляру SQL Server из командной строки Windows, то вам поможет утилита sqlcmd. Она позволяет выполнять команды SQL из консоли, и в этой статье я познакомлю вас с использованием этого инструмента.

Обычно утилита sqlcmd не так часто используется, если сравнивать с SQL Server Management Studio (SSMS). У меня есть коллеги, которые даже не знают о ее существовании. Причина в том, что SSMS весьма сильный инструмент, который является предпочтительным выбором для ежедневной работы, но есть случаи, когда sqlcmd оказывается наилучшим вариантом.

Особенно, когда вы работаете с SQL Server на Linux. Обычно больше компании держат серверы критических баз данных в демилитаризованных зонах (DMZ), поэтому маловероятно, чтобы вы могли подключиться к этим серверам с помощью SSMS с вашей рабочей станции. Другими словами, вам может потребоваться доступ к серверу с помощью клиента ssh и либо выполнять то, что вам нужно с помощью sqlcmd, либо устанавливать туннель и подключаться с помощью SSMS.

Что такое sqlcmd?

Sqlcmd — это утилита, которая устанавливается с клиентским инструментарием при установке SQL Server. Этот инструмент позволяет выполнять операторы Transact-SQL, хранимые процедуры и файлы скриптов из консоли. Он также позволяет использовать предопределенные системные переменные и переменные, определенные пользователем. Как вы можете догадаться, то, что sqlcmd позволяет выполнять хранимые процедуры, делает возможным выполнять задания SQL Server Agent.

Другим замечательным свойством sqlcmd является возможность подключения к любой версии SQL Server, чего вы не всегда можете сделать с помощью SSMS. Причина в том, что sqlcmd использует драйвер ODBC, а не .NET System.Data.SqlClient Namespace, которое является частью ADO.NET, используемой SSMS.

Подключение sqlcmd к экземпляру по умолчанию SQL Server

Если вы подключаетесь к локальному серверу, используя Windows Authentication (проверка подлинности Windows), и текущий пользователь имеет права доступа, то вы можете просто вызвать sqlcmd в командной строке, как показано ниже, и вы подключитесь к экземпляру по умолчанию.

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

1> означает номер строки, который будет возрастать всякий раз, когда вы нажимаете клавишу ENTER и сбрасываться в 1, когда вы введете разделитель пакетов GO, как показано ниже.

Читайте также:  Kyocera 1060 dn драйвер linux

На рисунке выше видно, что номер строк возрастает, пока не будет введена инструкция GO, после чего приглашение sqlcmd вернется к строке 1 после выполнения кода.

Подключение sqlcmd к экземпляру SQL Server, используя проверку подлинности Windows

Если ваша организация использует Active Directory, вы можете использовать Trusted Authentication (доверительная аутентификация) для подключения к удаленному или локальному серверу. Вам просто нужно указать сервер и имя экземпляра с помощью параметра -S и -E для использования Trusted Authentication. Тем, кто не знает, что такое Trusted Authentication, скажу, что это способ, с помощью которого Microsoft ссылается на использование аккаунта учетной записи Windows для аутентификации пользователя в разных приложениях.

Вот как можно подключиться к экземпляру. Подставьте имя своего сервера и имя экземпляра, который вам нужен.

sqlcmd -S [SERVERNAME\INSTANCE] -E

Подключение sqlcmd к экземпляру SQL Server, используя аутентификацию SQL Server

Если вам нужно подключиться с помощью аутентификации SQL Server, укажите также параметр -U с именем пользователя и параметр -P с паролем пользователя, как показано ниже. Опять таки, подставьте свои значения этих параметров.

sqlcmd -S [SERVERNAME\INSTANCE] –U [username] –P [password]

На следующем скриншоте можно увидеть, что я подключился к удаленному экземпляру SQL Server, работающему на Linux с помощью аутентификации SQL Server.

Подключение sqlcmd к экземпляру SQL Server с помощью выделенного подключения администратора (DAC)

Бывают обстоятельства, когда вы не можете подключиться к SQL Server, например, из-за нехватки ресурсов. SQL Server имеет планировщик, предназначенный для обеспечения доступа только одному подключению во всех случаях. Это и есть выделенное подключение администратора (DAC). Вы не можете подключиться к DAC, как вы делаете это обычно с помощью SQL Server Management Studio, поскольку SSMS использует два подключения — одно для браузера объектов, а другое для окна запросов. В подобных случаях sqlcmd является одним из лучших вариантов для подключения к экземпляру SQL Server и выполнения необходимых действий, чтобы вернуть экземпляр в нормальное состояние.

Для подключения к экземпляру SQL Server с помощью DAC в sqlcmd, вам потребуется добавить параметр -A.

Если вы подключаетесь с логином Windows, то вызов sqlcmd будет таким:

sqlcmd -S [SERVERNAME\INSTANCE] –E -A

Если вы хотите использовать логин SQL Server, то вы должны вызывать sqlcmd так:

sqlcmd -S [SERVERNAME\INSTANCE] –U [username] –P [password] -A

Обратные ссылки

Комментарии

Показывать комментарии Как список | Древовидной структурой

Автор не разрешил комментировать эту запись

Источник

Оцените статью
Adblock
detector