Aracılığıyla paylaş


Windows SQL Server Machine Learning Hizmetleri'ni (Python ve R) yükleme

Şunun için geçerlidir: SQL Server 2016 (13.x) SQL Server 2017 (14.x) SQL Server 2019 (15.x)

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

Önemli

Bu yönergeler SQL Server 2016 (13.x), SQL Server 2017 (14.x) ve SQL Server 2019 (15.x) için geçerlidir. SQL Server 2022 (16.x) için, Windows'ta SQL Server 2022 Machine Learning Hizmetlerini Yükleme'ye bakın.

Python ve R sürümleri referansı

Aşağıdaki tabloda, her SQL Server sürümüne dahil edilen Python ve R çalışma zamanı sürümleri gösterilmektedir. SQL Server örneğiniz için hangi dil sürümlerinin kullanılabilir olduğunu belirlemek için bu tabloyu kullanın.

SQL Server sürümü Python sürümü R sürümü
SQL Server 2016 (13.x) Yok (yalnızca R) 3.2.2
SQL Server 2017 (14.x) RTM - CU21 3.5.2 3.3.3
SQL Server 2017 (14.x) CU22 ve üzeri 3.5.2 ve 3.7.2 3.3.3 ve 3.5.2
SQL Server 2019 (15.x) 3.7.1 3.5.2
SQL Server 2022 (16.x) 3.10.2 4.2.0

Uyarı

SQL Server 2022 (16.x) ile başlayarak R, Python ve Java çalışma zamanları artık SQL Server Kurulumu ile yüklenmez. Bunun yerine, istediğiniz özel çalışma zamanlarını ve paketleri yükleyin. Daha fazla bilgi için bkz. SQL Server 2022 Machine Learning Services'i Windows üzerinde yükleme.

Desteklenen tüm sürümler hakkında daha fazla bilgi için bkz. SQL Server Machine Learning Hizmetleri nedir?

Önceden yükleme denetim listesi

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

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

  • SQL Server 2017'de bir Always On yük devretme kümesi örneğindeMakine Öğrenimi Hizmetleri'nin yüklenmesi desteklenmez. SQL Server 2019 ve sonraki sürümlerde desteklenir. Kurulum sırasında Machine Learning Hizmetlerini yüklemeniz gerekir ve özellikler yüklendikten sonra mevcut bir yük devretme kümesi örneğine eklenemez.

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

  • Shared Features>Machine Learning Server (Tek Başına) veritabanı örneği çalıştıran bilgisayara yüklemeyin. Tek başına bir sunucu aynı kaynaklar için rekabet eder ve her iki yüklemenin performansını düşürür.

  • Python ve R'nin diğer sürümleriyle yan yana yükleme desteklenir, ancak bunu önermeyiz. SQL Server örneği açık kaynak R ve Anaconda dağıtımlarının kendi 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 çalıştırdığınız dosyalarla 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.

Uyarı

Machine Learning Hizmetleri varsayılan olarak SQL Server Big Data Clusters yüklenir. Büyük Veri Kümesi kullanıyorsanız bu makaledeki adımları izlemeniz gerekmez. Daha fazla bilgi için bkz. Big Data Clusters üzerinde Machine Learning Hizmetleri(Python ve R) kullanma.

Ö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 dış betikleri kullanmasını etkinleştirmeyi ve SQL Server sizin yerinize R ve Python işleri ç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.

Yükleme medyasını alma

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

hangi SQL Server sürümlerinin Machine Learning Hizmetleri ile Python ve R tümleştirmesini desteklediği hakkında daha fazla bilgi için bkz. Editions ve desteklenen SQL Server 2017 özellikleri.

hangi SQL Server sürümlerinin Machine Learning Hizmetleri ile Python ve R tümleştirmesini desteklediği hakkında daha fazla bilgi için bkz. Editions ve desteklenen SQL Server 2019 özellikleri.

Kurulumu çalıştırma

Yerel yüklemeler için, kurulumu yönetici olarak çalıştırmanız gerekir. SQL Server uzak 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 özellikler ekleyin.

     Tek başına SQL Server yükleme oluşturma veya mevcut bir yüklemeye özellik ekleme seçeneğini gösteren ekran görüntüsü.

    Yeni SQL Server bağımsız yüklemeyi kullanma veya mevcut bir kuruluma özellik ekleme seçeneğini gösteren ekran görüntüsü

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

    • Database Engine Services

      R ve Python SQL Server kullanmak için veritabanı altyapısının bir örneğini yüklemeniz gerekir. Varsayılan örneği veya adlandırılmış örneği kullanabilirsiniz.

    • Machine Learning Services (In-Database)

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

    • Database Engine Services

      R veya Python SQL Server kullanmak için veritabanı altyapısının bir örneğini yüklemeniz gerekir. Varsayılan örneği veya adlandırılmış örneği kullanabilirsiniz.

    • Machine Learning Hizmetleri ve Dil Uzantısı

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

    • R

      Microsoft R paketlerini, yorumlayıcıyı ve açık kaynak R'yi eklemek için bu seçeneği belirleyin.

    • Python

      Microsoft Python paketlerini, Python yürütülebilir dosyasını eklemek ve Anaconda dağıtımından kitaplıkları seçmek için bu seçeneği belirleyin. SQL Server sürümünüzün içerdiği belirli Python sürümü için bkz. Python ve R sürüm başvurusu.

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

    R ve Python için özellik seçeneklerini gösteren ekran görüntüsü.

    R ve Python için özellik seçeneklerini belirlemeyi gösteren ekran görüntüsü.

    Uyarı

    Shared Features altındaki Machine Learning Server (Tek Başına) seçeneğini belirlemeyin. Bu seçenek ayrı bir bilgisayarda kullanılmak üzere tasarlanmıştır.

  1. Microsoft R Open'ı Yüklemeye İzin Ver sayfasındaİleriyi> seçin.

    Lisans sözleşmesi aşağıdakileri kapsar:

    • Microsoft R Open.
    • Açık kaynak R temel paketleri ve araçları.
    • Microsoft geliştirme ekibinden geliştirilmiş R paketleri ve bağlantı sağlayıcıları.
  2. Python Yükleme İzni sayfasında, Kabul Et>İleri'yi seçin. Python açık kaynak lisans sözleşmesi, Anaconda ve ilgili araçların yanı sıra Microsoft geliştirme ekibinin bazı yeni Python kitaplıklarını da kapsar.

    Uyarı

    Kullandığınız bilgisayarın İnternet erişimi yoksa, yükleyicileri ayrı olarak indirmek için kurulumu bu noktada duraklatabilirsiniz. Daha fazla bilgi için bkz . İnternet erişimi olmadan makine öğrenmesi bileşenlerini yükleme.

  3. Yüklemeye Hazır sayfasında, bu seçimlerin dahil olduğunu doğrulayın ve yükle'yi seçin:

    • Veritabanı Motoru Hizmetleri
    • Machine Learning Hizmetleri (veritabanında)
    • R, Python veya her ikisi

    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.

  4. Kurulum tamamlandıktan sonra bilgisayarı yeniden başlatmanız istenirse, bunu yapın. Kurulumu tamamladığınızda Yükleme Sihirbazı'ndan gelen iletiyi okumak önemlidir. Daha fazla bilgi için SQL Server Kurulumu günlük dosyalarını görüntüleyin ve okuyun bölümüne bakın.

  1. Microsoft R Open'ı Yüklemeye İzin Ver sayfasındaİleriyi> seçin. Bu lisans sözleşmesi, açık kaynak R temel paketlerinin ve araçlarının dağıtımını içeren Microsoft R Open'ı kapsar. Ayrıca Microsoft geliştirme ekibinin gelişmiş R paketlerini ve bağlantı sağlayıcılarını da içerir.

  2. Python Kurulum Onayı sayfasında, Kabul Et> ve İleri'yi seçin. Python açık kaynak lisans sözleşmesi, Anaconda ve ilgili araçların yanı sıra Microsoft geliştirme ekibinin bazı yeni Python kitaplıklarını da kapsar.

  3. Yüklemeye Hazır sayfasında, bu seçimlerin dahil olduğunu doğrulayın ve yükle'yi seçin:

    • Veritabanı Motoru Hizmetleri
    • Machine Learning Hizmetleri (veritabanında)
    • R, Python veya her ikisi

    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.

  4. Kurulum tamamlandıktan sonra bilgisayarı yeniden başlatmanız istenirse, bunu yapın. Kurulumu tamamladığınızda 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.

Ortam değişkenlerini belirleme

Yalnızca R özellik tümleştirmesi MKL_CBWR için, Intel Matematik Çekirdek Kitaplığı (MKL) hesaplamalarından tutarlı bir çıkış elde etmek için ortam değişkenini ayarlamanız gerekir:

  1. Control Panel'da, System and Security>System>Gelişmiş Sistem Ayarları>Environment Variables öğesini seçin.

  2. Yeni bir kullanıcı veya sistem değişkeni oluşturun:

    • Değişken adını olarak MKL_CBWRayarlayın.
    • Değişken değerini olarak AUTOayarlayın.

Bu adım sunucunun yeniden başlatılmasını gerektirir. Betik yürütmeyi etkinleştirmek üzereyseniz, tüm yapılandırma işleri tamamlanıncaya kadar yeniden başlatmayı erteleyebilirsiniz.

Betik yürütmeyi etkinleştirme

  1. SQL Server Machine Learning Hizmetleri'ni yüklediğiniz örneğe bağlanmak için SQL Server Management Studio (SSMS) kullanın.

  2. Yeni Sorgu'yu seçerek bir sorgu penceresi açın ve aşağıdaki komutu çalıştırın:

    EXEC sp_configure
    
  3. özelliğinin external scripts enabled değeri bu noktada olmalıdır 0 . Özellik varsayılan olarak kapalıdır. R veya Python betiklerini çalıştırabilmek için etkinleştirmek amacıyla aşağıdaki ifadeyi çalıştırın:

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

    R dili için özelliği zaten etkinleştirdiyseniz Python için RECONFIGURE ikinci kez çalıştırmanız gerekmez. Temel genişletilebilirlik platformu iki dili de destekler.

Hizmeti yeniden başlatın

Yükleme tamamlandığında 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.

Şu yöntemlerden herhangi birini kullanarak hizmeti yeniden başlatabilirsiniz:

  • SSMS'de Object Explorer örneği için Restart komutuna sağ tıklayın
  • Control Panel'daki Services Microsoft Yönetim Konsolu (MMC) öğesi
  • SQL Server Configuration Manager

Yüklemeyi doğrulama

Dış betikleri 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'da yeni bir sorgu penceresi açın ve aşağıdaki komutu çalıştırın:

    EXECUTE sp_configure  'external scripts enabled'
    

    Ardından, run_value, 1 olarak ayarlanır.

  2. Services denetim masası öğesini veya SQL Server Configuration Manager açın ve SQL Server Launchpad hizmeti çalıştığını doğrulayın. R veya Python yüklü olan her veritabanı altyapısı örneği için bir hizmetiniz olmalıdır. Hizmet hakkında daha fazla bilgi için SQL Server Machine Learning Services'te Genişletilebilirlik mimarisi bölümüne bakın.

  3. Launchpad çalışıyorsa, dış betik çalışma zamanlarının SQL Server ile iletişim kurabildiğini doğrulamak için basit Python ve R betikleri çalıştırabilirsiniz.

    SQL Server Management Studio'da yeni bir Query penceresi açın ve aşağıdaki gibi bir betik çalıştırın:

    • R için:

      EXEC sp_execute_external_script  @language =N'R',
      @script=N'
      OutputDataSet <- InputDataSet;
      ',
      @input_data_1 =N'SELECT 1 AS hello'
      WITH RESULT SETS (([hello] int not null));
      GO
      
    • Python için:

      EXEC sp_execute_external_script  @language =N'Python',
      @script=N'
      OutputDataSet = InputDataSet;
      ',
      @input_data_1 =N'SELECT 1 AS hello'
      WITH RESULT SETS (([hello] int not null));
      GO
      

    Dış betik çalışma zamanı ilk kez yüklendiğinde, betiğin çalışması biraz zaman alabilir. Sonuçlar şuna benzer olmalıdır:

    merhaba
    1

Uyarı

Python betiğinde kullanılan sütunlar veya başlıklar otomatik olarak döndürülmez. Çıktınıza sütun adları eklemek için dönüş veri kümesinin şemasını belirtmeniz gerekir. Bunu yapmak için saklı yordamın WITH RESULTS parametresini kullanın, sütunları adlandırın ve SQL veri türünü belirtin.

Örneğin, rastgele bir sütun adı oluşturmak için aşağıdaki satırı ekleyebilirsiniz: WITH RESULT SETS ((Col1 AS int)).

Güncellemeleri Uygula

Mevcut yükleme

Mevcut bir SQL Server örneğine Machine Learning Hizmetleri eklediyseniz ve daha önce toplu güncelleştirme (CU) uyguladıysanız, veritabanı altyapınızın sürümleri ve Machine Learning Hizmetleri özelliği farklı olabilir. Bu fark, farklı sürümlere sahip olduğundan launchpad.exe beklenmeyen davranışlara sqlservr.exe veya hatalara neden olabilir.

Machine Learning Hizmetleri veritabanı altyapınızla aynı sürüme getirmek için şu adımları izleyin:

  1. Veritabanı altyapısı için sahip olduğunuz toplu güncelleştirmeyi belirleyin. Şu T-SQL deyimini çalıştırın:

    SELECT @@VERSION
    

    İşte SQL Server 2019 CU 8'den örnek bir çıkış:

    Microsoft SQL Server 2019 (RTM-CU8-GDR) (KB4583459) - 15.0.4083.2 (X64)   Nov  2 2020 18:35:09   Copyright (C) 2019 Microsoft Corporation  Developer Edition (64-bit) on Windows 10 Enterprise 10.0 (X64) (Build 19042: ) (Hypervisor)
    

    Daha fazla bilgi için bkz. SQL Server ve bileşenlerinin sürümünü, sürümünü ve güncelleştirme düzeyini belirleme.

  2. Gerekirse, veritabanı altyapısı için yüklediğiniz toplu güncelleştirmeyi indirin.

  3. Toplu güncelleştirmenin yüklemesini çalıştırın ve Machine Learning Hizmetleri için yeniden yüklemek üzere yönergeleri izleyin. Machine Learning Hizmetlerinin yüklü olduğu mevcut örneği seçin. Yükseltme durumu, Özellik Seçimi sayfasında Tamamlanmamış Olarak Yüklendi olarak gösterilir.

  4. İleri'yi seçin ve yüklemeye devam edin.

