Aracılığıyla paylaş


Windows'a SQL Server 2022 Machine Learning Services (Python ve R) yükleme

Şunlar için geçerlidir: SQL Server 2022 (16.x)

Bu makalede Windows'da Python ve R ile SQL Server Machine Learning Services'ın nasıl yükleneceği gösterilmektedir. Veritabanında Python ve R betiklerini çalıştırmak için Machine Learning Services'i kullanabilirsiniz.

Uyarı

Bu yönergeler Windows'da SQL Server 2022'ye (16.x) özeldir. SQL Server 2016 (13.x), SQL Server 2017 (14.x) veya SQL Server 2019 (15.x) için Windows'a SQL Server Machine Learning Services yüklemek için bkz. Windows'a SQL Server Machine Learning Services (Python ve R) yükleme.

Linux için bkz. Linux'a SQL Server 2019 Machine Learning Services (Python ve R) yükleme.

Önceden yükleme denetim listesi

  • Veritabanı motoru örneği gereklidir. Yalnızca Python veya R özelliklerini yükleyemezsiniz, ancak bunları mevcut örneğe artımlı olarak ekleyebilirsiniz.

  • İş sürekliliği için Always On kullanılabilirlik grupları Machine Learning Services için desteklenir. Machine Learning Hizmetleri'ni yükleyin ve her düğümde paketleri yapılandırın.

  • Machine Learning Hizmetleri'nin yüklenmesi, SQL Server 2019 ve sonraki sürümlerde Always On yük devretme kümelerinde de desteklenir.

  • Machine Learning Services'i bir etki alanı denetleyicisine yüklemeyin. Kurulumun Machine Learning Services bölümü başarısız olur.

  • Python ve R'nin diğer sürümleriyle yan yana yükleme desteklenir, ancak bunu önermeyiz. SQL Server örneği kendi açık kaynak R ve Anaconda dağıtım kopyalarını kullandığından desteklenir. SQL Server dışındaki bir bilgisayarda Python ve R kullanan kodu çalıştırmak sorunlara yol açabileceğinden bunu önermiyoruz:

    • Farklı bir kitaplık ve farklı yürütülebilir dosyalar kullanmak, SQL Server'da çalıştırdığınızla tutarsız sonuçlar oluşturur.
    • SQL Server, dış kitaplıklarda çalışan R ve Python betiklerini yönetemez ve kaynak çekişmesi sağlar.

Önemli

Kurulumu tamamladıktan sonra, bu makalede açıklanan yapılandırma sonrası adımları tamamladığınızdan emin olun. Bu adımlar, SQL Server'ın dış betikleri kullanmasını etkinleştirmeyi içerebilir. Yapılandırma değişiklikleri genellikle örneğin yeniden başlatılmasını veya Launchpad hizmetinin yeniden başlatılmasını gerektirir.

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ırma

Yerel yüklemeler için, kurulumu 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.

Kurulum sırasında herhangi bir yükleme hatasıyla karşılaşırsanız, Kurulum Bootstrap günlük klasöründeki özet günlüğü denetleyin (örneğin, %ProgramFiles%\Microsoft SQL Server\160\Setup Bootstrap\Log\Summary.txt).

  1. SQL Server 2022 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.

  3. Özellik Seçimi sayfasında şu seçenekleri belirleyin:

    • Veritabanı Altyapısı Hizmetleri

      R veya Python'ı 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.

    • Makine Öğrenimi Hizmetleri ve Diller

      Bu seçenek, R ve Python betik yürütmesini destekleyen veritabanı hizmetlerini yükler.

    Bu ekran görüntüsünde, SQL Server 2022 (16.x) Machine Learning Services'ı ne zaman yüklediğinizi denetlemek için en düşük örnek özellikleri gösterilir.

    Veritabanı Altyapısı Hizmetleri ve Makine Öğrenmesi Hizmetleri ve Dil'in yanındaki onay kutularını gösteren özellik seçiminin ekran görüntüsü.

Çalışma zamanlarını ve paketleri yükleme

SQL Server 2022 (16.x) sürümünden başlayarak R, Python ve Java çalışma zamanları artık SQL Server kurulumuyla birlikte gönderilmez veya yüklenmez. Bunun yerine, özel çalışma zamanlarınızı ve paketlerinizi yüklemek için aşağıdaki bölümleri kullanın.

