Aracılığıyla paylaş


SQL Server Machine Learning Services'da bağlama ile Python ve R çalışma zamanını yükseltme

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

Önemli

Machine Learning Server (eski adıyla R Server) desteği 1 Temmuz 2022'de sona erdi. Daha fazla bilgi için bkz. Machine Learning Server'a neler oluyor?

Bu makalede SQL Server 2016 R Services veya SQL Server 2017Machine Learning Services'da R veya Python çalışma zamanlarını yükseltmek için bağlama olarak adlandırılan yükleme işleminin nasıl kullanılacağı açıklanmaktadır. Microsoft Machine Learning Server'abağlanarakPython ve R'nin daha yeni sürümlerini alabilirsiniz.

Önemli

Bu makalede R ve Python çalışma zamanlarını yükseltmek için bağlama olarak adlandırılan eski bir yöntem açıklanmaktadır. SQL Server 2016 Services Pack (SP) 2 için Toplu Güncelleştirme (CU) 14 veya üzerini veya SQL Server 2017 için Toplu Güncelleştirme (CU) 22 veya üzerini yüklediyseniz, bunun yerine varsayılan R veya Python dil çalışma zamanını daha sonraki bir sürüme nasıl değiştirdiğinize bakın.

Bağlama nedir?

Bağlama, R_SERVICES ve PYTHON_SERVICES klasörlerinizin içeriğini Microsoft Machine Learning Server'dan daha yeni yürütülebilir dosyalar, kitaplıklar ve araçlarla değiştiren bir yükleme işlemidir.

Hizmet modeline entegre edilen yüklenen bileşenler değişti. Hizmet güncelleştirmeleri, Modern Yaşam Döngüsü'nde "Microsoft R Server & Machine Learning Sunucusu" için destek Zaman Çizelgesi ile eşleşiyor.

Bileşen sürümleri ve hizmet güncelleştirmeleri dışında bağlama, yüklemenizin temellerini değiştirmez:

  • Python ve R tümleştirmesi hala veritabanı altyapısı örneğinin bir parçasıdır.
  • Lisanslama değişmez (bağlamayla ilişkili ek maliyet yoktur).
  • SQL Server destek ilkeleri veritabanı altyapısı için hala etkindir.

Bu makalenin geri kalanında bağlama mekanizması ve SQL Server'ın her sürümü için nasıl çalıştığı açıklanmaktadır.

Uyarı

Bağlama yalnızca SQL Server örneklerine bağlı olan veritabanı içi örnekler için geçerlidir. Bu durumda tek başına yükleme için bağlama gerekli değildir.

SQL Server 2016 bağlama konuları

SQL Server 2016 R Services müşterileri için bağlama şunları sağlar:

  • R paketleri güncelleştirildi.
  • Yeni paketler özgün yüklemenin (MicrosoftML) parçası değil
  • Yaklaşım analizi ve görüntü algılama için önceden eğitilmiş makine öğrenmesi modelleri .

Tüm bağlamalar , Microsoft Machine Learning Server'ın her yeni ana ve ikincil sürümünde yenilenebilir.

Sürüm haritası

Aşağıdaki tablolar sürüm eşlemeleridir. Her harita, sürümler arasında paket sürümlerini gösterir. Microsoft Machine Learning Server'a bağlandığınızda yükseltme yollarını gözden geçirebilirsiniz (önceki adıyla R Server, Machine Learning Server 9.2.1'de başlayan Python desteği eklemeden önce).

Bağlama, R veya Anaconda'nın en son sürümünü garanti etmez. Microsoft Machine Learning Sunucusu'na bağlandığınızda, R veya Python sürümünü Kurulum aracılığıyla yüklersiniz; bu, web'de kullanılabilen en son sürüm olmayabilir.

SQL Server 2016 R Hizmetleri

Bileşen İlk Yayın R Sunucusu 9.0.1 R Sunucusu 9.1 Makine Öğrenimi Sunucusu 9.2.1 Makine Öğrenimi Sunucusu 9.3 Makine Öğrenimi Sunucusu 9.4.7
R üzerinde Microsoft R Open (MRO) R 3.2.2 R 3.3.2 R 3.3.3 R 3.4.1 R 3.4.3 R 3.5.2
RevoScaleR 8.0.3 9.0.1 9.1 9.2.1 9.3 9.4.7
Microsoft ML (İngilizce) N.A. 9.0.1 9.1 9.2.1 9.3 9.4.7
önceden eğitilmiş modeller N.A. 9.0.1 9.1 9.2.1 9.3 9.4.7
sqlrutils N.A. 1.0 1.0 1.0 1.0 1.0
olapR N.A. 1.0 1.0 1.0 1.0 1.0

