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.
Önkoşullar
Linux sürümü SQL Server tarafından desteklenmelidir, ancak Docker Altyapısı'nı içermez. Desteklenen sürümler şunlardır:
- Red Hat Enterprise Linux (RHEL)
- SUSE Linux Enterprise Server (SLES)
- Ubuntu
Transact-SQL (T-SQL) komutlarını çalıştırmak için bir aracınız olmalıdır. Yükleme sonrası yapılandırma ve doğrulama için bir sorgu düzenleyicisi gereklidir. Linux üzerinde çalışan ücretsiz bir indirme olan Visual Studio Code için MSSQL uzantısını öneririz.
- Java uzantıları için paket konumu SQL Server Linux kaynak depolarındadır. Veritabanı Altyapısı yüklemesi için kaynak depoları zaten yapılandırdıysanız, paket yükleme komutlarını aynı depo kaydını kullanarak çalıştırabilirsiniz
mssql-server-extensibility-java.
Dil Uzantıları, Linux kapsayıcılarında da desteklenir. Dil Uzantıları ile önceden oluşturulmuş kapsayıcılar sağlamayız, ancak GitHub'da bulunan örnek bir şablonu kullanarak SQL Server kapsayıcılarından bir kapsayıcı 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. Daha fazla bilgi için bkz. SQL Server 2019 Büyük Veri Kümelerinde Machine Learning Services ile Python ve R betiklerini çalıştırma.
Paket listesi
İnternet'e bağlı bir cihazda paketler, her işletim sisteminin paket yükleyicisi kullanılarak Veritabanı Altyapısından bağımsız olarak indirilir ve yüklenir. Aşağıdaki tabloda tüm kullanılabilir paketler açıklanmaktadır.
| Paket adı | Uygulandığı yerler | Açıklama |
|---|---|---|
mssql-server-extensibility |
Tüm diller | Java dil uzantısı için kullanılan genişletilebilirlik çerçevesi |
mssql-server-extensibility-java |
Java |
Şunlar için geçerlidir: Yalnızca Linux üzerinde SQL Server 2019 (15.x) Java dil uzantısı için kullanılan ve desteklenen bir Java çalışma zamanı içeren genişletilebilirlik çerçevesi |
Java dil uzantısını yükleme
Linux'ta Dil Uzantıları'nı ve Java'yı, mssql-server-extensibility-java kullanarak yükleyebilirsiniz. yüklediğinizde mssql-server-extensibility-java, henüz yüklü değilse paket JRE 11'i otomatik olarak yükler. Ayrıca JVM yolunu adlı JRE_HOMEbir ortam değişkenine 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.
Uyarı
İ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.
OpenJDK'nin en son Microsoft Derlemesi veya resmi lisanslı Java çalışma zamanı dahil olmak üzere istediğiniz java çalışma zamanını indirip yükleyebilirsiniz. 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
Aşağıdaki komutu kullanarak Red Hat'e Java için Dil Uzantıları'nı yükleyebilirsiniz.
Tavsiye
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
Aşağıdaki komutu kullanarak Ubuntu'ya Java için Dil Uzantıları'nı yükleyebilirsiniz.
Tavsiye
Mümkünse, yüklemeden önce sistemdeki paketleri yenilemek için komutunu çalıştırın apt-get update . Ayrıca, Ubuntu'nun bazı docker görüntüleri https apt aktarım seçeneğine sahip olmayabilir. Onu yüklemek için apt-get install apt-transport-https kullanın.
# Install as root or sudo
sudo apt-get install mssql-server-extensibility-java
SUSE yükleme komutu
Aşağıdaki komutu kullanarak SUSE'ye Java için Dil Uzantıları'nı yükleyebilirsiniz.
# Install as root or sudo
sudo zypper install mssql-server-extensibility-java
Yükleme sonrası yapılandırma (gerekli)
Linux'ta izinler verme
Dış kitaplıklar kullanıyorsanız bu adımı gerçekleştirmeniz gerekmez. Önerilen çalışma yöntemi dış kitaplıkları kullanmaktır. Dosyanızdan
jardış kitaplık oluşturmayla ilgili 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 dosyada aşağıdakijarkomutunu çalıştırın. SQL Server ile çalışırken sınıf dosyalarınızı her zaman içinejaryerleştirmenizi öneririz.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
mssql_satelliteizinlerini,jardosyasına okuma/yürütme için vermeniz gerekir.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, 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
outboundnetworkaccessaracını kullanarak Boole özelliğini ayarlayın. Daha fazla bilgi için bkz. Mssql-confile 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. Yeniden başlatma iletisi, genişletilebilirlik ile ilgili bir ayar değiştirildiğinde size anımsatır.
systemctl restart mssql-launchpadd systemctl restart mssql-server.serviceDış betik yürütmeyi etkinleştirin. Sqlcmd, SQL Server Management Studio (SSMS) veya Visual Studio Code için MSSQL uzantısı gibi tanıdık herhangi bir SQL Server istemci aracını kullanarak sql Server örneğine bağlanabilirsiniz.
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 dış dili CREATE EXTERNAL LANGUAGE ile kaydetmeniz gerekir. Sonraki bölümdeki adımlara bakın.
Dış dili kaydetme
Dil uzantılarını kullanmak istediğiniz her veritabanı için dış dili CREATE EXTERNAL LANGUAGE ile kaydetmeniz gerekir.
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şlatacak yolu belirlemek için kullanılır.
DDL, CREATE EXTERNAL LANGUAGE uzantıyı barındıran işleme özel olarak ortam değişkenlerini ayarlamak için bir parametre (ENVIRONMENT_VARIABLES) sağlar. Bu işlem, dış dil uzantılarının gerektirdiği ortam değişkenlerini ayarlamanın önerilen ve en etkili yoludur.
Daha fazla bilgi için bkz. CREATE EXTERNAL LANGUAGE.
Yüklemeyi doğrulama
Java özellik tümleştirmesi kitaplıkları içermez, ancak ortam değişkeninin oluşturulmasını grep -r JRE_HOME /etc onaylamak için komutunu çalıştırabilirsinizJAVA_HOME.
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. Sqlcmd, SQL Server Management Studio (SSMS) veya Visual Studio Code için MSSQL uzantısı gibi tanıdık herhangi bir SQL Server istemci aracını kullanarak sql Server örneğine bağlanabilirsiniz.
SQL Server ve Java Dil Uzantısı'nın tam yüklemesi
Veritabanı Altyapısı'nı yükleyen bir komuta Java paketleri ve parametreleri ekleyerek Veritabanı Altyapısı ve Java Dil Uzantısı'nı tek bir yordamda yükleyip yapılandırabilirsiniz.
Veritabanı Altyapısı'nı ve dil uzantısı özelliklerini içeren bir komut satırı sağlayın.
Veritabanı Altyapısı yüklemesine Java genişletilebilirliği ekleyebilirsiniz.
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. Bu görev için mssql-conf aracını kullanı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.
İstenirse 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 yükleme adımları için Çevrimdışı yükleme yönergelerini izleyin. İndirme sitenizi bulun ve ardından bu bölümün devamında yer alan paket listesini kullanarak belirli paketleri indirin.
Tavsiye
Paket yönetimi araçlarının birkaçı, paket bağımlılıklarını belirlemenize yardımcı olabilecek komutlar sağlar. Yum için kullanın sudo yum deplist [package]. Ubuntu için sudo apt-get install --reinstall --download-only [package name] sonrasında dpkg -I [package name].deb kullanın.
Siteyi indir
Paketleri adresinden https://packages.microsoft.com/indirebilirsiniz. Java paketlerinin tümü Veritabanı Altyapısı paketiyle birlikte bulunur.
İndirme yolları
| Paket | Dağıtım | İ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ı, son eke platform bilgilerini içerir, ancak aşağıdaki dosya adları hangi dosyaları alabileceğinizi belirlemenize yardımcı olmalıdır.
Çekirdek paketler
mssql-server-15.0.1000mssql-server-extensibility-15.0.1000
Java
mssql-server-extensibility-java-15.0.1000
Sınırlamalar
Şu anda Linux'ta zımni kimlik doğrulaması kullanılamamaktadır. Bu, devam eden Java'dan verilere veya diğer kaynaklara erişmek için sunucuya geri bağlanamadığınız anlamına gelir.
Kaynak idaresi
Dış kaynak havuzları için Linux ile Kaynak idaresi için Windows arasında eşlik vardır, ancak sys.dm_resource_governor_external_resource_pools istatistikleri şu anda Linux üzerinde farklı birimlere sahiptir.
Uyarı
Aşağıdaki tablodaki istatistikler, belirtilen Denetim Grupları (cgroups) alt sistemlerinden kaynaklanmıştır.
| Sütun adı | Açıklama | Linux'ta değer |
|---|---|---|
peak_memory_kb |
Kaynak havuzu için kullanılan en fazla bellek miktarı. | Linux'ta bu istatistik, değerin memory bulunduğu alt sistemden alınır memory.max_usage_in_bytes |
write_io_count |
Resource Governor istatistikleri sıfırlandığından beri verilen toplam yazma işlemleri. | 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 istatistikleri sıfırlandığından beri verilen toplam okuma IOS'ları. | Linux'ta bu istatistik, okuma satırındaki değerin blkio bulunduğu alt sistemden alınır blkio.throttle.io_serviced |
total_cpu_kernel_ms |
Resource Governor istatistikleri sıfırlandığından bu yana milisaniye cinsinden birikmeli CPU kullanıcı çekirdeği süresi. | 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 istatistikleri sıfırlandıktan sonra milisaniye cinsinden birikmeli CPU kullanıcı süresi. | Linux'ta bu istatistik, sistem satır değerindeki değerin cpuacct bulunduğu alt sistemden alınır 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 |