Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: Linux ve sonraki sürümlerde SQL Server 2019 (15.x)
Linux'ta SQL Server için Java Dil Uzantısı bileşenini yüklemeyi öğrenin. Java Dil Uzantısı , SQL Server Dil Uzantıları'nın bir parçasıdır ve Veritabanı Altyapısı eklentisidir.
Veritabanı Altyapısını ve Dil Uzantılarını eşzamanlı olarak yükleyebilmenize rağmen, daha fazla bileşen eklemeden önce sorunları çözebilmeniz için öncelikle SQL Server Veritabanı Altyapısı'nı yükleyip yapılandırmak en iyi yöntemdir.
Prerequisites
Linux dağıtımınız SQL Server tarafından desteklenmelidir. Konteynerler ayrı ayrı bir mermiyle kapsanır. Desteklenen dağıtımlar şunlardır:
- Red Hat Enterprise Linux (RHEL)
- SUSE Linux Kurumsal Sunucusu (SLES)
- Ubuntu
Kurulum sonrası yapılandırma ve doğrulama için Transact-SQL (T-SQL) komutlarını çalıştırmak için bir sorgu düzenleyiciye ihtiyacınız var. Visual Studio Code için MSSQL uzantısını öneriyoruz. Linux'ta çalışan ücretsiz bir indirme.
- Java eklentileri paketi, SQL Server Linux kaynak depolarında yer almaktadır. Database Engine kurulumu için kaynak depoları zaten yapılandırdıysanız, aynı repo kaydını kullanarak paket kurulum komutlarını çalıştırın
mssql-server-extensibility-java.
Dil Uzantıları, Linux kapsayıcılarında da desteklenir. Dil Uzantıları içeren hazır konteynerler mevcut değildir, ancak SQL Server konteynerlerinden GitHub'da bulunan örnek bir şablonu kullanarak bir tane oluşturabilirsiniz.
Dil Uzantıları ve Machine Learning Hizmetleri varsayılan olarak SQL Server Büyük Veri Kümelerine yüklenir. Büyük Veri Kümeleri kullanıyorsanız bu makaledeki adımları izlemeniz gerekmez.
Paket listesi
İnternete bağlı bir cihazda, her işletim sistemi için paket yükleyicisini kullanarak Database Engine'den bağımsız olarak paketleri indirip kurarsınız. Aşağıdaki tabloda tüm kullanılabilir paketler açıklanmaktadır.
| Paket adı | Şunlar için geçerlidir: | Description |
|---|---|---|
mssql-server-extensibility |
Tüm diller | Java dil uzantısı için kullanılan genişletilebilirlik çerçevesi |
mssql-server-extensibility-java |
Java | Java dil uzantısı için kullanılan ve desteklenen bir Java çalışma zamanı içeren genişletilebilirlik çerçevesi Geçerlidir: Sadece Linux için SQL Server 2019 (15.x) |
Java dil uzantısını yükleme
Linux'a Language Extensions ve Java'yı yüklemek için paketi mssql-server-extensibility-java yükleyin. Paket, JRE 11'i otomatik olarak yükler (eğer henüz yüklenmemişse) ve JVM yolunu bir ortam değişkeni olan ' JRE_HOMEye ekler.
Java Dil Uzantısı'nı etkinleştirmek için GitHub'da Java Dil Uzantısı sayfasındaki yönergeleri izleyerek özel bir ikili dosya oluşturun.
Note
İnternet'e bağlı bir sunucuda, paket bağımlılıkları ana paket yüklemesinin bir parçası olarak indirilir ve yüklenir. Sunucunuz İnternet'e bağlı değilse çevrimdışı kurulumdaki diğer ayrıntılara bakın.
En son Microsoft Build OpenJDK veya resmi lisanslı Java çalışma zamanı da dahil olmak üzere herhangi bir Java çalışma zamanını indirip kurabilirsiniz. SQL Server 2022 (16.x) ile başlayarak, SQL Server Kurulumu java çalışma zamanı yüklemez.
Java Dil Uzantısı'nı etkinleştirmek için GitHub'da Java Dil Uzantısı sayfasındaki yönergeleri izleyerek özel bir ikili dosya oluşturun.
Red Hat install komutu
Red Hat'e Java için Dil Uzantılarını yüklemek için aşağıdaki komutu kullanın.
Tip
Mümkünse, yüklemeden önce sistemdeki paketleri yenilemek için komutunu çalıştırın yum clean all .
# Install as root or sudo
sudo yum install mssql-server-extensibility-java
Ubuntu Kur Komutu
Ubuntu'ya Java için Dil Uzantılarını yüklemek için aşağıdaki komutu kullanın.
Tip
Mümkünse, yüklemeden önce sistemdeki paketleri yenilemek için komutunu çalıştırın apt-get update . Bazı Ubuntu Docker görselleri paketi apt-transport-https içermiyor. Yüklemek için komutunu çalıştırın apt-get install apt-transport-https.
# Install as root or sudo
sudo apt-get install mssql-server-extensibility-java
SUSE yükleme komutu
SUSE'ye Java için Dil Uzantılarını yüklemek için aşağıdaki komutu kullanın.
# Install as root or sudo
sudo zypper install mssql-server-extensibility-java
Kurulum sonrası yapılandırma (zorunlu)
Linux'ta izinler verme
Dış kitaplıklar kullanıyorsanız bu adımı gerçekleştirmeniz gerekmez. Önerilen yaklaşım harici kütüphanelerdir. Dosyanızdan
jarharici bir kütüphane oluşturma konusunda yardım için bkz.CREATE EXTERNAL LIBRARYDış kitaplıklar kullanmıyorsanız, SQL Server'a içinde
jarJava sınıflarını yürütmek için izinler sağlamanız gerekir.Bir
jardosyaya okuma ve yürütme erişimi vermek için dosyadajaraşağıdakichmodkomutu çalıştırın. SQL Server ile çalışırken sınıf dosyalarınızı her zaman a'yajarkoyun.jaroluşturma konusunda yardım için Sınıf dosyalarından Java .jar dosyası oluşturma konusuna bakın.chmod ug+rx <MyJarFile.jar>Ayrıca dosyayı okumak ve çalıştırmak
jariçin izinler vermenizmssql_satellitegerekir.chown mssql_satellite:mssql_satellite <MyJarFile.jar>Ek yapılandırma öncelikle mssql-conf aracı aracılığıyla yapılır.
mssqlSQL Server hizmetini çalıştırmak için kullanılan kullanıcı hesabını ekleyin. Bu adım, kurulumu daha önce çalıştırmadıysanız gereklidir.sudo /opt/mssql/bin/mssql-conf setupGiden ağ erişimini etkinleştirin. Giden ağ erişimi varsayılan olarak devre dışıdır. Giden istekleri etkinleştirmek için, aracı kullanarak Boolean özelliğini
mssql-confayarlayınoutboundnetworkaccess. Daha fazla bilgi için bkz. Mssql-conf ile Linux üzerinde SQL Server'ı yapılandırma.# Run as SUDO or root # Enable outbound requests over the network sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1INI dosyasından güncelleştirilmiş değerleri okumak için SQL Server Launchpad hizmetini ve Veritabanı Altyapısı örneğini yeniden başlatın. Genişletilebilirlikle ilgili bir ayarı değiştirdiğinizde yeniden başlatma mesajı size hatırlatır.
systemctl restart mssql-launchpadd systemctl restart mssql-server.serviceDış betik yürütmeyi etkinleştirin. Tanıdık SQL Server istemci araçlarını kullanarak bir SQL Server örneğine bağlanabilirsiniz, örneğin
, SQL Server Management Studio (SSMS) veya Visual Studio Code için MSSQL uzantısı gibi. EXECUTE sp_configure 'external scripts enabled', 1; RECONFIGURE WITH OVERRIDE;mssql-launchpaddHizmeti yeniden başlatın.Dil uzantılarını kullanmak istediğiniz her veritabanı için, harici dili .CREATE EXTERNAL LANGUAGE Adımlar için sonraki bölüme bakınız.
Dış dili kaydetme
Dil uzantılarını kullanmak istediğiniz her veritabanı için, harici dili .CREATE EXTERNAL LANGUAGE
Aşağıdaki örnek, Linux üzerinde SQL Server'da bir veritabanına Java adlı bir dış dil ekler.
CREATE EXTERNAL LANGUAGE Java
FROM (
CONTENT = N'/opt/mssql-extensibility/lib/java-lang-extension.tar.gz',
FILE_NAME = 'javaextension.so',
ENVIRONMENT_VARIABLES = N'{"JRE_HOME":"/opt/mssql/lib/zulu-jre-11"}'
);
Java uzantısı için, ortam değişkeni JRE_HOME JVM'yi bulup başlatma yolunu belirler.
DDL, CREATE EXTERNAL LANGUAGE uzantını barındıran süreç için ortam değişkenlerini ayarlamak için bir ENVIRONMENT_VARIABLES parametre sağlar. Bu parametreyi dış dil uzantılarının gerektirdiği ortam değişkenlerini ayarlamak için kullanın.
Daha fazla bilgi için bkz. CREATE EXTERNAL LANGUAGE.
Yüklemeyi doğrulama
Java özellik entegrasyonu kütüphaneleri içermez, ancak ortam değişkeninin var olduğunu doğrulamak JRE_HOME için çalıştırabilirsinizgrep -r JRE_HOME /etc.
Yüklemeyi doğrulamak için Java'yı çağıran bir sistem saklı yordamını yürüten bir T-SQL betiği çalıştırın. Bu görev için bir sorgu aracına ihtiyacınız var. Tanıdık SQL Server istemci araçlarını kullanarak bir SQL Server örneğine bağlanabilirsiniz, örneğin
SQL Server ve Java Dil Uzantısı'nın tam yüklemesi
Database Engine ve Java Language Extension'ı tek bir işlemde kurup yapılandırmak için, Database Engine'i yükleyen bir komuta Java paketlerini ve parametrelerini ekleyin.
Veritabanı Altyapısı'nı ve dil uzantısı özelliklerini içeren bir komut satırı sağlayın.
Aşağıdaki komut, Database Engine kurulumuna Java genişletilebilirliğini ekler.
sudo yum install -y mssql-server mssql-server-extensibility-javaLisans sözleşmelerini kabul edin ve yükleme sonrası yapılandırmasını tamamlayın. Aracı
mssql-confkullanın.sudo /opt/mssql/bin/mssql-conf setupBu adım, Veritabanı Altyapısı için lisans sözleşmesini kabul edip bir sürüm seçmenizi ve yönetici parolasını ayarlamanızı ister.
Istenirse hizmeti yeniden başlatın.
sudo systemctl restart mssql-server.service
Katılımsız yükleme
Veritabanı Altyapısı için katılımsız yüklemeyi kullanın ve paketlerini mssql-server-extensibility-javaekleyin.
Çevrimdışı yükleme
Paketleri kurmak için Çevrimdışı kurulum talimatlarını izleyin. İndirme sitenizi bulun ve bu bölümde daha sonra listelenen özel paketleri indirin.
Tip
Birkaç paket yönetim aracı, paket bağımlılıklarını belirlemenize yardımcı olan komutlar sağlar.
yum için sudo yum deplist [package]'i kullanın. Ubuntu için sudo apt-get install --reinstall --download-only [package name] sonrasında dpkg -I [package name].deb kullanın.
Siteyi indir
Paketleri şu adresten https://packages.microsoft.com/indirin. Site, tüm Java paketlerini Database Engine paketiyle birlikte barındırır.
İndirme yolları
| Package | Distribution | İndirme konumu |
|---|---|---|
mssql/extensibility-java packages |
Red Hat 8 | https://packages.microsoft.com/rhel/8/mssql-server-2019/ |
mssql/extensibility-java packages |
SUSE v15 | https://packages.microsoft.com/sles/15/mssql-server-2019/ |
mssql/extensibility-java packages |
Ubuntu 20.04 | https://packages.microsoft.com/ubuntu/20.04/mssql-server-2019/pool/main/m/ |
Paket listesi
Kullanmak istediğiniz uzantılara bağlı olarak, belirli bir dil için gerekli paketleri indirin. Tam dosya adları ek ekte platform bilgilerini içerir, ancak aşağıdaki dosya adları hangi dosyaları almanız gerektiğini belirlemenize yardımcı olur.
Çekirdek paketler
mssql-server-15.0.1000mssql-server-extensibility-15.0.1000
Java
mssql-server-extensibility-java-15.0.1000
Sınırlamalar
Linux'ta ima edilen kimlik doğrulama mevcut değildir. Harici süreçte çalışan Java kodu, sunucuya geri bağlanıp veri veya diğer kaynaklara erişemiyor.
Kaynak idaresi
Linux ve Windows dış kaynak havuzları için kaynak yönetimi için eşitliğe sahip, ancak sys.dm_resource_governor_external_resource_pools istatistikleri şu anda Linux'ta farklı birimlere sahip.
Note
Aşağıdaki tablodaki istatistikler, belirtilen Kontrol Grupları (cgruplar) alt sistemlerinden alınmıştır.
| Sütun adı | Description | Linux'ta değer |
|---|---|---|
peak_memory_kb |
Kaynak havuzunun kullandığı maksimum bellek. | Linux'ta bu istatistik, değerin memory bulunduğu alt sistemden alınır memory.max_usage_in_bytes |
write_io_count |
Resource Governor istatistiklerinin son sıfırlanmasından bu yana verilen toplam yazma IO'ları. | Linux'ta bu istatistik, yazma satırındaki değerin blkio bulunduğu alt sistemden alınır blkio.throttle.io_serviced |
read_io_count |
Resource Governor istatistiklerinin son sıfırlanmasından bu yana verilen toplam okuma itomları. | Linux'ta bu istatistik, okunan satırdaki değerin olduğu alt sistemden elde blkio edilir blkio.throttle.io_serviced |
total_cpu_kernel_ms |
Resource Governor istatistiklerinin son sıfırlanmasından bu yana birikimli CPU kullanıcı çekirdeği süresi milisaniye cinsinden. | Linux'ta bu istatistik, kullanıcı satırındaki değerin cpuacct bulunduğu alt sistemden alınır cpuacct.stat |
total_cpu_user_ms |
Resource Governor istatistiklerinin son sıfırlanmasından bu yana milisaniyeler cinsinden toplam CPU kullanıcı süresi. | Linux'ta bu istatistik, sistem satırındaki değerin olduğu alt sistemden elde cpuacct edilir cpuacct.stat |
active_processes_count |
İstek anında çalışan dış işlemlerin sayısı. | Linux'ta bu istatistik, değerin pids bulunduğu alt sistemden alınır pids.current |