R desteği ayarlama

R çalışma zamanını yükleme

  1. Windows için R 4.2'nin en son sürümünü indirin ve yükleyin.

  2. CompatibilityAPI ve RevoScaleR için bağımlılıkları yükleyin. Yüklediğiniz sürümün R terminalinden aşağıdaki komutları çalıştırın:

    # R Terminal
    install.packages("iterators")
    install.packages("foreach")
    install.packages("R6")
    install.packages("jsonlite")
    
  3. CompatibilityAPI ve RevoScaleR paketlerinin en son sürümünü indirin ve yükleyin:

    install.packages("https://aka.ms/sqlml/r4.2/windows/CompatibilityAPI_1.1.0.zip", repos=NULL)
    
    install.packages("https://aka.ms/sqlml/r4.2/windows/RevoScaleR_10.0.1.zip", repos=NULL)
    

SQL Server ile R çalışma zamanını yapılandırma

  1. Yüklü R çalışma zamanını SQL Server ile yapılandırın. Komut satırı yardımcı programını kullanarak RegisterRext.exe varsayılan sürümü değiştirebilirsiniz. Yardımcı programı, yüklemeye bağlı olan bir R uygulaması klasöründedir. Genellikle içinde bulunur %ProgramFiles%\R\R-4.2.3\library\RevoScaleR\rxLibs\x64.

    Yüklü R çalışma zamanını yükleme klasörü konumundan RegisterRext.exeyapılandırmak için aşağıdaki betiği kullanabilirsiniz. SQL Server'ın varsayılan bir örneği için örnek adı MSSQLSERVER, veya adlandırılmış bir SQL Server örneği için örnek adıdır.

    .\RegisterRext.exe /configure /rhome:"%ProgramFiles%\R\R-4.2.3" /instance:"MSSQLSERVER"
    

    Normalde ".\SQLEXPRESS" veya "MACHINENAME\SQLEXPRESS" olarak adlandıracağınız adlandırılmış bir SQL Server örneğini yapılandırıyorsanız, yalnızca örnek adını ekleyin. Örneğin:

    .\RegisterRext.exe /configure /rhome:"%ProgramFiles%\R\R-4.2.3" /instance:"SQLEXPRESS"
    
  2. SQL Server Machine Learning Services'ı yüklediğiniz örneğe bağlanmak için SQL Server Management Studio'yu (SSMS) kullanın. Yeni Sorgu'yu seçerek bir sorgu penceresi açın ve ardından dış betik özelliğini etkinleştirmek için aşağıdaki komutu çalıştırın:

    EXEC sp_configure  'external scripts enabled', 1;
    RECONFIGURE WITH OVERRIDE
    

    Özelliği başka bir dil için zaten etkinleştirdiyseniz R için ikinci kez çalıştırmanız RECONFIGURE gerekmez. Temel alınan genişletilebilirlik platformu her iki dili de destekler. Doğrulamak için, aşağıdaki komutun 1 ve config_value için run_value döndürdüğünü onaylayın.

    EXEC sp_configure  'external scripts enabled';
    
  3. SQL Server hizmetini yeniden başlatın. Hizmetin yeniden başlatılması, ilgili SQL Server Launchpad hizmetini de otomatik olarak yeniden başlatır.

    SSMS Nesne Gezgini'ndeki örnek için Yeniden Başlat komutuna sağ tıklayarak veya Denetim Masası'ndaki Hizmetler öğesini veya SQL Server Configuration Manager'ı kullanarak hizmeti yeniden başlatabilirsiniz.

  4. R sürümünü döndürmek için basit bir T-SQL komutu çalıştırarak yüklemeyi doğrulayın:

    EXEC sp_execute_external_script @script=N'print(R.version)',@language=N'R';
    GO
    

Python desteği ayarlama