Yeni yükleme

SQL Server veritabanı altyapısının yeni bir yüklemesiyle Machine Learning Hizmetleri yüklerseniz, en son toplu güncelleştirmeyi hem veritabanı altyapısına hem de machine learning bileşenlerine uygulamanızı öneririz.

İnternet'e bağlı cihazlarda toplu güncelleştirmeler genellikle Windows Update aracılığıyla uygulanır. Ancak, denetimli güncelleştirmeler için aşağıdaki adımları da kullanabilirsiniz. Veritabanı altyapısı için güncelleştirmeyi uyguladığınızda kurulum, aynı örneğe yüklediğiniz tüm Python veya R özellikleri için toplu güncelleştirmeleri çeker.

Bağlantısı kesilmiş sunucular ek adımlar gerektirir. Daha fazla bilgi için bkz. İnternet erişimi > olmayan bilgisayarlara yükleme Toplu güncelleştirmeleri uygulama.

  1. Önceden yüklenmiş bir temel örnekle başlayın: SQL Server ilk sürüm.

  2. Microsoft SQL Server güncelleştirmeleri listesine gidin.

  3. En son toplu güncelleştirmeyi seçin. Yürütülebilir dosya otomatik olarak indirilir ve ayıklanır.

  4. Kurulum'u çalıştırın ve lisans koşullarını kabul edin.

  5. Özellik seçimi sayfasında, toplu güncelleştirmelerin uygulandığı özellikleri gözden geçirin. Makine öğrenmesi özellikleri dahil olmak üzere geçerli örnek için her özelliğin yüklü olduğunu görmeniz gerekir. Kurulum, tüm özellikleri güncelleştirmek için gereken CAB dosyalarını indirir.

    Yüklü özelliklerin özetini gösteren ekran görüntüsü.

  6. Sihirbaz aracılığıyla devam edin. R ve Python dağıtımları için lisans koşullarını kabul edin.

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ı çalıştırabilirsiniz.

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 SQL Server 2019'da yalıtım mekanizması değişmiştir. Bu mekanizma SQLRUserGroup, güvenlik duvarı kuralları, dosya izni ve zımni kimlik doğrulamasını etkiler. Daha fazla bilgi için Machine Learning Hizmetleri için İzolasyon Değişiklikleri'ne bakın.

Veritabanında yapılandırma güncelleştirmelerine ihtiyacınız olabilir. Daha fazla bilgi için bakınız: SQL Server Machine Learning Services’de Kullanıcılara Yetki Verme.

Uyarı

Ek yapılandırmanın gerekli olup olmadığı, güvenlik şemanıza, SQL Server yüklediğiniz yere 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ışıyor olduğuna göre, sunucuyu makine öğrenmesini destekleyecek şekilde iyileştirmek veya önceden eğitilmiş bir makine öğrenmesi modeli yüklemek isteyebilirsiniz.

Daha fazla çalışan hesabı ekleme

Birçok kullanıcının betikleri eşzamanlı olarak çalıştırmasını bekliyorsanız, Launchpad hizmetine atanan çalışan hesaplarının sayısını artırabilirsiniz. Daha fazla bilgi için bkz. SQL Server Machine Learning Services'da dış betiklerin eşzamanlı yürütülmesini ölçeklendirme.

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

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

Varsayılan ayarlarda, özellikle yoğun bellek kullanan işlemlerde makine öğrenmesi kaynakları bazen kısıtlanır veya sınırlandırılır.

Makine öğrenmesi işlerinin önceliklerinin belirlendiğinden ve uygun şekilde kaynak sağlandığından emin olmak için dış kaynak havuzunu yapılandırmak için SQL Server Resource Governor kullanmanı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 ancak 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 izleme 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 yükleyen açık kaynak Python ve R sürümüyle uyumlu üçüncü taraf paketleri.

SQL Server kullanmak istediğiniz paketler, örneğin kullandığı varsayılan kitaplığa yüklenmelidir. Bilgisayarda 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ı düzeyinde paylaşacak şekilde ayarlayabilir veya kullanıcıların kendi paketlerini yüklemesini sağlamak için veritabanı rollerini yapılandırabilirsiniz. Daha fazla bilgi için bkz. Yeni R paketleri yükleme.