Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к: SQL Server 2025 (17.x)
В этой статье описывается, как использовать службы PolyBase с SQL Server в Linux.
Начиная с SQL Server 2025 (17.x), развертывания в Linux могут использовать источники данных ODBC для PolyBase. Это позволяет принести собственный драйвер (BYOD). В Linux эта функция работает аналогично тому, как она работает в Windows. Дополнительные сведения см. в статье Настройка PolyBase для доступа к внешним данным с помощью универсальных типов ODBC.
Осторожность
Модель привлечения собственного водителя (BYOD) включает риски, которые являются ответственностью как клиента, так и поставщика водителей. Корпорация Майкрософт не несет ответственности за какие-либо проблемы, вызванные сторонним драйвером.
Примеры
Установка в Linux
В следующем примере показан драйвер ODBC SQL в Ubuntu.
Добавьте репозиторий Майкрософт:
Импорт ключа Microsoft GPG
curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpgДобавление репозитория Майкрософт в систему
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
Обновление списка пакетов
sudo apt updateУстановка драйвера ODBC
Установите последнюю версию драйвера ODBC. В следующем примере устанавливается версия 18.
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
Установка создает следующие файлы:
| Файл | Описание |
|---|---|
/etc/odbcinst.ini |
Имя драйвера, описание и сведения о версии. |
/etc/odbc.ini |
DNS-имя, шифрование и другие спецификации. |
Необходимо создать odbc.ini файл на основе свойств и спецификаций драйвера. Несколько драйверов используют одинаковые odbc.ini файлы и odbcinst.ini файлы с несколькими записями.
Примеры файлов
Пример odbc.ini
В этом примере driver_name должно совпадать с именем из odbcinst.ini.
[MyDSN]
Driver = driver_name
Server = your_server_name
Database = your_database_name
Trusted_Connection = yes
Пример Sybase odbcinst.ini
[ODBC Drivers]
Devart ODBC Driver for ASE=installed
[Devart ODBC Driver for ASE]
Driver=/usr/share/devart/odbcase/libdevartodbcase.3.5.0.so
Пример Sybase odbc.ini
[ODBC Data Sources]
DEVART_ASE=Devart ODBC Driver for ASE
[DEVART_ASE]
Driver=Devart ODBC Driver for ASE
Data Source=database_server_ip
Port=5000
Database=master
QuotedIdentifier=1
Полный список поддерживаемых параметров см. в документации поставщика драйвера.
Примеры запросов
После завершения установки драйвера можно использовать учетные данные с ограничением области действия, внешний источник данных и другие возможности PolyBase.
Рассмотрим пример.
CREATE DATABASE SCOPED CREDENTIAL dsc_Sybase
WITH IDENTITY = '<user>', SECRET = '<password>';
GO
CREATE EXTERNAL DATA SOURCE EDS_Sybase
WITH (
LOCATION = 'odbc://<servername>:<port>',
PUSHDOWN = ON, --- optional
CONNECTION_OPTIONS = 'DSN=DEVART_ASE;DRIVER=Devart ODBC Driver for ASE',
CREDENTIAL = dsc_Sybase
);
GO
CREATE EXTERNAL TABLE T_EXT
(
C1 INT
)
WITH (
DATA_SOURCE = [EDS_SYBASE],
LOCATION = N'TEST.DBO.T'
);
GO
SELECT * FROM T_EXT;
GO
Ограничения
PolyBase для SQL Server в Linux использует внешнюю службу для безопасной изоляции и загрузки драйверов. Эта служба запускается по умолчанию при установке пакета PolyBase.mssql-server-polybase
Служба использует номер 25100порта по умолчанию. Если этот порт используется, возникает следующая ошибка:
Failed to bind port "127.0.0.1:25100"
Это сообщение можно найти в файле журнала PolyBase, расположенном по адресу: /var/opt/mssql-polybase-ees/log/ В SQL Server 2025 (17.x) и более поздних версиях расположение перемещено в /var/opt/mssql/log/polybase-ees-log.