SQL Server 2017 Makine Öğrenimi Hizmetleri

Bileşen İlk Yayın Makine Öğrenimi Sunucusu 9.3 Makine Öğrenimi Sunucusu 9.4.7
R üzerinde Microsoft R Open (MRO) R 3.3.3 R 3.4.3 R 3.5.2
RevoScaleR 9.2 9.3 9.4.7
Microsoft ML (İngilizce) 9.2 9.3 9.4.7
sqlrutils 1.0 1.0 1.0
olapR 1.0 1.0 1.0
Python 3.5 üzerinden Anaconda 4.2 4.2/3.5.2 4.2/3.5.2
Revoscalepy 9.2 9.3 9.4.7
Microsoft Dili 9.2 9.3 9.4.7
önceden eğitilmiş modeller 9.2 9.3 9.4.7

Bileşen yükseltme nasıl çalışır?

Python ve R'nin mevcut yüklemesini Machine Learning Sunucusu'na bağladığınızda yürütülebilir dosyalar, Python ve R kitaplıkları yükseltilir.

Bağlama, Python veya R tümleştirmesi olan mevcut bir SQL Server veritabanı altyapısı örneğinde Kurulum'u çalıştırdığınızda Microsoft Machine Learning Server yükleyicisi tarafından yürütülür.

Kurulum, mevcut özellikleri algılar ve Machine Learning Sunucusu'na yeniden bağlamanızı ister.

Bağlama sırasında, C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES ve \PYTHON_SERVICES içerikleri, C:\Program Files\Microsoft\ML Server\R_SERVER ve \PYTHON_SERVER'ün daha yeni yürütülebilir dosyaları ve kütüphaneleriyle üzerine yazılır.

Bağlama yalnızca Python ve R özellikleri için geçerlidir. Python ve R için açık kaynak paketleri şunlardan oluşur:

  • Anakonda
  • Microsoft R Açık
  • Özel paketler RevoScaleR
  • Revoscalepy

Bağlama, veritabanı altyapısı örneğinin veya SQL Server sürümünün destek modelini değiştirmez.

Bağlama geri alınamaz. SQL Server örneğinizin bağını kaldırarak ve SQL Server veritabanı altyapısı örneğinizi onararak SQL Server hizmetlerine geri dönebilirsiniz.

Kurulum ile Machine Learning Sunucusuna bağlanma

Kurulumu kullanarak SQL Server'ı Microsoft Machine Learning Server'a bağlamak için adımları izleyin.

  1. SSMS'de komutunu çalıştırarak SELECT @@version sunucunun en düşük derleme gereksinimlerini karşıladığını doğrulayın.

    SQL Server 2016 R Services için en düşük değer CU3 ile Service Pack 1'dir.

  2. Mevcut sürümlerin, bunları değiştirmeyi planladığınız sürümden daha düşük olduğunu onaylamak için R tabanı ve RevoScaleR paketlerinin sürümünü denetleyin.

    EXECUTE sp_execute_external_script
    @language=N'R'
    ,@script = N'str(OutputDataSet);
    packagematrix <- installed.packages();
    Name <- packagematrix[,1];
    Version <- packagematrix[,3];
    OutputDataSet <- data.frame(Name, Version);'
    , @input_data_1 = N''
    WITH RESULT SETS ((PackageName nvarchar(250), PackageVersion nvarchar(max) ))
    
  3. SSMS'yi ve SQL Server'a açık bağlantısı olan diğer araçları kapatın. Bağlama, program dosyalarını değiştirir. SQL Server'da açık oturumlar varsa bağlama, bind hata kodu 6 ile başarısız olur.

  4. Microsoft Machine Learning Sunucusu'nu yükseltmek istediğiniz örneğe sahip bilgisayara indirin. En son sürümü öneririz.

  5. Klasörün sıkıştırmasını açın ve MLSWIN93 klasörünün altında bulunan ServerSetup.exe'ı başlatın.

  6. Yüklemeyi yapılandır bölümünde, yükseltecek bileşenleri onaylayın ve uyumlu örneklerin listesini gözden geçirin.

  7. Lisans sözleşmesi sayfasında, Machine Learning Server lisans koşullarını kabul etmek için Bu koşulları kabul ediyorum'ı seçin.

  8. Birbirini izleyen sayfalarda, Microsoft R Open veya Python Anaconda dağıtımı gibi seçtiğiniz tüm açık kaynak bileşenleri için ek lisanslama koşullarına onay sağlayın.

  9. Neredeyse var sayfasında yükleme klasörünü not edin. Varsayılan klasör \Program Files\Microsoft\ML Server'dır.

    Yükleme klasörünü değiştirmek istiyorsanız, sihirbazın ilk sayfasına dönmek için Gelişmiş'i seçin. Ancak, önceki tüm seçimleri yinelemeniz gerekir.

