Aracılığıyla paylaş


Windows'a SQL Server Java Dil Uzantısı yükleme

Ş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:

  1. 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
  2. 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.

  • En son ücretsiz sürüm.

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.

  1. SQL Server için kurulum sihirbazını başlatın.

  2. Yükleme sekmesinde Yeni SQL Server tek başına yükleme'yi seçin veya var olan bir yüklemeye özellik ekleyin.

  1. Ö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.

    Dil Uzantıları için Özellik seçeneklerinin ekran görüntüsü.

    1. Varsayılan Java çalışma zamanını yüklemek için önceki adımda Java'yı seçerseniz Java Yükleme Konumu sayfası görüntülenir.

      Bu yüklemeyle birlikte gelen varsayılan Java'yi yükleyin. Bu bilgisayarda yüklü olan farklı bir sürümün konumunu belirtin seçeneği Dil Uzantıları için kullanılmaz.

      Java yükleme konumunun ekran görüntüsü.

  1. Ö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.

    Örnek özelliklerinin ekran görüntüsü.

  1. 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\Log altındaki klasörün konumunu not edin. Kurulum tamamlandığında, Özet dosyasında yüklü bileşenleri gözden geçirebilirsiniz.

  2. 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.

  1. 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öğesini jvm.dll yüklemeyi dener.

  1. 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öğesini jvm.dll yüklemeyi dener.

  1. Denetim Masası'nda Sistem ve Güvenlik'i açın, Sistem'i açın ve Gelişmiş Sistem Özellikleri'ni seçin.

  2. Ortam Değişkenleri'ne tıklayın.

  3. JDK/JRE yolunun değeriyle için JRE_HOME yeni bir sistem değişkeni oluşturun (1. adımda bulunur).

  1. Launchpad'i yeniden başlatın.

    1. SQL Server Yapılandırma Yöneticisi açın.

    2. SQL Server Hizmetleri'nin altında SQL Server Başlatma Çubuğu'nu sağ tıklatın ve Yeniden Başlat'ı seçin.

  1. 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.

    1. java-lang-extension-windows-release.zip DOSYAYı SQL Server GitHub deposu için Java dil uzantısından indirin. En son Windows java-lang-extension-windows.zip dosyası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 derlemeniz java-lang-extension gerekebilir.

    2. 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.

    3. İ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"}');
    GO
    
  2. Launchpad'i yeniden başlatın.

    1. SQL Server Yapılandırma Yöneticisi açın.

    2. 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.

  1. 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 /T
    

    JDK/JRE'yi Windows'daki program dosyaları altındaki varsayılan klasöre yüklediyseniz bu adımı atlayabilirsiniz.

  2. 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 PACKAGES izin verir. Alternatif olarak, Windows'un İngilizce sürümünde kullanabilirsiniz icacls "<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

  1. 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.

  2. 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;
    GO
    

    Machine 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.

  1. 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_value artık 1 olarak ayarlanmıştır.

  2. 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:

Veritabanında aşağıdaki yapılandırma güncelleştirmelerine ihtiyacınız olabilir:

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.

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: