Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применимо к: 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.