Uaktualnianie środowiska uruchomieniowego języka Python i języka R za pomocą powiązania w usługach SQL Server Machine Learning Services
Dotyczy: SQL Server 2016 (13.x)
SQL Server 2017 (14.x)
Ważny
Obsługa serwera Machine Learning Server (wcześniej znanego jako R Server) zakończyła się 1 lipca 2022 r. Aby uzyskać więcej informacji, zobacz Co się dzieje z serwerem Machine Learning Server?
Artykuł opisuje, jak używać procesu instalacji o nazwie powiązanie, aby zaktualizować środowiska uruchomieniowe dla języka R lub Python w usługach SQL Server 2016 R Services lub SQL Server 2017 Machine Learning Services. Nowsze wersje języków Python i R można uzyskać
Ważny
W tym artykule opisano starą metodę uaktualniania środowisk uruchomieniowych języka R i Python o nazwie binding. Jeśli zainstalowano aktualizacji zbiorczej (CU) 14 lub nowszej dla programu SQL Server 2016 Services Pack (SP) 2 lub aktualizacji zbiorczej (CU) 22 lub nowszej dla programu SQL Server 2017, zobacz, jak zmienić domyślne środowisko uruchomieniowe języka R lub Python na nowszą wersję.
Co to jest wiązanie?
Proces wiązania to procedura instalacji, która zastępuje zawartość folderów R_SERVICES i PYTHON_SERVICES nowszymi wersjami plików wykonywalnych, bibliotek i narzędzi z programu Microsoft Machine Learning Server.
Załadowane składniki zawarte w modelu obsługi zostały zmienione. Aktualizacje usługi są zgodne z osią czasu pomocy technicznej dla programu Microsoft R Server & Machine Learning Servernowoczesnego cyklu życia.
Z wyjątkiem wersji składników i aktualizacji usług powiązanie nie zmienia podstaw instalacji:
- Integracja języków Python i R jest nadal częścią instancji silnika bazy danych.
- Licencjonowanie pozostaje niezmienione (bez dodatkowych kosztów związanych z powiązaniem).
- Zasady obsługi programu SQL Server nadal obowiązują dla silnika bazy danych.
W pozostałej części tego artykułu opisano mechanizm powiązania i sposób jego działania dla każdej wersji programu SQL Server.
Notatka
Powiązanie dotyczy tylko wystąpień w bazie danych, które są powiązane z wystąpieniami programu SQL Server. W takim przypadku powiązanie nie jest konieczne w przypadku instalacji autonomicznej.
zagadnienia dotyczące powiązań programu SQL Server 2016
W przypadku klientów usług SQL Server 2016 R powiązanie zapewnia:
- Zaktualizowano pakiety języka R.
- Nowe pakiety nie są częścią oryginalnej instalacji (MicrosoftML)
- Wstępnie wytrenowane modele uczenia maszynowego na potrzeby analizy sentymentu i wykrywania obrazów.
Wszystkie powiązania systemowe można dodatkowo zaktualizować przy każdej nowej głównej i pomocniczej wersji programu Microsoft Machine Learning Server.
Mapa wersji
Poniższe tabele to mapy wersji. Każda mapa przedstawia wersje pakietów w różnych wydaniach. Ścieżki uaktualniania można przejrzeć po powiązaniu z serwerem Microsoft Machine Learning Server (wcześniej znanym jako R Server przed dodaniu obsługi języka Python, począwszy od programu Machine Learning Server 9.2.1).
Powiązanie nie gwarantuje najnowszej wersji języka R lub Anaconda. Po powiązaniu z serwerem Microsoft Machine Learning Server zostanie zainstalowana wersja języka R lub Python za pośrednictwem Instalatora, która może nie być najnowszą wersją dostępną w internecie.
Składnik | Wydanie początkowe | R Server 9.0.1 | R Server 9.1 | Machine Learning Server 9.2.1 | Machine Learning Server 9.3 | Machine Learning Server 9.4.7 |
---|---|---|---|---|---|---|
Microsoft R Open (MRO) za pośrednictwem języka R | 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 |
MicrosoftML | brak danych | 9.0.1 | 9.1 | 9.2.1 | 9.3 | 9.4.7 |
przetrenowanych modeli | nie dotyczy | 9.0.1 | 9.1 | 9.2.1 | 9.3 | 9.4.7 |
sqlrutils | nie dotyczy / brak danych | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
|
n.d. | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
SQL Server 2017 Machine Learning Services
Składnik | Wydanie początkowe | Machine Learning Server 9.3 | Machine Learning Server 9.4.7 |
---|---|---|---|
Microsoft R Open (MRO) za pośrednictwem języka R | R 3.3.3 | R 3.4.3 | R 3.5.2 |
RevoScaleR | 9.2 | 9.3 | 9.4.7 |
MicrosoftML | 9.2 | 9.3 | 9.4.7 |
sqlrutils | 1.0 | 1.0 | 1.0 |
|
1.0 | 1.0 | 1.0 |
Anaconda 4.2 w języku Python 3.5 | 4.2/3.5.2 | 4.2/3.5.2 | |
revoscalepy | 9.2 | 9.3 | 9.4.7 |
microsoftml | 9.2 | 9.3 | 9.4.7 |
wstępnie wytrenowane modele | 9.2 | 9.3 | 9.4.7 |
Jak działa uaktualnianie składników
Pliki wykonywalne, biblioteki python i R są uaktualniane podczas tworzenia powiązania istniejącej instalacji języka Python i języka R z usługą Machine Learning Server.
Powiązanie jest wykonywane przez instalator Microsoft Machine Learning Server podczas uruchamiania konfiguracji w istniejącym wystąpieniu aparatu bazy danych programu SQL Server z integracją języków Python lub R.
Instalator wykrywa istniejące funkcje i monituje o ponowne powiązanie z serwerem Machine Learning Server.
Podczas tworzenia powiązania zawartość C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES
i \PYTHON_SERVICES
jest zastępowana nowszymi plikami wykonywalnymi i bibliotekami C:\Program Files\Microsoft\ML Server\R_SERVER
i \PYTHON_SERVER
.
Powiązanie dotyczy tylko funkcji języka Python i języka R. Pakiety open source dla języków Python i R składają się z następujących elementów:
- Anakonda
- Microsoft R Open
- Zastrzeżone pakiety RevoScaleR
- Revoscalepy
Powiązanie nie zmienia modelu obsługi wystąpienia aparatu bazy danych ani wersji programu SQL Server.
Powiązanie jest odwracalne. Możesz przywrócić obsługę programu SQL Server, odpowiązując wystąpienie i naprawiając wystąpienie silnika bazy danych programu SQL Server.
Połącz się z serwerem uczenia maszynowego przy użyciu konfiguracji
Postępuj zgodnie z instrukcjami, aby powiązać program SQL Server z programem Microsoft Machine Learning Server przy użyciu konfiguracji.
W programie SSMS uruchom
SELECT @@version
, aby sprawdzić, czy serwer spełnia minimalne wymagania dotyczące kompilacji.W przypadku usługi SQL Server 2016 R minimalne wymagania to Service Pack 1 oraz CU3.
Sprawdź wersję pakietu bazowego R i RevoScaleR, aby potwierdzić, że istniejące wersje są niższe niż te, którymi planujesz je zastąpić.
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) ))
Zamknij program SSMS i inne narzędzia z otwartym połączeniem z programem SQL Server. Powiązanie zastępuje pliki programów. Jeśli program SQL Server ma otwarte sesje, powiązanie zakończy się niepowodzeniem z kodem błędu powiązania 6.
Pobierz program Microsoft Machine Learning Server na komputer, na którym znajduje się wystąpienie, które chcesz uaktualnić. Zalecamy najnowszą wersję.
Rozpakuj folder i uruchom plik ServerSetup.exe, znajdujący się w MLSWIN93.
Na Konfiguruj instalację, potwierdź komponenty do aktualizacji i przejrzyj listę zgodnych instancji.
Na stronie Umowa licencyjna wybierz pozycję Akceptuję te warunki, aby zaakceptować postanowienia licencyjne dotyczące serwera Machine Learning Server.
Na kolejnych stronach należy wyrazić zgodę na dodatkowe warunki licencjonowania dla wybranych składników typu open source, takich jak Microsoft R Open lub dystrybucja Anaconda języka Python.
Na stronie Prawie tam zanotuj folder instalacyjny. Domyślnym folderem jest \Program Files\Microsoft\ML Server.
Jeśli chcesz zmienić folder instalacyjny, wybierz opcję Zaawansowane, aby powrócić do pierwszej strony kreatora. Należy jednak powtórzyć wszystkie poprzednie wybory.
Jeśli uaktualnienie nie powiedzie się, sprawdź kody błędów SqlBindR, aby uzyskać więcej informacji.
Powiązanie w trybie offline (brak dostępu do Internetu)
W przypadku systemów bez łączności z Internetem można pobrać instalator oraz pliki .cab na maszynę połączoną z Internetem, a następnie przenieść pliki do izolowanego serwera.
Instalator (ServerSetup.exe) zawiera pakiety firmy Microsoft (RevoScaleR, MicrosoftML, olapR, sqlRUtils). Pliki .cab zapewniają inne podstawowe składniki. Na przykład kabina "SRO" udostępnia R Open, wersję open source języka R opracowaną przez firmę Microsoft.
Poniższe instrukcje wyjaśniają sposób umieszczania plików na potrzeby instalacji w trybie offline.
Pobierz instalator MLSWIN93. Pobiera się jako pojedynczy spakowany plik. Zalecamy najnowszą wersję, ale można również zainstalować wcześniejsze wersje.
Pobierz pliki .cab. Poniższe linki dotyczą wersji 9.3. Jeśli potrzebujesz wcześniejszych wersji, dodatkowe linki można znaleźć w R Server 9.1. Pamiętaj, że język Python/Anaconda można dodać tylko do wystąpienia usług SQL Server Machine Learning Services. Wstępnie wytrenowane modele istnieją zarówno dla języka Python, jak i języka R; .cab udostępnia modele w używanych językach.
Cecha Pobierz R SRO_3.4.3.0_1033.cab Pyton SPO_9.3.0.0_1033.cab Wstępnie wytrenowane modele MLM_9.3.0.0_1033.cab Przenieś pliki .zip i .cab na serwer docelowy.
Na serwerze wpisz
%temp%
w poleceniu Uruchom, aby uzyskać fizyczną lokalizację katalogu tymczasowego. Ścieżka fizyczna różni się w zależności od maszyny, ale zwykleC:\Users\<your-user-name>\AppData\Local\Temp
.Umieść pliki .cab w folderze %temp%.
Rozpakuj Instalatora.
Uruchom ServerSetup.exe i postępuj zgodnie z monitami wyświetlanymi na ekranie, aby ukończyć instalację.
Operacje wiersza polecenia
Wskazówka
Nie można odnaleźć narzędzia SqlBindR? Prawdopodobnie nie uruchomiono Instalatora. Narzędzie SqlBindR jest dostępne tylko po uruchomieniu konfiguracji serwera Machine Learning.
Otwórz wiersz polecenia jako administrator i przejdź do folderu zawierającego sqlbindr.exe. Domyślną lokalizacją jest C:\Program Files\Microsoft\MLServer\Setup
Wpisz następujące polecenie, aby wyświetlić listę dostępnych wystąpień:
SqlBindR.exe /list
Zanotuj pełną nazwę wystąpienia, jak pokazano. Na przykład nazwa wystąpienia może być MSSQL14. MSSQLSERVER dla wystąpienia domyślnego lub coś takiego jak SERVERNAME. MYNAMEDINSTANCE.
Uruchom polecenie SqlBindR.exe za pomocą argumentu /bind. Określ nazwę wystąpienia do uaktualnienia przy użyciu nazwy wystąpienia zwróconej w poprzednim kroku.
Aby na przykład zaktualizować instancję domyślną, wpisz:
SqlBindR.exe /bind MSSQL14.MSSQLSERVER
Po zakończeniu uaktualniania uruchom ponownie usługę Launchpad skojarzona z dowolnym wystąpieniem, które zostało zmodyfikowane.
Przywracanie lub usuwanie powiązania wystąpienia
Możesz przywrócić związane wystąpienie do początkowej instalacji składników języka Python i R ustanowionej przez program instalacyjny SQL Server. Rezygnacja z obsługi programu SQL Server składa się z trzech etapów.
- Krok 1: Usuwanie powiązania z programu Microsoft Machine Learning Server
- Krok 2: Przywróć wystąpienie do oryginalnego stanu
- Krok 3. Zainstaluj ponownie wszystkie pakiety dodane do instalacji
Krok 1. Usuń powiązanie
Istnieją dwie opcje wycofywania powiązania: ponownie uruchom instalatora lub użyj narzędzia wiersza polecenia SqlBindR.
Usuń powiązanie przy użyciu ustawień
- Znajdź instalatora serwera Machine Learning Server. Jeśli instalator został usunięty, może być konieczne jego ponowne pobranie lub skopiowanie go z innego komputera.
- Upewnij się, że uruchamiasz instalatora na komputerze, na którym znajduje się wystąpienie, które chcesz odłączyć.
- Instalator identyfikuje lokalne wystąpienia, które mogą zostać odłączone.
- Usuń zaznaczenie pola wyboru obok wystąpienia, które chcesz przywrócić do oryginalnej konfiguracji.
- Zaakceptuj wszystkie umowy licencyjne.
- Wybierz opcję Zakończ. Proces zajmuje trochę czasu.
Usuń powiązanie przy użyciu wiersza polecenia
Otwórz wiersz polecenia i przejdź do folderu zawierającego sqlbindr.exe, zgodnie z opisem w poprzedniej sekcji.
Uruchom polecenie SqlBindR.exe z argumentem /unbind i określ wystąpienie.
Na przykład następujące polecenie przywraca wystąpienie domyślne:
SqlBindR.exe /unbind MSSQL14.MSSQLSERVER
Krok 2. Naprawianie wystąpienia programu SQL Server
Uruchom instalatora programu SQL Server, aby naprawić wystąpienie aparatu bazy danych z funkcjami języka Python i języka R. Istniejące aktualizacje są zachowywane. Następny krok ma zastosowanie, jeśli aktualizacja została pominięta w przypadku aktualizacji obsługi pakietów python i R.
Alternatywne rozwiązanie: w pełni odinstaluj i ponownie zainstaluj wystąpienie aparatu bazy danych, a następnie zastosuj wszystkie aktualizacje usługi.
Krok 3. Dodawanie dowolnych pakietów innych firm
Być może do biblioteki pakietów dodano inne pakiety typu open source lub innych firm. Ponieważ odwrócenie powiązania przełącza lokalizację domyślnej biblioteki pakietów, należy ponownie zainstalować pakiety do biblioteki, z której korzystają języki Python i R. Aby uzyskać więcej informacji, zobacz informacje o pakiecie R i instalacji oraz informacje o pakiecie języka Python i instalacji.
składnia polecenia SqlBindR.exe
Użycie
sqlbindr [/list] [/bind <SQL_instance_ID>] [/unbind <SQL_instance_ID>]
Parametry
Nazwa | Opis |
---|---|
lista | Wyświetla listę wszystkich identyfikatorów wystąpień programu SQL Server na bieżącym komputerze |
wiązanie | Uaktualnia określone wystąpienie programu SQL Server do najnowszej wersji programu R Server i zapewnia, że wystąpienie automatycznie pobiera przyszłe uaktualnienia programu R Server |
odłączyć | Usuwa najnowszą wersję R Server z określonego wystąpienia SQL Server, uniemożliwiając, aby przyszłe aktualizacje R Server wpływały na to wystąpienie. |
Błędy wiązania
Instalator programu Machine Learning Server i narzędzie SqlBindR zwracają następujące kody błędów i komunikaty.
Kod błędu | Komunikat | Szczegóły |
---|---|---|
Błąd powiązania 0 | Ok (powodzenie) | Powiązanie zakończyło się bez błędów. |
Błąd wiązania 1 | Nieprawidłowe argumenty | Błąd składniowy. |
Błąd wiązania 2 | Nieprawidłowa akcja | Błąd składniowy. |
Błąd powiązania 3 | Nieprawidłowa instancja | Istnieje obiekt, ale nie jest on odpowiedni do powiązania. |
Błąd powiązania 4 | Nie można powiązać | |
Błąd wiązania 5 | Już powiązane | Uruchomiłeś polecenie bind, ale określone wystąpienie jest już powiązane. |
Błąd powiązania 6 | Wiązanie nie powiodło się | Wystąpił błąd podczas odłączania wystąpienia. Ten błąd może wystąpić, jeśli uruchomisz instalator serwera Machine Learning Server bez wybierania żadnych funkcji. Powiązanie wymaga wybrania zarówno wystąpienia MSSQL, jak i języka Python i R, przy założeniu, że wystąpienie to SQL Server 2017. Ten błąd występuje również wtedy, gdy narzędzie SqlBindR nie może zapisać w folderze Program Files. Otwarte sesje lub dojścia do programu SQL Server spowodują wystąpienie tego błędu. Jeśli wystąpi ten błąd, uruchom ponownie komputer i wykonaj ponownie kroki powiązania przed rozpoczęciem nowych sesji. |
Błąd wiązania 7 | Niezwiązane | Wystąpienie aparatu bazy danych ma usługi języka R lub usługi SQL Server Machine Learning Services. Wystąpienie nie jest powiązane z serwerem Microsoft Machine Learning Server. |
Błąd wiązania 8 | Nie można nawiązać powiązania | Wystąpił błąd podczas odłączania wystąpienia. |
Błąd wiązania 9 | Nie znaleziono wystąpień | Na tym komputerze nie znaleziono wystąpień silnika bazy danych. |
Znane problemy
W tej sekcji wymieniono znane problemy specyficzne dla używania narzędzia SqlBindR.exe lub uaktualnienia programu Machine Learning Server, które mogą mieć wpływ na wystąpienia programu SQL Server.
Przywracanie wcześniej zainstalowanych pakietów
SqlBindR.exe nie udaje się przywrócić oryginalnych pakietów ani komponentów R przy uaktualnieniu do wersji Microsoft R Server 9.0.1. Użyj naprawy SQL Server na wystąpieniu i zastosuj wszystkie aktualizacje serwisowe. Uruchom ponownie wystąpienie.
Nowsza wersja narzędzia SqlBindR automatycznie przywraca oryginalne funkcje języka R, eliminując konieczność ponownej instalacji składników języka R lub ponownego instalowania serwera. Należy jednak zainstalować wszystkie aktualizacje pakietu języka R, które mogły zostać dodane po początkowej instalacji.
Użyj poleceń języka R, aby zsynchronizować zainstalowane pakiety z systemem plików przy użyciu rekordów w bazie danych. Aby uzyskać więcej informacji, zobacz zarządzanie pakietami R dla programu SQL Server.
Problemy z nadpisanym plikiem sqlbinr.ini w programie SQL Server
Scenariusz: Ten problem występuje, gdy powiązanie programu Machine Learning Server 9.4.7 z programem SQL Server 2017. Gdy Python jest aktualizowany i powiązany lub aktualizujesz do nowej zbiorczej aktualizacji, nie rozumie, że Python jest powiązany, i zastępuje pliki. Nie ma znanego problemu z R.
Aby obejść ten problem, utwórz plik sqlbindr.ini
w katalogu PYTHON_SERVICES, który nie jest pusty. Zawartość nie ma wpływu na sposób działania pliku.
Utwórz plik sqlbindr.ini
zawierający 9.4.7.82, zapisz w tej lokalizacji:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES
Problemy z wieloma uaktualnieniami z programu SQL Server
Scenariusz: wcześniej uaktualnione wystąpienie usług SQL Server 2016 R do wersji 9.0.1. Wykonano nowy instalator programu Microsoft R Server 9.1.0. Instalator wyświetla listę wszystkich prawidłowych wystąpień. Domyślnie instalator wybiera wcześniej powiązane wystąpienia. Jeśli będziesz kontynuować, wcześniej powiązane wystąpienia są niezwiązane. Wynikiem jest usunięcie wcześniejszej instalacji 9.0.1 i wszystkich powiązanych pakietów, ale nie zainstalowano nowej wersji programu Microsoft R Server (9.1.0).
Aby obejść ten problem, można zmodyfikować istniejącą instalację programu R Server w następujący sposób:
- W Panelu sterowania otwórz dodaj lub usuń programy.
- Znajdź program Microsoft R Server i wybierz Zmień/Modyfikuj.
- Po uruchomieniu instalatora wybierz wystąpienia, które chcesz powiązać z 9.1.0.
Program Microsoft Machine Learning Server 9.2.1 i 9.3 nie ma tego problemu.
Wiązanie lub odpinanie pozostawia wiele folderów tymczasowych
Usuń foldery tymczasowe po zakończeniu instalacji.
Notatka
Pamiętaj, aby poczekać na ukończenie instalacji. Usunięcie bibliotek języka R skojarzonych z jedną wersją może zająć dużo czasu, a następnie dodanie nowych bibliotek języka R. Po zakończeniu operacji foldery tymczasowe zostaną usunięte.
Zobacz też
- zmień domyślną wersję środowiska uruchomieniowego języka R lub Python
- Instalowanie serwera Machine Learning Server dla systemu Windows (połączonego z Internetem)
- Instalowanie serwera Machine Learning Server dla systemu Windows (offline)
- znane problemy w usłudze Machine Learning Server
- Zapowiedzi funkcji z poprzedniej wersji programu R Server
- przestarzałe, nieobsługiwane lub zmienione funkcje