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: SQL Server 2019 (15.x) ve sonraki sürümleri
Windows'da 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.
Uyarı
Bu makale, Windows'da SQL Server için Java Dil Uzantısı'nın yüklenmesine yöneliktir. Linux için bkz. Linux'a SQL Server Java Dil Uzantısı yükleme. Windows'da C# Dil Uzantısı için bkz. Windows'a SQL Server .NET Dil Uzantısı yükleme.
Önkoşullar
Uyarı
Özellik özellikleri ve yükleme seçenekleri SQL Server sürümleri arasında farklılık gösterir. SQL Server'ın uygun sürümünü seçmek için sürüm seçici açılan listesini kullanın.
Java Dil Uzantısı desteğini yüklemek istiyorsanız SQL Server Kurulumu gereklidir.
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) ve sonraki sürümlerde Java çalışma zamanı SQL Server Kurulumu tarafından yüklenmez.
Veritabanı Altyapısı örneği gereklidir. Yalnızca Java Dil Uzantısı özelliklerini yükleyemezsiniz, ancak bunları mevcut bir örneğe artımlı olarak ekleyebilirsiniz.
İş sürekliliği için Always On kullanılabilirlik grupları Dil Uzantıları için desteklenir. Dil uzantılarını yüklemeniz ve paketleri her düğüme yapılandırmanız gerekir. Java Dil Uzantısı'nın yüklenmesi, SQL Server'daki bir yük devretme kümesi örneğinde de desteklenir.
Sql Server Dil Uzantıları'nı veya Java Dil Uzantısı'nı bir etki alanı denetleyicisine yüklemeyin. Kurulumun Dil Uzantıları bölümü başarısız oluyor.
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.
Önemli
Kurulum tamamlandıktan sonra, bu makalede açıklanan yapılandırma sonrası adımları tamamladığınızdan emin olun. Bu adımlar, SQL Server'ın dış kod kullanmasını etkinleştirmeyi ve SQL Server'ın sizin yerinize Java kodunu çalıştırması için gereken hesapları eklemeyi içerir. Yapılandırma değişiklikleri genellikle örneğin yeniden başlatılmasını veya Launchpad hizmetinin yeniden başlatılmasını gerektirir.
Java JRE veya JDK
Uyarı
Özellik özellikleri ve yükleme seçenekleri SQL Server sürümleri arasında farklılık gösterir. SQL Server'ın uygun sürümünü seçmek için sürüm seçici açılan listesini kullanın.
SQL Server 2022 (16.x) ile, OpenJDK'nin en son Microsoft Derlemesi veya resmi lisanslı Java çalışma zamanı dahil olmak üzere herhangi bir Java çalışma zamanını indirip yükleyebilirsiniz.
Java 11 şu anda Windows'ta desteklenen sürümdür. Java Çalışma Zamanı Ortamı (JRE) en düşük gereksinimdir, ancak Java derleyicisi ve geliştirme paketlerine ihtiyacınız varsa Java Geliştirme Seti (JDK) kullanışlıdır. JDK her şey dahil olduğundan JDK'yi yüklerseniz JRE gerekli değildir. Windows'da mümkünse JDK'yi varsayılan /Program Files/ klasörün altına yüklemenizi öneririz. Aksi takdirde, yürütülebilir dosyalara izin vermek için ek yapılandırma gerekir. Daha fazla bilgi için bu belgenin İzin verme (Windows) bölümüne bakın.
JAVA'yi SQL Server 2019 (15.x) ve sonraki sürümlerle yüklemenin ve kullanmanın iki yolu vardır:
SQL Server yüklemesine dahil olan varsayılan Java çalışma zamanını kullanın.
Aşağıdaki tabloda, kuruluma dahil edilen varsayılan Java sürümleri listelenmiştir:
SQL Server sürümü Varsayılan Java sürümü SQL Server 2019 (15.x) CU 23 ve sonraki sürümleri OpenJDK 11.0.19'un Microsoft Derlemesi SQL Server 2019 (15.x) RTM - CU22 Azul Zulu JRE 11.0.3 Varsayılan Java çalışma zamanı yerine tercih ettiğiniz Java dağıtımını kullanın.
Java 11 şu anda Windows'ta desteklenen sürümdür. Java Çalışma Zamanı Ortamı (JRE) en düşük gereksinimdir, ancak Java derleyicisi ve geliştirme paketlerine ihtiyacınız varsa Java Geliştirme Seti (JDK) kullanışlıdır. JDK her şey dahil olduğundan JDK'yi yüklerseniz JRE gerekli değildir. Windows'da mümkünse JDK'yi varsayılan
/Program Files/klasörün altına yüklemenizi öneririz. Aksi takdirde, yürütülebilir dosyalara izin vermek için ek yapılandırma gerekir. Daha fazla bilgi için bu belgenin İzin verme (Windows) bölümüne bakın.
Uyarı
Java'nın geriye dönük uyumlu olduğu göz önünde bulundurulduğunda, önceki sürümler çalışabilir, ancak SQL Server 2019 (15.x) için desteklenen ve test edilen sürüm Java 11'dir.
Yükleme medyasını alma
SQL Server'ın indirme konumu sürüme bağlıdır:
SQL Server Enterprise, Standard ve Express sürümleri. Bu sürümler üretim kullanımı için lisanslıdır. Enterprise ve Standard sürümleri için yükleme medyası için yazılım satıcınıza başvurun. Satın alma bilgilerini ve Microsoft iş ortaklarının dizinini Microsoft satın alma web sitesinde bulabilirsiniz.
Kurulumu Çalıştır
Yerel yüklemeler için, Kurulum'u yönetici olarak çalıştırmanız gerekir. SQL Server'ı uzak bir paylaşımdan yüklerseniz, uzak paylaşımda okuma ve yürütme izinlerine sahip bir etki alanı hesabı kullanmanız gerekir.
SQL Server için kurulum sihirbazını başlatın.
Yükleme sekmesinde Yeni SQL Server tek başına yükleme'yi seçin veya var olan bir yüklemeye özellik ekleyin.
Özellik Seçimi sayfasında şu seçenekleri belirleyin:
Veritabanı Altyapısı Hizmetleri: DIL Uzantılarını SQL Server ile kullanmak için Veritabanı Altyapısı'nın bir örneğini yüklemeniz gerekir. Varsayılan veya adlandırılmış örnek kullanabilirsiniz.
Machine Learning Services ve Dil Uzantıları: Bu seçenek Java kod yürütmesini destekleyen Dil Uzantıları bileşenini yükler.
Varsayılan Java çalışma zamanını yüklemek istiyorsanız hem Machine Learning Hizmetleri hem de Dil Uzantıları veJava'yı seçin.
Kendi Java çalışma zamanınızı kullanmak istiyorsanız Machine Learning Services ve Dil Uzantıları'nı seçin. Java'yi seçmeyin.
R ve Python kullanmak istiyorsanız bkz. Windows'a SQL Server Machine Learning Services (Python ve R) yükleme.
Özellik Seçimi sayfasında şu seçenekleri belirleyin:
Veritabanı Altyapısı Hizmetleri: DIL Uzantılarını SQL Server ile kullanmak için Veritabanı Altyapısı'nın bir örneğini yüklemeniz gerekir. Varsayılan veya adlandırılmış örnek kullanabilirsiniz.
Machine Learning Services ve Dil Uzantıları: Bu seçenek Java kod yürütmesini destekleyen Dil Uzantıları bileşenini yükler.
Yüklemeye Hazır sayfasında, bu seçimlerin dahil olduğunu doğrulayın ve Yükle'yi seçin.
- Veritabanı Altyapısı Hizmetleri
- Machine Learning Hizmetleri ve Dil Uzantıları
Yapılandırma dosyalarının depolandığı yolun
..\Setup Bootstrap\Logaltındaki klasörün konumunu not edin. Kurulum tamamlandığında, Özet dosyasında yüklü bileşenleri gözden geçirebilirsiniz.Kurulum tamamlandıktan sonra bilgisayarı yeniden başlatmanız istenirse, bunu şimdi yapın. Kurulum'u bitirdiğinizde Yükleme Sihirbazı'ndan gelen iletiyi okumak önemlidir. Daha fazla bilgi için bkz. SQL Server Kurulum günlük dosyalarını görüntüleme ve okuma.
JRE_HOME değişkenini ekleme
JRE_HOME , Java yorumlayıcısının konumunu belirten bir sistem ortamı değişkenidir. Bu adımda, Windows'ta bunun için bir sistem ortamı değişkeni oluşturun.
JRE giriş yolunu bulun ve kopyalayın.
Örneğin, varsayılan Java çalışma zamanı Zulu JRE 11.0.3 için JRE giriş yolu şeklindedir
%ProgramFiles%\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\Binn\AZUL-OpenJDK-JRE\.SQL Server yükleme yolunuza bağlı olarak veya başka bir Java çalışma zamanı seçtiyseniz JDK veya JRE konumunuz önceki örnekteki yoldan farklı olabilir. Yüklü bir JDK'niz olsa bile, genellikle bu yüklemenin bir parçası olarak bir JRE alt klasörü alırsınız, bu durumda JRE klasörünün üzerine gelin. Java uzantısı yolundan
%JRE_HOME%\bin\serveröğesinijvm.dllyüklemeyi dener.
JRE giriş yolunu bulun ve kopyalayın.
Bu yol çalışma zamanına ve yükleme seçeneklerine bağlıdır.
Java uzantısı yolundan
%JRE_HOME%\bin\serveröğesinijvm.dllyüklemeyi dener.
Denetim Masası'nda Sistem ve Güvenlik'i açın, Sistem'i açın ve Gelişmiş Sistem Özellikleri'ni seçin.
Ortam Değişkenleri'ne tıklayın.
JDK/JRE yolunun değeriyle için
JRE_HOMEyeni bir sistem değişkeni oluşturun (1. adımda bulunur).
Launchpad'i yeniden başlatın.
SQL Server Yapılandırma Yöneticisi açın.
SQL Server Hizmetleri'nin altında SQL Server Başlatma Çubuğu'nu sağ tıklatın ve Yeniden Başlat'ı seçin.
Dil uzantısını kaydedin. Java özel çalışma zamanı için kullanılan Java dil uzantısını indirmek ve kaydetmek için bu adımları izleyin.
java-lang-extension-windows-release.zipDOSYAYı SQL Server GitHub deposu için Java dil uzantısından indirin. En son Windowsjava-lang-extension-windows.zipdosyasını indirin. SQL Server Kurulumu'ndan varsayılan Java'yı yüklemediyseniz JRE sürümünün GitHub'dan indirilen sürümle eşleştiğinden emin olun. Kendi yüklü JRE sürümünüzü kullanmayı tercih ediyorsanız GitHub kaynak kodundan derlemenizjava-lang-extensiongerekebilir.SQL Server örneğine bağlanmak için Azure Data Studio'yu kullanın ve Java dil uzantısını CREATE EXTERNAL LANGUAGE ile kaydetmek için aşağıdaki T-SQL komutunu çalıştırın.
İndirilen dil uzantısı zip dosyasının konumunu (java-lang-extension-windows-release.zip) ve özel Java yüklemenizin (
%ProgramFiles%\Python) konumunu yansıtacak şekilde bu deyimdeki yolu değiştirin.
CREATE EXTERNAL LANGUAGE [Java] FROM (CONTENT = N'C:\path\to\java-lang-extension-windows-release.zip', FILE_NAME = 'javaextension.dll', ENVIRONMENT_VARIABLES = N'{"JAVAHOME": "C:\\Program Files\\Java"}'); GOLaunchpad'i yeniden başlatın.
SQL Server Yapılandırma Yöneticisi açın.
SQL Server Hizmetleri'nin altında SQL Server Başlatma Çubuğu'nu sağ tıklatın ve Yeniden Başlat'ı seçin.
Varsayılan olmayan JRE klasörüne erişim izni verme
SQL Server'da bulunan varsayılan Java'yı yüklemediyseniz ve altında /Program FilesJava'yı yüklemediyseniz aşağıdaki adımları gerçekleştirmeniz gerekir.
Java'yı program dosyaları altında yüklemediyseniz aşağıdaki adımları gerçekleştirmeniz gerekir.
JRE'ye erişmek için SQLRUsergroup ve SQL Server hizmet hesaplarına (içindeALL_APPLICATION_PACKAGES) erişim vermek için icacls komutlarını yükseltilmiş bir satırdan çalıştırın. Komutlar, verilen dizin yolu altındaki tüm dosya ve klasörlere özyinelemeli olarak erişim verir.
SQLRUserGroup izinleri verme
Adlandırılmış örnek için örnek adını SQLRUsergroup'a ekleyin (örneğin,
SQLRUsergroupINSTANCENAME).icacls "<PATH to JRE>" /grant "SQLRUsergroup":(OI)(CI)RX /TJDK/JRE'yi Windows'daki program dosyaları altındaki varsayılan klasöre yüklediyseniz bu adımı atlayabilirsiniz.
AppContainer izinleri verin. Bu komut, Windows'un İngilizce sürümündekine eşdeğer olan bilgisayar SID'sine
S-1-15-2-1ALL APPLICATION PACKAGESizin verir. Alternatif olarak, Windows'un İngilizce sürümünde kullanabilirsinizicacls "<PATH to JRE>" /grant "ALL APPLICATION PACKAGES":(OI)(CI)RX /T.icacls "<PATH to JRE>" /grant *S-1-15-2-1:(OI)(CI)RX /T
Hizmeti yeniden başlatın
Yükleme tamamlandığında, betik yürütmeyi etkinleştirerek sonraki adıma geçmeden önce Veritabanı Altyapısı'nı yeniden başlatın.
Hizmetin yeniden başlatılması, ilgili SQL Server Launchpad hizmetini de otomatik olarak yeniden başlatır.
SSMS'deki örnek için Yeniden Başlat komutuna sağ tıklayarak, Denetim Masası'ndaki Hizmetler paneliyle veya SQL Server Configuration Manager'ı kullanarak hizmeti yeniden başlatabilirsiniz.
Betik yürütmeyi etkinleştirme
SQL Server Management Studio'yu açın. Dil Uzantıları'nı yüklediğiniz örneğe bağlanın, Yeni Sorgu'yu seçerek bir sorgu penceresi açın ve aşağıdaki komutu çalıştırın:
EXECUTE sp_configure;Özellik varsayılan olarak kapalıdır (
value)0ve Java kodunu çalıştırabilmeniz için önce yönetici tarafından açıkça etkinleştirilmesi gerekir.Dış betik özelliğini etkinleştirmek için aşağıdaki deyimi çalıştırın:
EXECUTE sp_configure 'external scripts enabled', 1; GO RECONFIGURE WITH OVERRIDE; GOMachine Learning Services özelliğini zaten etkinleştirdiyseniz, Dil Uzantıları için yeniden yapılandırmayı ikinci kez çalıştırmayın. Temel alınan genişletilebilirlik platformu ikisini de destekler.
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, Windows üzerinde SQL Server'da bir veritabanına Java adlı bir dış dil ekler.
CREATE EXTERNAL LANGUAGE Java
FROM (CONTENT = N'<path-to-zip>', FILE_NAME = 'javaextension.dll');
GO
Daha fazla bilgi için bkz. CREATE EXTERNAL LANGUAGE.
Yüklemeyi doğrulama
Kurulum günlüklerinde örneğin yükleme durumunu denetleyin.
Dış betiği başlatmak için kullanılan tüm bileşenlerin çalıştığını doğrulamak için aşağıdaki adımları kullanın.
SQL Server Management Studio veya Azure Data Studio'da yeni bir sorgu penceresi açın ve aşağıdaki deyimi çalıştırın:
EXECUTE sp_configure 'external scripts enabled';run_valueartık 1 olarak ayarlanmıştır.Hizmetler panelini veya SQL Server Configuration Manager'ı açın ve SQL Server Launchpad hizmetinin çalıştığını doğrulayın. Dil uzantıları yüklü olan her Veritabanı Altyapısı örneği için bir hizmetiniz olmalıdır. Hizmet hakkında daha fazla bilgi için bkz. SQL Server Dil Uzantılarında Genişletilebilirlik mimarisi.
Ek yapılandırma
Doğrulama adımı başarılı olursa SQL Server Management Studio, Azure Data Studio, Visual Studio Code veya sunucuya T-SQL deyimleri gönderebilen başka bir istemciden Java Code çalıştırabilirsiniz.
Komutu çalıştırırken hata alırsanız bu bölümdeki ek yapılandırma adımlarını gözden geçirin. Hizmete veya veritabanına ek uygun yapılandırmalar yapmanız gerekebilir.
Örnek düzeyinde ek yapılandırma şunları içerebilir:
- SQL Server Machine Learning Services için güvenlik duvarı yapılandırması
- Sunucu ağ protokollerini etkinleştirme veya devre dışı bırakma
- Sunucusu yapılandırması: uzaktan erişim
- SQLRUserGroup için oturum açma oluşturma
Veritabanında aşağıdaki yapılandırma güncelleştirmelerine ihtiyacınız olabilir:
- Veritabanı kullanıcılarına SQL Server Machine Learning Services ile Python ve R betikleri yürütme izni verme
- Kullanıcılara belirli bir dili yürütme izni verme
Uyarı
Ek yapılandırma gerekip gerekmediği, SQL Server'ı yüklediğiniz güvenlik şemanıza ve kullanıcıların veritabanına bağlanmasını ve dış betikleri çalıştırmasını nasıl beklediğinize bağlıdır.
Önerilen iyileştirmeler
Artık her şey çalıştığına göre, sunucuyu Java Dil Uzantısını destekleyecek şekilde de iyileştirmek isteyebilirsiniz.
Sunucuyu Java Dil Uzantısı için iyileştirme
SQL Server kurulumu için varsayılan ayarlar, veritabanı altyapısı tarafından desteklenen çeşitli hizmetler için sunucunun dengesini iyileştirmeye yöneliktir. Bu hizmetler arasında ayıklama, dönüştürme ve yükleme (ETL) işlemleri, raporlama, denetim ve SQL Server verilerini kullanan uygulamalar yer alabilir. Bu nedenle, varsayılan ayarlar altında dil uzantılarına yönelik kaynakların, özellikle yoğun bellek kullanan işlemlerde bazen kısıtlandığını veya kısıtlandığını fark edebilirsiniz.
Dil uzantıları işlerinin önceliklerinin belirlendiğinden ve uygun şekilde kaynak sağlandığından emin olmak için SQL Server Resource Governor'ı kullanarak bir dış kaynak havuzu yapılandırmanızı öneririz. Ayrıca Veritabanı Altyapısı'na ayrılan bellek miktarını değiştirmek veya SQL Server Launchpad hizmeti altında çalışan hesap sayısını artırmak isteyebilirsiniz.
Dış kaynakları yönetmek üzere bir kaynak havuzu yapılandırmak için bkz. CREATE EXTERNAL RESOURCE POOL (Transact-SQL).
Veritabanı için ayrılan bellek miktarını değiştirmek için bkz . Sunucu belleği yapılandırma seçenekleri.
Standard sürümünü kullanıyorsanız ve Resource Governor'larınız yoksa, sunucu kaynaklarını yönetmeye yardımcı olmak için dinamik yönetim görünümlerini (DMV'ler) ve Genişletilmiş Olayları ve Windows olay izlemesini kullanabilirsiniz.
Sonraki adım
Java geliştiricileri bazı basit örneklerle çalışmaya başlayabilir ve Java'nın SQL Server ile nasıl çalıştığına ilişkin temel bilgileri öğrenebilir. Sonraki adımınız için aşağıdaki bağlantıya bakın: