Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описаны некоторые основные различия в функциональных возможностях служб машинного обучения в управляемом экземпляре SQL Azure и службами машинного обучения SQL Server.
Поддержка языка
Службы машинного обучения в управляемом экземпляре SQL и SQL Server поддерживают фреймворк расширяемости Python и R . Ключевое различие в Управляемом экземпляре SQL заключается в том, что поддерживаются только Python и R, а внешние языки, такие как Java, нельзя добавить.
Начальные версии Python и R отличаются в управляемом экземпляре SQL и SQL Server:
| Платформа | Версия среды выполнения Python | Версии среды выполнения R |
|---|---|---|
| Управляемый экземпляр SQL Azure | 3.7.2 | 3.5.2 |
| SQL Server 2022 1 | - | - |
| SQL Server 2019 | 3.7.1 | 3.5.2 |
| SQL Server 2017 | 3.5.2 и 3.7.2 (CU22 и более поздние версии) | 3.3.3 и 3.5.2 (CU22 и более поздние версии) |
| SQL Server 2016 | Недоступно | 3.2.2 и 3.5.2 (SP2 CU14 и более поздние версии) |
1 Начиная с SQL Server 2022, среды выполнения для R, Python и Java больше не отправляются или устанавливаются в программе установки SQL. Вместо этого установите нужные пользовательские среды выполнения и пакеты для R и/или Python. Дополнительные сведения см. в статье Установка служб машинного обучения SQL Server 2022 (Python и R) в Windows.
Пакеты Python и R
В Управляемом экземпляре SQL нет поддержки пакетов, зависящих от внешних сред выполнения (например, Java) или доступа к API ОС для установки или использования.
Дополнительные сведения об управлении пакетами Python и R см. в следующем разделе:
Управление пакетами с помощью sqlmlutils
Двоичные пакеты можно установить с помощью sqlmlutils, если вы можете создать двоичный пакет локально в качестве выходных данных. Примеры см. в разделе "Установка пакетов R с помощью sqlmlutils".
Управление ресурсами
В Управляемом экземпляре SQL невозможно ограничить ресурсы R с помощью регулятора ресурсов, а внешние пулы ресурсов не поддерживаются.
По умолчанию ресурсы R ограничиваются до 20% от доступных ресурсов управляемого экземпляра SQL, если включена расширяемость. Чтобы изменить этот процент по умолчанию, создайте запрос в службу поддержки Azure.
Расширяемость включена со следующими командами SQL (Управляемый экземпляр SQL перезапустится и недоступен в течение нескольких секунд):
sp_configure 'external scripts enabled', 1;
RECONFIGURE WITH OVERRIDE;
Чтобы отключить расширяемость и восстановление 100% ресурсов памяти и ЦП в SQL Server, используйте следующие команды:
sp_configure 'external scripts enabled', 0;
RECONFIGURE WITH OVERRIDE;
Общий объем ресурсов, доступных управляемому экземпляру SQL, зависит от выбранного уровня служб. Дополнительные сведения см. в статье "Сравнение моделей приобретения на основе виртуальных ядер и DTU" базы данных SQL Azure.
Ошибка нехватки памяти
Использование памяти зависит от того, сколько используется в скриптах R и количестве параллельных запросов, выполняемых. Если для R недостаточно памяти, вы получите сообщение об ошибке. Распространенные сообщения об ошибках:
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.
Если вы получаете одну из этих ошибок, ее можно устранить, масштабируя базу данных до более высокого уровня служб.
Если в управляемом экземпляре Azure SQL возникают ошибки, связанные с нехваткой памяти, просмотрите sys.dm_os_out_of_memory_events.
Пулы управляемых экземпляров SQL
Службы машинного обучения в настоящее время не поддерживаются в пулах управляемых экземпляров SQL Azure.
Исходящий сетевой доступ
Сетевой доступ запрещен или заблокирован и не может быть включен. Исходящее сетевое подключение для Управляемого экземпляра SQL Azure недоступно для служб машинного обучения.