Python çalışma zamanını yükleme

  1. Windows için Python 3.10'un en son sürümünü indirin. Aşağıdaki seçenekleri kullanarak yükleyin:

    1. Python Kurulum uygulamasını açın ve Yüklemeyi özelleştir'i seçin.

    2. Tüm kullanıcılar için yükle (önerilen) onay kutusunun seçili olduğunu doğrulayın.

    3. İsteğe Bağlı Özellikler için, istediğiniz özellikleri seçin (veya tümünü seçin).

    4. Gelişmiş Seçenekler sayfasında Tüm kullanıcılar için yükle'yi seçin, diğer varsayılan seçenekleri kabul edin ve ardından Yükle'yi seçin.

      Tek bir kullanıcıya özgü olmayan tüm kullanıcıların erişebileceği (örneğin C:\Program Files\Python310) bir Python yükleme yolu kullanmanızı öneririz.

  2. Paketin en son sürümünü revoscalepy ve bağımlılıklarını yeni bir yükseltilmiş komut isteminden indirin ve yükleyin:

    cd "C:\Program Files\Python310\"
    python -m pip install -t "C:\Program Files\Python310\Lib\site-packages" dill numpy==1.22.0 pandas patsy python-dateutil packaging
    python -m pip install -t "C:\Program Files\Python310\Lib\site-packages" https://aka.ms/sqlml/python3.10/windows/revoscalepy-10.0.1-py3-none-any.whl
    

    SQL Server Launchpad Hizmeti'ne ve SID S-1-15-2-1'e (ALL_APPLICATION_PACKAGES) yüklü kitaplıklara OKUMA ve YÜRÜTME erişimi vermek için aşağıdaki icacls komutlarını çalıştırın. Launchpad hizmetiyle ilişkili hizmet hesabına izin vermeniz gerekir, SQL Server Configuration Manager'ı denetleyin.

    icacls "C:\Program Files\Python310\Lib\site-packages" /grant "NT Service\MSSQLLAUNCHPAD":(OI)(CI)RX /T
    icacls "C:\Program Files\Python310\Lib\site-packages" /grant *S-1-15-2-1:(OI)(CI)RX /T
    

    SQL Server'ı adlandırılmış örnek olarak yüklediyseniz, hizmet hesabının ortasında bir $ olabilir, örneğin:

    icacls "C:\Program Files\Python310\Lib\site-packages" /grant "NT Service\MSSQLLAUNCHPAD$SQLEXPRESS":(OI)(CI)RX /T
    icacls "C:\Program Files\Python310\Lib\site-packages" /grant *S-1-15-2-1:(OI)(CI)RX /T
    

SQL Server ile Python çalışma zamanını yapılandırma

  1. Yüklenmiş Python çalışma ortamını SQL Server ile yapılandırın. Komut satırı yardımcı programını kullanarak RegisterRext.exe varsayılan sürümü değiştirebilirsiniz. Yardımcı programı özel yükleme konumundadır (örneğin, C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs).

    Yükseltilmiş bir komut isteminden, yükleme klasörü konumundan RegisterRext.exeyüklü Python çalışma zamanını yapılandırmak için aşağıdaki betiği kullanabilirsiniz. SQL Server'ın varsayılan bir örneği için örnek adı MSSQLSERVER, veya adlandırılmış bir SQL Server örneği için örnek adıdır.

    cd "C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs"
    .\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Python310" /instance:"MSSQLSERVER"
    

    Normalde ".\SQLEXPRESS" veya "MACHINENAME\SQLEXPRESS" olarak adlandıracağınız adlandırılmış bir SQL Server örneğini yapılandırıyorsanız, yalnızca örnek adını ekleyin. Örneğin:

    cd "C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs"
    .\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Python310" /instance:"SQLEXPRESS"
    
  2. SQL Server Machine Learning Services'ı yüklediğiniz örneğe bağlanmak için SQL Server Management Studio'yu (SSMS) kullanın. Yeni Sorgu'yu seçerek bir sorgu penceresi açın ve ardından dış betik özelliğini etkinleştirmek için aşağıdaki komutu çalıştırın:

    EXEC sp_configure  'external scripts enabled', 1;
    RECONFIGURE WITH OVERRIDE
    

    Özelliği başka bir dil için zaten etkinleştirdiyseniz R için ikinci kez çalıştırmanız RECONFIGURE gerekmez. Temel alınan genişletilebilirlik platformu her iki dili de destekler. Doğrulamak için, aşağıdaki komutun 1 ve config_value için run_value döndürdüğünü onaylayın.

    EXEC sp_configure  'external scripts enabled';
    
  3. SQL Server hizmetini yeniden başlatın. Hizmetin yeniden başlatılması, ilgili SQL Server Launchpad hizmetini de otomatik olarak yeniden başlatır.

    SSMS Nesne Gezgini'ndeki örnek için Yeniden Başlat komutuna sağ tıklayarak veya Denetim Masası'ndaki Hizmetler öğesini veya SQL Server Configuration Manager'ı kullanarak hizmeti yeniden başlatabilirsiniz.

  4. Python sürümünü döndürmek için basit bir komut çalıştırarak yüklemeyi doğrulayın:

    EXEC sp_execute_external_script @script=N'import sys;print(sys.version)',@language=N'Python'
    GO
    

