Kluczowe różnice między usługami Machine Learning Services w usłudze Azure SQL Managed Instance i programie SQL Server

W tym artykule opisano kilka kluczowych różnic w funkcjonalności między usługami Machine Edukacja Services w usłudze Azure SQL Managed Instance i usługami SQL Server Machine Edukacja Services.

Obsługa języków

Usługi Edukacja Maszyny w usłudze SQL Managed Instance i programie SQL Server obsługują platformę rozszerzalności języka Python i języka R. Kluczową różnicą w usłudze SQL Managed Instance jest to, że obsługiwane są tylko języki Python i R, a nie można dodać języków zewnętrznych, takich jak Java.

Początkowe wersje języków Python i R różnią się w usługach SQL Managed Instance i SQL Server:

Platforma Wersja środowiska uruchomieniowego języka Python Wersje środowiska uruchomieniowego języka R
Wystąpienie zarządzane Azure SQL 3.7.2 3.5.2
SQL Server 2022 * - -
SQL Server 2019 3.7.1 3.5.2
SQL Server 2017 3.5.2 i 3.7.2 (CU22 i nowsze) 3.3.3 i 3.5.2 (CU22 i nowsze)
SQL Server 2016 Niedostępny 3.2.2 i 3.5.2 (SP2 CU14 i nowsze)

* Począwszy od programu SQL Server 2022, środowiska uruchomieniowe dla języków R, Python i Java nie są już dostarczane ani instalowane w ramach instalatora SQL. Zamiast tego zainstaluj żądane środowiska uruchomieniowe języka R i/lub Python niestandardowe środowiska uruchomieniowe i pakiety. Aby uzyskać więcej informacji, zobacz Instalowanie programu SQL Server 2022 Machine Edukacja Services (Python i R) w systemie Windows.

Pakiety python i R

W usłudze SQL Managed Instance nie ma obsługi pakietów, które zależą od zewnętrznych środowisk uruchomieniowych (takich jak Java) lub wymagają dostępu do interfejsów API systemu operacyjnego do instalacji lub użycia.

Aby uzyskać więcej informacji na temat zarządzania pakietami python i R, zobacz:

Zarządzanie pakietami za pomocą narzędzia sqlmlutils

Pakiety binarne można zainstalować za pomocą sqlmlutilspolecenia , jeśli możesz tworzyć lokalnie w celu utworzenia pakietu binarnego jako danych wyjściowych. Przykłady można znaleźć w temacie Install R packages with sqlmlutils or Install Python packages with sqlmlutils (Instalowanie pakietów języka R za pomocą narzędzia sqlmlutils).

Nadzór nad zasobami

W usłudze SQL Managed Instance nie można ograniczyć zasobów języka R za pośrednictwem zarządcy zasobów, a zewnętrzne pule zasobów nie są obsługiwane.

Domyślnie zasoby języka R są ustawione na maksymalnie 20% dostępnych zasobów usługi SQL Managed Instance po włączeniu rozszerzalności. Aby zmienić tę domyślną wartość procentową, utwórz bilet pomoc techniczna platformy Azure pod adresem https://azure.microsoft.com/support/create-ticket/.

Rozszerzalność jest włączona przy użyciu następujących poleceń SQL (usługa SQL Managed Instance zostanie uruchomiona ponownie i będzie niedostępna przez kilka sekund):

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

Aby wyłączyć rozszerzalność i przywrócić 100% pamięci i zasobów procesora CPU do programu SQL Server, użyj następujących poleceń:

sp_configure 'external scripts enabled', 0;
RECONFIGURE WITH OVERRIDE;

Łączna ilość zasobów dostępnych dla usługi SQL Managed Instance zależy od wybranej warstwy usługi. Aby uzyskać więcej informacji, zobacz Modele zakupów usługi Azure SQL Database.

Błąd niewystarczającej ilości pamięci

Użycie pamięci zależy od ilości używanej w skryptach języka R i liczby wykonywanych zapytań równoległych. Jeśli dla języka R jest za mało dostępnej pamięci, zostanie wyświetlony komunikat o błędzie. Typowe komunikaty o błędach:

  • Unable to communicate with the runtime for 'R' script for request id: *******. Please check the requirements of 'R' runtime
  • 'R' script error occurred during execution of 'sp_execute_external_script' with HRESULT 0x80004004. ...an external script error occurred: "..could not allocate memory (0 Mb) in C function 'R_AllocStringBuffer'"
  • An external script error occurred: Error: cannot allocate vector of size.

Jeśli wystąpi jeden z tych błędów, możesz go rozwiązać, skalując bazę danych do wyższej warstwy usługi.

Jeśli wystąpią błędy braku pamięci w usłudze Azure SQL Managed Instance, zapoznaj się z sys.dm_os_out_of_memory_events.

Pule usługi SQL Managed Instance

Usługi machine Edukacja nie są obecnie obsługiwane w pulach usługi Azure SQL Managed Instance (wersja zapoznawcza).

Wychodzący dostęp sieciowy

Dostęp do sieci jest niedozwolony lub zablokowany i nie można go włączyć. Wychodzące połączenie sieciowe dla usługi Azure SQL Managed Instance nie jest dostępne dla usługi Machine Edukacja Services.

Następne kroki