Aracılığıyla paylaş


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

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

Bu makalede Windows'a 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.

Ö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 bkz. Windows'a SQL Server 2022 Machine Learning Services yükleme.

Ö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 Services için desteklenir. Machine Learning Hizmetleri'ni yükleyin ve her düğümde paketleri yapılandırın.

  • Sql Server 2017'de Always On yük devretme kümesi örneğinde Machine Learning Services'ın yüklenmesi desteklenmez. SQL Server 2019 ve sonraki sürümlerde desteklenir. Machine Learning Services'i kurulum sırasında yüklemeniz gerekmekte ve yüklendikten sonra mevcut bir yük devretme kümesi örneğine hiçbir özellik eklenememektedir.

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

  • Paylaşılan Özellikler>Machine Learning Sunucusu'nu (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 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.

Uyarı

Machine Learning Services varsayılan olarak SQL Server Büyük Veri Kümelerine yüklenir. Büyük Veri Kümesi kullanıyorsanız bu makaledeki adımları izlemeniz gerekmez. Daha fazla bilgi için bkz. Büyük Veri Kümelerinde Machine Learning Services'i (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'ın dış betikleri kullanmasını etkinleştirmeyi ve SQL Server'ın R ve Python işlerini sizin yerinize ç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'ı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.

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

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

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.

  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.

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

    Yeni bir SQL Server tek başına yüklemesini kullanma veya var olan bir yüklemeye özellik ekleme seçeneğini gösteren ekran görüntüsü.

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

    • Veritabanı Altyapısı Hizmetleri

      R ve Python'ı SQL Server ile 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.

    • 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 ö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 3.5 yürütülebilir dosyasını eklemek ve Anaconda dağıtımından kitaplıkları seçmek için bu seçeneği belirleyin.

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

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

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

    Uyarı

    Paylaşılan Özellikler'in altında Machine Learning Sunucusu (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üklemeye İzin Ver sayfasındaİleriyi> 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ı Altyapısı Hizmetleri
    • Makine Öğrenimi Hizmetleri (veritabanı içi)
    • 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.

  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'ı Yüklemeye İzin Ver sayfasındaİleriyi> 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ı Altyapısı Hizmetleri
    • Makine Öğrenimi Hizmetleri (veritabanı içi)
    • 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. Denetim Masası'nda Sistem ve Güvenlik>Sistemi>Gelişmiş Sistem Ayarları>Ortam Değişkenleri'ni 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 Services'ı yüklediğiniz örneğe bağlanmak için SQL Server Management Studio'yu (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 özelliği etkinleştirin ve ardından aşağıdaki deyimi çalıştırın.

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

    R dili özelliğini zaten etkinleştirdiyseniz Python için ikinci kez çalıştırmanız RECONFIGURE 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 Nesne Gezgini'ndeki örnek için Yeniden Başlat komutuna sağ tıklayın
  • Denetim Masası'ndaki Hizmetler 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. Hizmetler denetim masası öğesini veya SQL Server Configuration Manager'ı açın ve SQL Server Launchpad hizmetinin çalıştığını doğrulayın. R veya Python yüklü her veritabanı altyapısı örneği için bir hizmetiniz olmalıdır. Hizmet hakkında daha fazla bilgi için bkz. SQL Server Machine Learning Services'da genişletilebilirlik mimarisi.

  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 Sorgu penceresi açın ve şöyle 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

Machine Learning Services'i mevcut bir SQL Server örneğine eklediyseniz ve daha önce toplu güncelleştirme (CU) uyguladıysanız, veritabanı altyapınızın sürümleri ve Machine Learning Services ö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'ni 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
    

    SQL Server 2019 CU 8'den örnek bir çıktı aşağıda verilmişti:

    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'ın ve bileşenlerinin sürüm, sürüm 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 Services için yükleme yönergelerini yeniden izleyin. Machine Learning Services'ın 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

Machine Learning Services'i SQL Server veritabanı altyapısının yeni bir yüklemesiyle yüklerseniz, hem veritabanı altyapısına hem de makine öğrenmesi bileşenlerine en son toplu güncelleştirmeyi 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 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ını ç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 üzerinde SQL Server 2019'da 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 Machine Learning Services için yalıtım değişiklikleri bölümüne bakın.

Veritabanında yapılandırma güncelleştirmelerine ihtiyacınız olabilir. Daha fazla bilgi için bkz. Kullanıcılara SQL Server Machine Learning Services için izin verme.

Uyarı

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.

Ö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 hizmet 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 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ı 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 . Python paketlerini yükleme ve Yeni R paketleri yükleme.