Yükseltme başarısız olursa, daha fazla bilgi için SqlBindR hata kodlarını denetleyin.

Çevrimdışı bağlama (İnternet erişimi yok)

İnternet bağlantısı olmayan sistemler için, yükleyiciyi ve .cab dosyalarını internet bağlantılı bir makineye indirip, ardından bu dosyaları izole edilmiş sunucuya aktarabilirsiniz.

Yükleyici (ServerSetup.exe) Microsoft paketlerini (RevoScaleR, MicrosoftML, olapR, sqlRUtils) içerir. .cab dosyaları diğer temel bileşenleri sağlar. Örneğin, "SRO" kabini, Microsoft'un açık kaynak R dağıtımı olan R Open'ı sağlar.

Aşağıdaki yönergelerde, çevrimdışı yükleme için dosyaların nasıl yerleştir yapılacağı açıklanmaktadır.

  1. MLSWIN93 Yükleyicisi'ni indirin. Tek bir sıkıştırılmış dosya olarak indirilir. En son sürümü öneririz, ancak önceki sürümleri de yükleyebilirsiniz.

  2. .cab dosyaları indirin. Aşağıdaki bağlantılar 9.3 sürümü içindir. Önceki sürümlere ihtiyacınız varsa R Server 9.1'de ek bağlantılar bulunabilir. Python/Anaconda'nın yalnızca bir SQL Server Machine Learning Services örneğine eklenebileceğini unutmayın. Hem Python hem de R için önceden eğitilmiş modeller vardır; .cab, kullandığınız dillerde modeller sağlar.

    Özellik İndir
    R SRO_3.4.3.0_1033.cab
    Piton SPO_9.3.0.0_1033.cab
    Önceden eğitilmiş modeller MLM_9.3.0.0_1033.cab
  3. .zip ve .cab dosyalarını hedef sunucuya aktarın.

  4. Geçici dizinin fiziksel konumunu almak için sunucuda Çalıştır komutunu yazın %temp% . Fiziksel yol makineye göre değişir, ancak genellikle C:\Users\<your-user-name>\AppData\Local\Tempşeklindedir.

  5. .cab dosyalarını %temp% klasörüne yerleştirin.

  6. Yükleyicinin dosyasının sıkıştırmasını açın.

  7. ServerSetup.exe çalıştırın ve yüklemeyi tamamlamak için ekrandaki istemleri izleyin.

Komut satırı işlemleri

Tavsiye

SqlBindR'yi bulamıyor musunuz? Büyük olasılıkla Kurulum'u çalıştırmamışsınızdır. SqlBindR yalnızca Machine Learning Server Kurulumu çalıştırıldıktan sonra kullanılabilir.

  1. Yönetici olarak bir komut istemi açın ve sqlbindr.exeiçeren klasöre gidin. Varsayılan konum C:\Program Files\Microsoft\MLServer\Setup'dır

  2. Kullanılabilir örneklerin listesini görüntülemek için aşağıdaki komutu yazın: SqlBindR.exe /list

    Tam örnek adını listelendiği gibi not edin. Örneğin, varsayılan bir örnek adı MSSQL14.MSSQLSERVER olabilir veya başka bir yapı olarak SERVERNAME.MYNAMEDINSTANCE şeklinde olabilir.

  3. SqlBindR.exe komutunu /bind bağımsız değişkeniyle çalıştırın. Önceki adımda döndürülen örnek adını kullanarak yükselteceğiniz örneğin adını belirtin.

    Örneğin, varsayılan örneği yükseltmek için şunu yazın: SqlBindR.exe /bind MSSQL14.MSSQLSERVER

  4. Yükseltme tamamlandığında, değiştirilmiş herhangi bir örnekle ilişkili Launchpad hizmetini yeniden başlatın.

Örneği geri döndürme veya bağlamayı kaldırma

SQL Server Kurulumu ile oluşturulmuş olan Python ve R bileşenlerinin ilk yüklemeleri için bağlı bir örneği geri yükleyebilirsiniz. SQL Server bakımına geri dönmek için üç bölüm vardır.

1. Adım: Bağlamayı kaldırma

Bağlamayı geri döndürmek için iki seçeneğiniz vardır: kurulumu yeniden çalıştırın veya SqlBindR komut satırı yardımcı programını kullanın.

Kurulum kullanarak bağlamayı kaldırma

  1. Machine Learning Sunucusu yükleyicisini bulun. Yükleyiciyi kaldırdıysanız yeniden indirmeniz veya başka bir bilgisayardan kopyalamanız gerekebilir.
  2. Yükleyiciyi, bağlamasını açmak istediğiniz örneğin yer aldığı bilgisayarda çalıştırdığınızdan emin olun.
  3. Yükleyici, bağlamayı kaldırmaya aday yerel örnekleri tanımlar.
  4. Özgün yapılandırmaya geri döndürmek istediğiniz örneğin yanındaki onay kutusunun seçimini kaldırın.
  5. Tüm lisans sözleşmelerini kabul edin.
  6. Son'u seçin. İşlem biraz zaman alır.

Komut satırını kullanarak bağlamayı kaldırma

  1. Bir komut istemi açın ve önceki bölümde açıklandığı gibi sqlbindr.exeiçeren klasöre gidin.

  2. /unbind bağımsız değişkeniyle SqlBindR.exe komutunu çalıştırın ve örneği belirtin.

    Örneğin, aşağıdaki komut varsayılan örneği geri çevirir:

    SqlBindR.exe /unbind MSSQL14.MSSQLSERVER

2. Adım: SQL Server örneğini onarma

Python ve R özelliklerine sahip veritabanı altyapısı örneğini onarmak için SQL Server Kurulumu'nu çalıştırın. Önceden var olan güncelleştirmeler korunur. Sonraki adım, Python ve R paketlerine yönelik hizmet güncelleştirmeleri için bir güncelleştirmenin kaçırılması durumunda geçerlidir.

Alternatif çözüm: Veritabanı altyapısı örneğini tamamen kaldırıp yeniden yükleyin ve ardından tüm hizmet güncelleştirmelerini uygulayın.

3. Adım: Üçüncü taraf paketleri ekleme

Paket kitaplığınıza başka açık kaynak veya üçüncü taraf paketleri eklemiş olabilirsiniz. Bağlamayı geri almak varsayılan paket kitaplığının konumunu değiştirdiğinden, paketleri Python ve R'nin şu anda kullandığı kitaplığa yeniden yüklemeniz gerekir. Daha fazla bilgi için bkz . R paketi bilgileri ve yüklemesi ile Python paket bilgileri ve yüklemesi.

SqlBindR.exe komut sözdizimi

Kullanım

sqlbindr [/list] [/bind <SQL_instance_ID>] [/unbind <SQL_instance_ID>]

Parametreler

İsim Açıklama
liste Geçerli bilgisayardaki tüm SQL Server örnek kimliklerinin listesini görüntüler
bağlamak Belirtilen SQL Server örneğini R Server'ın en son sürümüne yükseltir ve örneğin R Server'ın gelecekteki yükseltmelerini otomatik olarak almasını sağlar
bağını çözmek R Server'ın en son sürümünü belirtilen SQL Server örneğinden kaldırır ve gelecekteki R Server yükseltmelerinin örneği etkilemesini önler

Bağlama hataları

Machine Learning Server Yükleyicisi ve SqlBindR hem aşağıdaki hata kodlarını hem de iletileri döndürür.

Hata kodu Mesaj Ayrıntılar
Bağlama hatası 0 Tamam (başarılı) Bağlama hatasız tamamlandı.
Bağlama hatası 1 Geçersiz bağımsız değişkenler Söz dizimi hatası.
Bağlama hatası 2 Geçersiz eylem Söz dizimi hatası.
Bağlama hatası 3 Geçersiz örnek Bir örnek var, ancak bağlama için geçerli değil.
Bağlama hatası 4 Bağlanamaz
Bağlama hatası 5 Zaten bağlı Bağlama komutunu çalıştırdıysanız ancak belirtilen örnek zaten bağlı.
Bağlama hatası 6 Bağlama başarısız oldu Örneği ayırırken bir hata oluştu. Herhangi bir özellik seçmeden Machine Learning Sunucusu yükleyicisini çalıştırırsanız bu hata oluşabilir. Bağlama, örneğin SQL Server 2017 olduğu varsayılarak hem bir MSSQL örneği hem de Python ve R seçmenizi gerektirir. SqlBindR Program Files klasörüne yazamadıysa da bu hata oluşur. SQL Server'da açık oturumlar veya dosya tanıtıcıları bu hatanın oluşmasına neden olur. Bu hatayı alırsanız, yeni oturumları başlatmadan önce bilgisayarı yeniden başlatın ve bağlama adımlarını yineleyin.
Bağlama hatası 7 Bağlı değil Veritabanı altyapısı örneğinde R Services veya SQL Server Machine Learning Services vardır. Örnek Microsoft Machine Learning Server'a bağlı değildir.
Bağlama hatası 8 Bağlama kaldırılamadı Örneği ayırırken bir hata oluştu.
Bağlama hatası 9 Örnek bulunamadı Bu bilgisayarda veritabanı altyapısı örneği bulunamadı.

Bilinen sorunlar

Bu bölümde, SqlBindR.exe yardımcı programının kullanımına veya SQL Server örneklerini etkileyebilecek Machine Learning Server yükseltmelerine özgü bilinen sorunlar listelenir.

Daha önce yüklenmiş paketleri geri yükleme

SqlBindR.exe, Microsoft R Server 9.0.1'e yükseltme ile özgün paketleri veya R bileşenlerini geri yükleyemiyor. Örnekte SQL Server onarımını kullanın ve tüm hizmet sürümlerini uygulayın. Örneği yeniden başlatın.

SqlBindR'nin sonraki sürümü özgün R özelliklerini otomatik olarak geri yükleyerek R bileşenlerini yeniden yükleme veya sunucuyu yeniden düzeltme gereksinimini ortadan kaldırır. Ancak, ilk yüklemeden sonra eklenmiş olabilecek tüm R paketi güncelleştirmelerini yüklemeniz gerekir.

Veritabanındaki kayıtları kullanarak yüklü paketleri dosya sistemine eşitlemek için R komutlarını kullanın. Daha fazla bilgi için bkz. SQL Server için R paket yönetimi.

SQL Server'da üzerine yazılan sqlbinr.ini dosyasıyla ilgili sorunlar

Senaryo: Bu sorun, Machine Learning Server 9.4.7'yi SQL Server 2017'ye bağlarken oluşur. Python güncelleştirildiğinde ve bağlandığında veya yeni bir CU'ya güncelleştirdiğinizde, Python'ın bağlı olduğunu ve dosyaların üzerine yazıldığını anlamaz. R ile ilgili bilinen bir sorun yoktur.

Geçici bir çözüm olarak, PYTHON_SERVICES dizininde boş olmayan bir sqlbindr.ini dosya oluşturun. İçerikler, dosyanın nasıl çalıştığını etkilemez.

sqlbindr.ini içeren bir dosya oluşturun ve şu konuma kaydedin:

C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES

SQL Server'dan birden çok yükseltmeyle ilgili sorunlar

Senaryo: Daha önce SQL Server 2016 R Services örneği 9.0.1'e yükseltildi. Microsoft R Server 9.1.0 için yeni yükleyici yürütüldü. Yükleyici tüm geçerli örneklerin listesini görüntüler. Varsayılan olarak yükleyici, önceden ilişkili örnekleri seçer. Devam ederseniz, daha önce ilişkili örnekler ilişkisiz olur. Sonuç, önceki 9.0.1 yüklemesinin kaldırılması ve ilgili paketlerin kaldırılmasıdır, ancak Microsoft R Server'ın yeni sürümü (9.1.0) yüklenmez.

Geçici bir çözüm olarak, mevcut R Server yüklemesini aşağıdaki gibi değiştirebilirsiniz:

  1. Denetim Masası'nda Program Ekle veya Kaldır'ı açın.
  2. Microsoft R Server'ı bulun ve Değiştir/Düzenle seçin.
  3. Yükleyici başlatıldığında, 9.1.0'a bağlamak istediğiniz örnekleri seçin.

Microsoft Machine Learning Server 9.2.1 ve 9.3'de bu sorun yoktur.

Bağlama veya çözme, birden çok geçici klasör oluşturur.

Yükleme tamamlandıktan sonra geçici klasörleri kaldırın.

Uyarı

Yükleme tamamlanana kadar beklemeyi unutmayın. Bir sürümle ilişkili R kitaplıklarının kaldırılması ve ardından yeni R kitaplıklarının eklenmesi uzun sürebilir. İşlem tamamlandığında geçici klasörler kaldırılır.

Ayrıca bakınız