Java yükleme

Java yükleme ve kullanma hakkında bilgi için bkz. Windows'a SQL Server Java Dil Uzantısı yükleme.

Ek yapılandırma

Dış betik doğrulama adımı başarılı olursa SQL Server Management Studio, Visual Studio Code veya sunucuya T-SQL deyimleri gönderebilen diğer istemcilerden R veya Python komutlarını çalıştırabilirsiniz.

Ek yapılandırmanın gerekli olup olmadığı, 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.

Komutu çalıştırdığınızda bir hata alırsanız, hizmette veya veritabanında ek yapılandırmalar yapmanız gerekebilir. Örnek düzeyinde ek yapılandırmalar şunları içerebilir:

Windows'da SQL Server 2019'dan başlayarak yalıtım mekanizması değişti. Bu mekanizma SQLRUserGroup, güvenlik duvarı kuralları, dosya izni ve zımni kimlik doğrulamasını etkiler. Daha fazla bilgi için bkz . Windows üzerinde SQL Server: Machine Learning Services için yalıtım değişiklikleri.

Veritabanında yapılandırma güncelleştirmelerine ihtiyacınız olabilir. Daha fazla bilgi için bkz. Veritabanı kullanıcılarına SQL Server Machine Learning Services ile Python ve R betikleri yürütme izni verme.

Önerilen iyileştirmeler

Artık her şey çalışıyor olduğuna göre, sunucuyu makine öğrenmesini destekleyecek şekilde iyileştirmek veya önceden eğitilmiş bir makine öğrenmesi modeli yüklemek isteyebilirsiniz.

Sunucuyu betik yürütme için iyileştirme

SQL Server kurulumu için varsayılan ayarlar, diğer çeşitli hizmetler ve uygulamalar için sunucunun dengesini iyileştirmeye yöneliktir.

Varsayılan ayarlar altında, makine öğrenmesi kaynakları özellikle yoğun bellek kullanan işlemlerde bazen kısıtlanır veya sınırlanır.

Makine öğrenmesi 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, SQL Server 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 Edition kullanıyorsanız ve Resource Governor'a sahip değilseniz, sunucu kaynaklarını yönetmeye yardımcı olmak için dinamik yönetim görünümlerini, SQL Server Genişletilmiş Olayları ve Windows olay izlemesini kullanabilirsiniz.

Ek Python ve R paketleri yükleme

SQL Server için oluşturduğunuz Python ve R çözümleri şu çağrıyı yapabilir:

  • Temel işlevler.
  • SQL Server ile yüklenen özel paketlerden işlevler.
  • SQL Server'ın yüklemiş olduğu açık kaynak Python ve R sürümüyle uyumlu üçüncü taraf paketleri.

SQL Server'dan kullanmak istediğiniz paketler, örneğin kullandığı varsayılan kitaplığa yüklenmelidir. Bilgisayara ayrı bir Python veya R yüklemeniz varsa veya kullanıcı kitaplıklarına paketler yüklediyseniz, bu paketleri T-SQL'den kullanamazsınız.

Ek paketleri yüklemek ve yönetmek için kullanıcı gruplarını, paketleri veritabanı başına düzeyinde paylaşacak şekilde ayarlayabilirsiniz. Veya kullanıcıların kendi paketlerini yüklemesini sağlamak için veritabanı rollerini yapılandırabilirsiniz. Daha fazla bilgi için bkz. Sqlmlutils ile Python paketlerini yükleme ve sqlmlutils ile R paketleri yükleme.

Python ve R çalışma zamanı için tek başına RevoScale paketleri

RevoScale paketleri, Python ve R çalışma zamanları ile tek başına paket olarak da desteklenir. Tek başına senaryo için Python veya R çalışma zamanı ayarlamak için sırasıyla Python çalışma zamanını yükleme ve R çalışma zamanı yükleme bölümlerindeki yönergeleri izleyin.