Содержание статьи:
Рассмотрим как выполнить настройку подключения к MS SQL Server через ODBC в Debian 11 Bullseye.
Установка Microsoft ODBC Driver for SQL Server
# Добавляем публичный GnuPG-ключ репозитория Microsoft. Добавляем репозиторий Microsoft в список репозиториев и обновляем репозиторий:
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - curl https://packages.microsoft.com/config/debian/11/prod.list > /etc/apt/sources.list.d/mssql-release.list apt-get update
# Устанавливаем пакеты ODBC, драйвер ODBC Driver for SQL Server и пакет для возможности авторизации на основе проверки подлинности:
apt-get install -y unixodbc-dev libgssapi-krb5-2 ACCEPT_EULA=Y apt-get install -y msodbcsql18 ACCEPT_EULA=Y apt-get install -y mssql-tools18 echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc source ~/.bashrc
Посмотреть информацию о настройках ODBC и список подключенных драйверов, можно командами:
odbcinst -j odbcinst -q -d
Настройка ODBC: создание DSN для подключения к MSSQL серверу
# В файле /etc/odbc.ini описываем параметры подключения к MSSQL серверу, где Server указываем IP-адрес своего сервера.
[MSSQLTest] Driver = ODBC Driver 18 for SQL Server Server = tcp:10.10.10.10,1433 Encrypt = yes TrustServerCertificate=yes
# Проверка подключениея через созданный DSN (isql -v имя_DSN логин пароль):
isql -v MSSQLTest jakonda 1qa2ws-3ed +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | echo [string] | | quit | | | +---------------------------------------+ SQL>
Для подключения через программу sqlcmd, входящую в пакет mssql-tools18, можно командой:
sqlcmd -S10.10.10.10 -U login_name -C
- -S — имя сервера или IP-адрес
- -U — имя встроенной учетной записи MSSQL сервера
- -С — разрешение доверять сертификату сервера
В случае если необходимо выполнять подключение по доменной учетной записи, то Microsoft ODBC Driver for SQL Server поддерживает соединения, использующие встроенную проверку подлинности Kerberos. Для этого необходимо чтобы машина была в домене и была возможность авторизовываться по доменным учетным записям в системе (как ввести Debian в Windows домен).
Чтобы включить встроенную проверку подлинности Kerberos, необходимо указать в файле /etc/odbc.ini параметр — Trusted_Connection=yes
Теперь можно подключится к mssql, под текущим залогиненным доменным пользователем:
sqlcmd -E -SMYMSSQL -C
ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА