Udostępnij za pośrednictwem


Instalowanie usług SQL Server 2022 Machine Learning Services (Python i R) w systemie Windows

Dotyczy: SQL Server 2022 (16.x)

W tym artykule pokazano, jak zainstalować usługi SQL Server Machine Learning Services przy użyciu języka Python i języka R w systemie Windows. Usługi Machine Learning Services umożliwiają uruchamianie skryptów języka Python i R w bazie danych.

Uwaga / Notatka

Te instrukcje są specyficzne dla programu SQL Server 2022 (16.x) w systemie Windows. Aby zainstalować usługi SQL Server Machine Learning Services w systemie Windows dla programu SQL Server 2016 (13.x), SQL Server 2017 (14.x) lub SQL Server 2019 (15.x), zobacz Instalowanie usług SQL Server Machine Learning Services (Python i R) w systemie Windows.

W przypadku systemu Linux zobacz Instalowanie usług SQL Server 2019 Machine Learning Services (Python i R) w systemie Linux.

Lista kontrolna preinstalacji

  • Wymagane jest wystąpienie silnika bazy danych. Nie można zainstalować tylko funkcji języka Python lub R, chociaż można je dodawać przyrostowo do istniejącego wystąpienia.

  • Dla zapewnienia ciągłości działania, Always On availability groups są obsługiwane w usługach Machine Learning Services. Zainstaluj usługi Machine Learning Services i skonfiguruj pakiety w każdym węźle.

  • Instalowanie usług Machine Learning Services jest również obsługiwane w wystąpieniach klastra trybu failover Always On w programie SQL Server 2019 i nowszych wersjach.

  • Nie instaluj usług Machine Learning Services na kontrolerze domeny. Część konfiguracji usług Machine Learning Services zakończy się niepowodzeniem.

  • Instalacja równoległa z innymi wersjami języka Python i języka R jest obsługiwana, ale nie zalecamy jej. Jest on obsługiwany, ponieważ wystąpienie programu SQL Server używa własnych kopii dystrybucji języka R i Anaconda typu open source. Nie zalecamy go, ponieważ uruchomienie kodu używającego języka Python i języka R na komputerze spoza programu SQL Server może prowadzić do problemów:

    • Użycie innej biblioteki i różnych plików wykonywalnych spowoduje utworzenie wyników niezgodnych z tym, co jest uruchomione w programie SQL Server.
    • Program SQL Server nie może zarządzać skryptami języka R i Python uruchamianymi w bibliotekach zewnętrznych, co prowadzi do rywalizacji o zasoby.

Ważne

Po zakończeniu konfigurowania pamiętaj, aby wykonać kroki po konfiguracji opisane w tym artykule. Te kroki mogą obejmować włączenie programu SQL Server do używania skryptów zewnętrznych. Zmiany konfiguracji zwykle wymagają ponownego uruchomienia instancji lub ponownego uruchomienia usługi Launchpad.

Pobieranie nośnika instalacyjnego

Lokalizacja pobierania programu SQL Server zależy od wersji:

  • Wersje SQL Server Enterprise, Standard i Express. Te wersje są licencjonowane do użytku produkcyjnego. W przypadku wersji Enterprise i Standard skontaktuj się z dostawcą oprogramowania w celu uzyskania nośnika instalacyjnego. Informacje o zakupie i katalog partnerów firmy Microsoft można znaleźć w witrynie internetowej zakupów firmy Microsoft.

  • Najnowsza bezpłatna wersja.

Uruchom konfigurację

W przypadku instalacji lokalnych należy uruchomić instalatora jako administrator. W przypadku instalowania programu SQL Server z udziału zdalnego, należy używać konta domenowego, które ma uprawnienia do odczytu i wykonywania na udziale zdalnym.

Jeśli podczas konfiguracji wystąpią błędy instalacji, sprawdź dziennik podsumowania w folderze dziennika Setup Bootstrap (na przykład %ProgramFiles%\Microsoft SQL Server\160\Setup Bootstrap\Log\Summary.txt).

  1. Uruchom kreatora instalacji programu SQL Server 2022.

  2. Na karcie Instalacja wybierz pozycję Nowa instalacja autonomiczna programu SQL Server lub dodaj funkcje do istniejącej instalacji.

  3. Na stronie Wybór funkcji wybierz następujące opcje:

    • Usługi silnika bazy danych

      Aby używać języka R lub Python z programem SQL Server, należy zainstalować instancję aparatu bazy danych. Możesz użyć domyślnej lub nazwanej instancji.

    • Usługi i język uczenia maszynowego

      Ta opcja instaluje usługi bazy danych, które obsługują wykonywanie skryptów języka R i Python.

    Ten zrzut ekranu przedstawia minimalne funkcje wystąpień, które należy sprawdzić podczas instalowania usług Machine Learning Services programu SQL Server 2022 (16.x).

    Zrzut ekranu przedstawiający wybór funkcji przy użyciu pól wyboru obok pozycji Usługi aparatu bazy danych, Usługi uczenia maszynowego oraz Język.

Instalacja środowisk uruchomieniowych i pakietów

Począwszy od programu SQL Server 2022 (16.x), środowiska uruchomieniowe dla języków R, Python i Java nie są już dostarczane ani instalowane z konfiguracją programu SQL Server. Zamiast tego użyj poniższych sekcji, aby zainstalować niestandardowe środowiska uruchomieniowe i pakiety.

Konfigurowanie obsługi języka R

Instalowanie środowiska uruchomieniowego języka R

  1. Pobierz i zainstaluj najnowszą wersję języka R 4.2 dla systemu Windows.

  2. Zainstaluj zależności dla CompatibilityAPI oraz RevoScaleR. W terminalu języka R zainstalowanej wersji uruchom następujące polecenia:

    # R Terminal
    install.packages("iterators")
    install.packages("foreach")
    install.packages("R6")
    install.packages("jsonlite")
    
  3. Pobierz i zainstaluj najnowszą wersję pakietów CompatibilityAPI i RevoScaleR :

    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)
    

Konfigurowanie środowiska uruchomieniowego języka R za pomocą programu SQL Server

  1. Skonfiguruj zainstalowane środowisko uruchomieniowe języka R za pomocą programu SQL Server. Domyślną wersję można zmienić przy użyciu RegisterRext.exe narzędzia wiersza polecenia. Narzędzie znajduje się w folderze aplikacji języka R, który zależy od instalacji. Zwykle znajduje się on w elemencie %ProgramFiles%\R\R-4.2.3\library\RevoScaleR\rxLibs\x64.

    Poniższy skrypt umożliwia skonfigurowanie środowiska uruchomieniowego R z lokalizacji folderu instalacyjnego RegisterRext.exe. Nazwa wystąpienia to MSSQLSERVER w przypadku domyślnego wystąpienia programu SQL Server, lub odpowiednia nazwa w przypadku nazwanego wystąpienia programu SQL Server.

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

    Jeśli konfigurujesz wystąpienie SQL Server o określonej nazwie, które zwykle określasz jako ".\SQLEXPRESS" lub "MACHINENAME\SQLEXPRESS", uwzględnij tylko nazwę tego wystąpienia. Przykład:

    .\RegisterRext.exe /configure /rhome:"%ProgramFiles%\R\R-4.2.3" /instance:"SQLEXPRESS"
    
  2. Za pomocą programu SQL Server Management Studio (SSMS) lub programu Azure Data Studio połącz się z wystąpieniem, w którym zainstalowano usługi SQL Server Machine Learning Services. Wybierz pozycję Nowe zapytanie , aby otworzyć okno zapytania, a następnie uruchom następujące polecenie, aby włączyć funkcję skryptów zewnętrznych:

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

    Jeśli funkcja została już włączona dla innego języka, nie musisz uruchamiać RECONFIGURE po raz drugi dla języka R. Podstawowa platforma rozszerzalności obsługuje oba języki. Aby zweryfikować, potwierdź, że następujące polecenie zwraca 1 dla config_value i run_value.

    EXEC sp_configure  'external scripts enabled';
    
  3. Uruchom ponownie usługę SQL Server. Ponowne uruchomienie usługi powoduje również automatyczne ponowne uruchomienie powiązanej usługi Launchpad programu SQL Server.

    Możesz ponownie uruchomić usługę, klikając prawym przyciskiem myszy polecenie Uruchom ponownie dla wystąpienia w Eksploratorze obiektów programu SSMS lub za pomocą elementu Usługi w Panelu sterowania lub przy użyciu programu SQL Server Configuration Manager.

  4. Zweryfikuj instalację, uruchamiając proste polecenie języka T-SQL, aby zwrócić wersję języka R:

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

Konfigurowanie obsługi języka Python

Instalowanie środowiska uruchomieniowego języka Python

  1. Pobierz najnowszą wersję środowiska Python 3.10 dla systemu Windows. Zainstaluj ją przy użyciu następujących opcji:

    1. Otwórz aplikację Instalatora języka Python i wybierz pozycję Dostosuj instalację.

    2. Upewnij się, że pole wyboru Zainstaluj uruchamianie dla wszystkich użytkowników (zalecane) jest zaznaczone.

    3. W obszarze Funkcje opcjonalne wybierz żądane funkcje (lub wybierz je wszystkie).

    4. Na stronie Opcje zaawansowane wybierz pozycję Zainstaluj dla wszystkich użytkowników, zaakceptuj inne opcje domyślne, a następnie wybierz pozycję Zainstaluj.

      Zalecamy użycie ścieżki instalacji języka Python, do której wszyscy użytkownicy mogą uzyskiwać dostęp (na C:\Program Files\Python310przykład ), a nie tej, która jest specyficzna dla jednego użytkownika.

  2. Pobierz i zainstaluj najnowszą wersję revoscalepy pakietu oraz jego zależności z nowego wiersza polecenia z podwyższonym poziomem uprawnień:

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

    Uruchom następujące polecenia icacls, aby udzielić dostępu ODCZYT i WYKONAJ do zainstalowanych bibliotek do usługi SQL Server Launchpad Service i SID S-1-15-2-1 (ALL_APPLICATION_PACKAGES). Musisz udzielić uprawnień do konta usługi skojarzonego z usługą Launchpad, sprawdź w menedżerze konfiguracji SQL Server.

    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
    

    Jeśli program SQL Server został zainstalowany jako nazwane wystąpienie, konto usługi może mieć $ element w środku, na przykład:

    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
    

Konfigurowanie środowiska uruchomieniowego języka Python przy użyciu programu SQL Server

  1. Skonfiguruj zainstalowane środowisko uruchomieniowe języka Python przy użyciu programu SQL Server. Domyślną wersję można zmienić przy użyciu RegisterRext.exe narzędzia wiersza polecenia. Narzędzie znajduje się w niestandardowej lokalizacji instalacji (na przykład C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs).

    W wierszu polecenia z podwyższonym poziomem uprawnień można użyć następującego skryptu, aby skonfigurować zainstalowane środowisko uruchomieniowe Python z lokalizacji folderu instalacyjnego RegisterRext.exe. Nazwa wystąpienia to MSSQLSERVER dla domyślnego wystąpienia programu SQL Server lub określona nazwa dla nazwanego wystąpienia programu SQL Server.

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

    Jeśli konfigurujesz nazwane wystąpienie programu SQL Server, które zazwyczaj określasz jako ".\SQLEXPRESS" lub "MACHINENAME\SQLEXPRESS", dołącz tylko nazwę instancji. Przykład:

    cd "C:\Program Files\Python310\Lib\site-packages\revoscalepy\rxLibs"
    .\RegisterRext.exe /configure /pythonhome:"C:\Program Files\Python310" /instance:"SQLEXPRESS"
    
  2. Użyj programu SQL Server Management Studio lub Azure Data Studio , aby nawiązać połączenie z wystąpieniem, w którym zainstalowano usługi SQL Server Machine Learning Services. Wybierz pozycję Nowe zapytanie , aby otworzyć okno zapytania, a następnie uruchom następujące polecenie, aby włączyć funkcję skryptów zewnętrznych:

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

    Jeśli funkcja została już włączona dla innego języka, nie musisz uruchamiać RECONFIGURE po raz drugi dla języka R. Podstawowa platforma rozszerzalności obsługuje oba języki. Aby zweryfikować, upewnij się, że następujące polecenie zwraca 1 dla config_value oraz run_value:

    EXEC sp_configure  'external scripts enabled';
    
  3. Uruchom ponownie usługę SQL Server. Ponowne uruchomienie usługi powoduje również automatyczne ponowne uruchomienie powiązanej usługi Launchpad programu SQL Server.

    Możesz ponownie uruchomić usługę, klikając prawym przyciskiem myszy polecenie Uruchom ponownie dla wystąpienia w Eksploratorze obiektów programu SSMS lub za pomocą elementu Usługi w Panelu sterowania lub przy użyciu programu SQL Server Configuration Manager.

  4. Zweryfikuj instalację, uruchamiając proste polecenie, aby zwrócić wersję języka Python:

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

Instalowanie języka Java

Aby uzyskać informacje na temat instalowania i używania języka Java, zobacz Instalowanie rozszerzenia języka Java programu SQL Server w systemie Windows.

Dodatkowa konfiguracja

Jeśli krok weryfikacji skryptu zewnętrznego zakończył się pomyślnie, możesz uruchomić polecenia języka R lub Python z poziomu programu SQL Server Management Studio, programu Visual Studio Code lub innego klienta, który może wysyłać instrukcje języka T-SQL do serwera.

Niezależnie od tego, czy wymagana jest dodatkowa konfiguracja, zależy od schematu zabezpieczeń, w którym zainstalowano program SQL Server i jak można oczekiwać, że użytkownicy będą łączyć się z bazą danych i uruchamiać skrypty zewnętrzne.

Jeśli podczas uruchamiania polecenia wystąpił błąd, może być konieczne wprowadzenie dodatkowych konfiguracji do usługi lub bazy danych. Na poziomie instancji dodatkowe konfiguracje mogą obejmować:

Począwszy od programu SQL Server 2019 w systemie Windows, mechanizm izolacji został zmieniony. Ten mechanizm ma wpływ na sqlRUserGroup, reguły zapory, uprawnienia do plików i implikowane uwierzytelnianie. Aby uzyskać więcej informacji, zobacz SQL Server on Windows: Isolation changes for Machine Learning Services (Program SQL Server w systemie Windows: zmiany izolacji dla usług Machine Learning Services).

W bazie danych mogą być potrzebne aktualizacje konfiguracji. Aby uzyskać więcej informacji, zobacz Udzielanie użytkownikom bazy danych uprawnień do wykonywania skryptów języka Python i R za pomocą usług SQL Server Machine Learning Services.

Sugerowane optymalizacje

Teraz, gdy wszystko działa, możesz również chcieć zoptymalizować serwer pod kątem obsługi uczenia maszynowego lub zainstalować wstępnie wytrenowany model uczenia maszynowego.

Optymalizowanie serwera pod kątem wykonywania skryptów

Domyślne ustawienia konfiguracji programu SQL Server mają na celu optymalizację równowagi serwera dla różnych innych usług i aplikacji.

W ustawieniach domyślnych zasoby uczenia maszynowego są czasami ograniczane, zwłaszcza w przypadku operacji intensywnie korzystających z pamięci.

Aby upewnić się, że zadania uczenia maszynowego są odpowiednio priorytetowe i zasobów, zalecamy skonfigurowanie zewnętrznej puli zasobów przy użyciu Resource Governor programu SQL Server. Możesz również zmienić ilość pamięci przydzielonej do aparatu bazy danych programu SQL Server lub zwiększyć liczbę kont uruchamianych w ramach usługi Launchpad programu SQL Server.

Jeśli używasz wersji Standard Edition i nie masz zarządcy zasobów, możesz użyć dynamicznych widoków zarządzania, zdarzeń rozszerzonych programu SQL Server i monitorowania zdarzeń systemu Windows, aby ułatwić zarządzanie zasobami serwera.

Instalowanie dodatkowych pakietów języka Python i języka R

Rozwiązania w językach Python i R tworzone dla programu SQL Server mogą wywoływać:

  • Funkcje podstawowe.
  • Funkcje z zastrzeżonych pakietów zainstalowanych za pomocą programu SQL Server.
  • Pakiety innych firm, które są zgodne z wersją języka Python typu open source i języka R instalowanym przez program SQL Server.

Pakiety, których chcesz używać z programu SQL Server, muszą być zainstalowane w domyślnej bibliotece używanej przez wystąpienie. Jeśli masz oddzielną instalację języka Python lub R na komputerze lub jeśli zainstalowano pakiety do bibliotek użytkowników, nie możesz używać tych pakietów z języka T-SQL.

Aby zainstalować dodatkowe pakiety i zarządzać nimi, można skonfigurować grupy użytkowników do udostępniania pakietów na poziomie poszczególnych baz danych. Możesz też skonfigurować role bazy danych, aby umożliwić użytkownikom instalowanie własnych pakietów. Aby uzyskać więcej informacji, zobacz Install Python packages with sqlmlutils i Install R packages with sqlmlutils.

Autonomiczne pakiety RevoScale dla języka Python i środowiska uruchomieniowego języka R

Pakiety RevoScale są również obsługiwane jako pakiet autonomiczny ze środowiskami uruchomieniowymi Python i R. Aby skonfigurować środowisko uruchomieniowe języka Python lub R dla scenariusza autonomicznego, postępuj zgodnie z instrukcjami w sekcjach Zainstaluj środowisko uruchomieniowe języka Python i Zainstaluj środowisko uruchomieniowe języka R odpowiednio.