Aracılığıyla paylaş


Linux üzerinde SQL Server'da PolyBase ile ODBC veri kaynaklarına bağlanma

Şunlar için geçerlidir: SQL Server 2025 (17.x)

Bu makalede, Linux üzerinde SQL Server ile PolyBase hizmetlerini nasıl kullanabileceğiniz açıklanmaktadır.

SQL Server 2025 (17.x) sürümünden itibaren Linux'ta yapılan dağıtımlar PolyBase için ODBC veri kaynaklarını kullanabilir. Bu, kendi sürücünüzü getirmenize (BYOD) olanak tanır. Linux'ta bu özellik, Windows'ta nasıl çalıştığına benzer şekilde çalışır. Daha fazla bilgi için bkz. Odbc genel türleriyle dış verilere erişmek için PolyBase'i yapılandırma.

Dikkat

Kendi sürücüsünü getir (KCG) modeli, müşterinin ve sürücü sağlayıcısının sorumluluğunda olan riskleri içerir. Microsoft, üçüncü taraf sürücünün neden olabileceği herhangi bir sorundan sorumlu değildir.

Örnekler

Linux'ta yükleme

Aşağıdaki örnekte Ubuntu'da SQL ODBC sürücüsü gösterilmektedir.

  1. Microsoft deposunu ekleyin:

    1. Microsoft GPG anahtarını içeri aktarma

      curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg
      
    2. Sisteminize Microsoft deposunu ekleme

      curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
      
  2. Paket listesini güncelleştirme

    sudo apt update
    
  3. ODBC Sürücüsünü Yükleme

    ODBC sürücüsünün en son sürümünü yükleyin. Aşağıdaki örnek sürüm 18'i yükler.

    sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
    

Yükleme aşağıdaki dosyaları oluşturur:

Dosya Açıklama
/etc/odbcinst.ini Sürücü adı, açıklaması ve sürüm bilgileri.
/etc/odbc.ini DNS adı, şifreleme ve diğer belirtimler.

Dosyayı sürücünün özelliklerine ve belirtimlerine göre oluşturmanız odbc.ini gerekir. Birden çok sürücü aynı odbc.ini ve odbcinst.ini dosyaları birden çok girişle paylaşır.

Örnek dosyalar

Örnek odbc.ini

Bu örnekte, driver_name içindeki adla odbcinst.inieşleşmelidir.

[MyDSN]
Driver = driver_name
Server = your_server_name
Database = your_database_name
Trusted_Connection = yes

Sybase örneği 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 örneği 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

Desteklenen parametrelerin tam listesi için sürücünün sağlayıcı belgelerine bakın.

Örnek sorgular

Sürücü kurulumu tamamlandıktan sonra veritabanı kapsamlı kimlik bilgilerini, dış veri kaynağını ve diğer PolyBase'i kullanabilirsiniz.

Örneğin:

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

Sınırlamalar

Linux üzerinde SQL Server için PolyBase, sürücüleri güvenli bir şekilde yalıtmak ve yüklemek için bir dış hizmet kullanır. PolyBase paketi (mssql-server-polybase) yüklendiğinde bu hizmet varsayılan olarak başlatılır.

Hizmet varsayılan bağlantı noktası numarasını 25100kullanır. Bu bağlantı noktası kullanımdaysa, aşağıdaki hata mesajını verir:

Failed to bind port "127.0.0.1:25100"

Bu iletiyi PolyBase'in şu konumda bulunan günlük dosyasında bulabilirsiniz: /var/opt/mssql-polybase-ees/log/. SQL Server 2025 (17.x) ve sonraki sürümlerde konum /var/opt/mssql/log/polybase-ees-log'a taşındı.