Sql server launchpad что это

Служба SQL Server R – для чего?

Одним из нововведений в SQL Server 2016 – стала новая служба SQL Server R. И если многие знают что представляет из себя SQL Server. Некоторые знают, что же такое язык R и для чего он нужен. Но для чего необходимо было встраивать R в SQL Server?

SQL Server – как платформа

SQL Server всё больше перестает быть простым сервером баз данных. Теперь это скорее целая платформа для обработки данных. Платформа интеллектуальной обработки данных.

Служба SQL Server R – это встроенный в базу данных функционал аналитики, глубоко интегрирующий R в SQL Server. В компании Microsoft стремятся максимально приблизить аналитические возможности представляемые языком R к данным. Создав тем самым платформу интеллектуальной обработки данных. И дело здесь в том, что единая платформа позволяет гораздо легче использовать и управлять R, связывая его с данными на сервере баз данных. Используя эти возможности как напрямую, так и через клиентские приложения для обработки данных.

Проблема открытого исходного кода R

С открытым исходным кодом R есть три основные проблемы. И вот как в Microsoft решают эти проблемы, приближая аналитику к данным на SQL Server.

Проблема первая – передача данных

Передача данных из базы данных в среду выполнения R может оказаться как небезопасным, так и длительным процессом. Для более точного анализа необходимо исследовать значительные объемы данных и чем больше данных, тем дольше будет идти передача данных. Кроме того сам процесс передачи может быть небезопасен и нести риски с точки зрения информационной безопасности. Особенно остро эти два вопроса могут стоять при анализе данных попадающих под классификации персональных данных или данных для служебного пользования. К безопасности которых предъявляются особые требования.

Решение — уменьшить или полностью исключить необходимость передачи данных, встроив аналитику R в саму базу данных.

Проблема вторая – исполнение скриптов R

Разработчики программного обеспечения, которые пробовали использовать R в своих приложениях, знают, как бывает сложно вызвать сторонний скрипт. Что для этого использовать? Библиотеки сторонних разработчиков, которые иногда представляют лишь ограниченные возможности. Переносить скрипты с R на другой язык? Всё это порой тяжело и трудоемко.

Проблема третья – масштабируемость и производительность уровня предприятий

Очень серьёзной проблемой с точки зрения масштабируемости и использования на уровне предприятий являются ограничения среды выполнения R. Чаще всего скрипты выполняются в однопоточном режиме, а результат выполнения может быть размещен только в доступной памяти.

Архитектура масштабируемости SQL Server

Основой этой платформы анализа данных является новая архитектура расширяемости SQL Server 2016.

Способ, которым взаимодействуют R и SQL Server в Microsoft называют архитектурой расширяемости. До этого CLR давала возможность при помощи хранимых процедур запустить внешний код/скрипт на выполнение, но он всё равно запускался в пространстве процесса SQL Server. Возможность запуска таких скриптов могла привести к нарушениям в работе сервера баз данных. Кроме того хоть внешний процесс запускался в пространстве сервера баз данных, SQL Server ни как не мог повлиять на процесс выполнения.

В новой версии была создана новая универсальная расширяемая архитектура. Которая позволяет запускать внешний код, такой как скрипты R уже не внутри процесса SQL Server. Если при установке SQL Server Вы устанавливали и службу R, то в менеджере конфигурации Вы можете увидеть новую службу – Launchpad.

Интерфейс T-SQL: sp_execute_external_script

Так каким же образом внешние скрипты, такие как скрипты R используют новую архитектуру? Для этого была создана новая хранимая процедура sp_execute_external_script. Эта процедура имеет все атрибуты других хранимых процедур. У нее есть параметры, она возвращает значения и может вызываться из любого клиентского приложения.

Запуская процедуру, Вы описываете что и каким образом хотите выполнить. Процедура через именованный канал связывается со службой Launchpad и отправляет ей сообщение. И уже служба запускает на выполнение внешний скрипт. На текущий момент поддерживается выполнение только на языке R.

Источник

SQL Server Launchpad service configuration

The SQL Server Launchpad is a service that manages and executes external scripts, similar to the way that the full-text indexing and query service launches a separate host for processing full-text queries.

Account permissions

By default, SQL Server Launchpad is configured to run under NT Service\MSSQLLaunchpad, which is provisioned with all necessary permissions to run external scripts. Removing permissions from this account can result in Launchpad failing to start or to access the SQL Server instance where external scripts should be run.

If you modify the service account, be sure to use the Local Security Policy console.

Permissions required for this account are listed in the following table.

Group policy settingConstant name
Adjust memory quotas for a processSeIncreaseQuotaPrivilege
Bypass traverse checkingSeChangeNotifyPrivilege
Log on as a serviceSeServiceLogonRight
Replace a process-level tokenSeAssignPrimaryTokenPrivilege

For more information about permissions required to run SQL Server services, see Configure Windows Service Accounts and Permissions.

Configuration properties

Typically, there is no reason to modify service configuration. Properties that could be changed include the service account, the count of external processes (20 by default), or the password reset policy for worker accounts.

Under SQL Server Services, right-click SQL Server Launchpad and select Properties.

In early versions of SQL Server 2016 R Services, you could change some properties of the service by editing the R Services (In-Database) configuration file. This file is no longer used for changing configurations. SQL Server Configuration Manager is the right approach for changes to service configuration, such as the service account and number of users.

Debug settings

You must be an administrator on the computer that is running SQL Server to make changes to this file. If you edit the file, we recommend that you make a backup copy before saving changes.

The following table lists the advanced settings for SQL Server, with the permissible values.

Enforcing password policy

If your organization has a policy that requires changing passwords on a regular basis, you may need to force the Launchpad service to regenerate the encrypted passwords that Launchpad maintains for its worker accounts.

To enable this setting and force password refresh, open the Properties pane for the Launchpad service in SQL Server Configuration Manager, click Advanced, and change Reset External Users Password to Yes. When you apply this change, the passwords will immediately be regenerated for all user accounts. To run an external script after this change, you must restart the Launchpad service, at which time it will read the newly generated passwords.

To reset passwords at regular intervals, you can either set this flag manually or use a script.

Источник

Troubleshoot issues with Launchpad service executing Python and R scripts in SQL Server Machine Learning Services

This article provides troubleshooting guidance for issues involving the SQL Server Launchpad service used with Machine Learning Services. The Launchpad service supports external script execution for R and Python. Multiple issues can prevent Launchpad from starting, including configuration problems or changes, or missing network protocols.

Determine whether Launchpad is running

Open SQL Server Configuration Manager. From the command line, type SQLServerManager13.msc, SQLServerManager14.msc, or SQLServerManager15.msc.

Make a note of the service account that Launchpad is running under. Each instance where R or Python is enabled should have its own instance of the Launchpad service. For example, the service for a named instance might be something like MSSQLLaunchpad$InstanceName.

If the service is stopped, restart it. On restarting, if there are any issues with configuration, a message is published in the system event log, and the service is stopped again. Check the system event log for details about why the service stopped.

Review the contents of RSetup.log, and make sure that there are no errors in the setup. For example, the message Exiting with code 0 indicates failure of the service to start.

To look for other errors, review the contents of rlauncher.log.

Check the Launchpad service account

The default service account might be «NT Service$SQL2016», «NT Service$SQL2017», or «NT Service$SQL2019». The final part might vary, depending on your SQL instance name.

The Launchpad service (Launchpad.exe) runs by using a low-privilege service account. However, to start R and Python and communicate with the database instance, the Launchpad service account requires the following user rights:

For information about these user rights, see the «Windows privileges and rights» section in Configure Windows service accounts and permissions.

If you are familiar with the use of the Support Diagnostics Platform (SDP) tool for SQL Server diagnostics, you can use SDP to review the output file with the name MachineName_UserRights.txt.

User group for Launchpad cannot log on locally

During setup of Machine Learning Services, SQL Server creates the Windows user group SQLRUserGroup and then provisions it with all rights necessary for Launchpad to connect to SQL Server and run external script jobs. If this user group is enabled, it is also used to execute Python scripts.

However, in organizations where more restrictive security policies are enforced, the rights that are required by this group might have been manually removed, or they might be automatically revoked by policy. If the rights have been removed, Launchpad can no longer connect to SQL Server, and SQL Server cannot call the external runtime.

To correct the problem, ensure that the group SQLRUserGroup has the system right Allow log on locally.

Permissions to run external scripts

Even if Launchpad is configured correctly, it returns an error if the user does not have permission to run R or Python scripts.

If you installed SQL Server as a database administrator or you are a database owner, you are automatically granted this permission. However, other users usually have more limited permissions. If they try to run an R script, they get a Launchpad error.

To correct the problem, in SQL Server Management Studio, a security administrator can modify the SQL login or Windows user account by running the following script:

For more information, see GRANT (Transact-SQL.

Common Launchpad errors

This section lists the most common error messages that Launchpad returns.

«Unable to launch runtime for R script»

If the Windows group for R users (also used for Python) cannot log on to the instance that is running R Services, you might see the following errors:

Errors generated when you try to run R scripts:

Unable to launch runtime for ‘R’ script. Please check the configuration of the ‘R’ runtime.

An external script error occurred. Unable to launch the runtime.

Errors generated by the SQL Server Launchpad service:

Failed to initialize the launcher RLauncher.dll

No launcher dlls were registered!

Security logs indicate that the account NT SERVICE was unable to log on

For information about how to grant this user group the necessary permissions, see Install SQL Server R Services.

This limitation does not apply if you use SQL logins to run R scripts from a remote workstation.

«Logon failure: the user has not been granted the requested logon type»

If you assign a different account to Launchpad, or the right is removed by a policy on the SQL Server machine, the account might not have the necessary permissions, and you might see this error:

ERROR_LOGON_TYPE_NOT_GRANTED 1385 (0x569) Logon failure: the user has not been granted the requested logon type at this computer.

To grant the necessary permissions to the new service account, use the Local Security Policy application, and update the permissions on the account to include the following permissions:

«Unable to communicate with the Launchpad service»

If you have installed and then enabled machine learning, but you get this error when you try to run an R or Python script, the Launchpad service for the instance might have stopped running.

From a Windows command prompt, open the SQL Server Configuration Manager. For more information, see SQL Server Configuration Manager.

Right-click SQL Server Launchpad for the instance, and then select Properties.

Select the Service tab, and then verify that the service is running. If it is not running, change the Start Mode to Automatic, and then select Apply.

Restarting the service usually fixes the problem so that machine learning scripts can run. If the restart does not fix the issue, note the path and the arguments in the Binary Path property, and do the following:

b. Ensure that the Windows group that’s used by Launchpad can connect to the SQL Server instance.

c. If you change any of the service properties, restart the Launchpad service.

«Fatal error creation of tmpFile failed»

In this scenario, you have successfully installed machine learning features, and Launchpad is running. You try to run some simple R or Python code, but Launchpad fails with an error like the following:

Unable to communicate with the runtime for R script. Please check the requirements of R runtime.

At the same time, the external script runtime writes the following message as part of the STDERR message:

Fatal error: creation of tmpfile failed.

This error indicates that the account that Launchpad is attempting to use does not have permission to log on to the database. This situation can happen when strict security policies are implemented. To determine whether this is the case, review the SQL Server logs, and check to see whether the MSSQLSERVER01 account was denied at login. The same information is provided in the logs that are specific to R_SERVICES or PYTHON_SERVICES. Look for ExtLaunchError.log.

By default, 20 accounts are set up and associated with the Launchpad.exe process, with the names MSSQLSERVER01 through MSSQLSERVER20. If you make heavy use of R or Python, you can increase the number of accounts.

To resolve the issue, ensure that the group has Allow Log on Locally permissions to the local instance where machine learning features have been installed and enabled. In some environments, this permission level might require a GPO exception from the network administrator.

«Not enough quota to process this command»

This error can mean one of several things:

Launchpad might have insufficient external users to run the external query. For example, if you are running more than 20 external queries concurrently, and there are only 20 default users, one or more queries might fail.

Insufficient memory is available to process the R task. This error happens most often in a default environment, where SQL Server might be using up to 70 percent of the computer’s resources. For information about how to modify the server configuration to support greater use of resources by R, see Operationalizing your R code.

«Can’t find package»

If you run R code in SQL Server and get this message, but did not get the message when you ran the same code outside SQL Server, it means that the package was not installed to the default library location used by SQL Server.

This error can happen in many ways:

You installed a new package on the server, but access was denied, so R installed the package to a user library.

You installed R Services and then installed another R tool or set of libraries, such as RStudio.

To determine the location of the R package library that’s used by the instance, open SQL Server Management Studio (or any other database query tool), connect to the instance, and then run the following stored procedure:

Sample results

STDOUT message(s) from external script:

[1] «C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\R_SERVICES»

[1] «C:/Program Files/Microsoft SQL Server/MSSQL13.SQL2016/R_SERVICES/library»

To resolve the issue, you must reinstall the package to the SQL Server instance library.

If you have upgraded an instance of SQL Server 2016 to use the latest version of Microsoft R, the default library location is different. For more information, see Default R library location.

Launchpad shuts down due to mismatched DLLs

If you install the database engine with other features, patch the server, and then later add the Machine Learning feature by using the original media, the wrong version of the Machine Learning components might be installed. When Launchpad detects a version mismatch, it shuts down and creates a dump file.

To avoid this problem, be sure to install any new features at the same patch level as the server instance.

The wrong way to upgrade:

The correct way to upgrade:

Launchpad fails to start if 8dot3 notation is required

On older systems, Launchpad can fail to start if there is an 8dot3 notation requirement. This requirement has been removed in later releases. SQL Server 2016 R Services customers should install one of the following:

For compatibility with R, SQL Server 2016 R Services (In-Database) required the drive where the feature is installed to support the creation of short file names by using 8dot3 notation. An 8.3 file name is also called a short file name, and it’s used for compatibility with earlier versions of Microsoft Windows or as an alternative to long file names.

If the volume where you are installing R does not support short file names, the processes that launch R from SQL Server might not be able to locate the correct executable, and Launchpad will not start.

As a workaround, you can enable the 8dot3 notation on the volume where SQL Server is installed and where R Services is installed. You must then provide the short name for the working directory in the R Services configuration file.

To enable 8dot3 notation, run the fsutil utility with the 8dot3name argument as described here: fsutil 8dot3name.

Use the fsutil utility with the file argument to specify a short file path for the folder that’s specified in WORKING_DIRECTORY.

Edit the configuration file to specify the same working directory that you entered in the WORKING_DIRECTORY property. Alternatively, you can specify a different working directory and choose an existing path that’s already compatible with the 8dot3 notation.

Источник

Конфигурация службы панели запуска SQL Server

Панель запуска SQL Server — это новая служба, которая управляет и запускает внешние скрипы, аналогично тому, как служба полнотекстового индексирования и обработки запросов запускается на отдельном узле для обработки полнотекстовых запросов.

Разрешения учетной записи

По умолчанию панель запуска SQL Server настроена для работы под учетной записью NT Service\MSSQLLaunchpad, имеющей все необходимые разрешения на выполнение внешних скриптов. Удаление разрешений этой учетной записи может привести к тому, что панель запуска не сможет запуститься или получить доступ к экземпляру SQL Server, где должны выполняться внешние скрипты.

При изменении этой учетной записи службы обязательно используйте консоль локальной политики безопасности.

Разрешения, необходимые для этой учетной записи, перечислены в следующей таблице.

Параметр групповой политикиИмя константы
Назначение квот памяти процессамSeIncreaseQuotaPrivilege
Обход проходной проверкиSeChangeNotifyPrivilege
Вход в систему в качестве службы.SeServiceLogonRight
Замена токена уровня процессаSeAssignPrimaryTokenPrivilege

Дополнительные сведения о разрешениях, необходимых для запуска служб SQL Server, см. в разделе Права доступа и права Windows.

Свойства конфигурации

Как правило, изменять конфигурацию службы не требуется. Свойства, которые можно изменить: учетная запись службы, число внешних процессов (по умолчанию 20) и политика сброса паролей для учетных записей рабочих ролей.

В разделе «Службы SQL Server» щелкните правой кнопкой мыши «Панель запуска SQL Server» и выберите пункт Свойства.

В ранних версиях служб R SQL Server 2016 можно было изменять некоторые свойства этой службы путем изменения файла конфигурации Службы R (в базе данных). Этот файл больше не используется для изменения конфигураций. Изменять конфигурацию службы, например изменять учетную запись службы или количество пользователей, необходимо в диспетчере конфигурации SQL Server.

Параметры отладки

В следующей таблице перечислены дополнительные параметры для SQL Server, а также их допустимые значения.

Имя параметраТипОписание
JOB_CLEANUP_ON_EXITЦелочисленный типЭто внутренний параметр. Не изменяйте его значение.
Указывает, следует ли очищать временную рабочую папку, создаваемую для каждого сеанса внешней среды выполнения, после завершения этого сеанса. Этот параметр полезен для отладки.
Поддерживаемые значения: 0 (Отключено) или 1 (Включено).
Значение по умолчанию — 1, т. е. файлы журналов должны удаляться после выхода.
TRACE_LEVELЦелочисленный типЗадает уровень детализации трассировки MSSQLLAUNCHPAD для целей отладки. Этот параметр влияет на файлы трассировки по пути, заданном параметром LOG_DIRECTORY.
Поддерживаемые значения: 1 (Ошибка), 2 (Выполнение), 3 (Предупреждение), 4 (Информация).
Значение по умолчанию — 1, т. е. отображаются только ошибки.

Принудительное применение политики паролей

Если ваша организация имеет политику, которая требует регулярной смены паролей, может потребоваться принудительно запустить службу панели запуска для повторного создания зашифрованных паролей, которые хранит панель запуска для рабочих учетных записей.

Чтобы включить этот параметр и принудительно обновлять пароли, откройте область Свойства службы панели запуска в диспетчере конфигурации SQL Server, щелкните Дополнительно и измените значение параметра Сбросить пароль внешних пользователей на Да. После применения этого изменения пароли немедленно будут созданы повторно для всех учетных записей пользователей. Чтобы выполнить внешний скрипт после этого изменения, необходимо перезапустить службу панели запуска. В это время будут считываться заново созданные пароли.

Для сброса паролей через регулярные интервалы можно вручную установить этот флаг или использовать скрипт.

Источник

Устранение неполадок со службой панели запуска, выполняющей скрипты Python и R в Службах машинного обучения SQL Server

Эта статья содержит рекомендации по устранению неполадок, связанных со службой Панели запуска SQL Server при использовании Служб машинного обучения. Служба панели запуска поддерживает выполнение внешних скриптов для R и Python. Запуску панели запуска SQL Server могут препятствовать различные неполадки, включая проблемы или изменения в конфигурации и отсутствие сетевых протоколов.

Определение того, выполняется панель запуска

Откройте Диспетчер конфигурации SQL Server. В командной строке введите SQLServerManager13.msc, SQLServerManager14.msc или SQLServerManager15.msc.

Запишите учетную запись службы, под которой выполняется панель запуска. Каждый экземпляр, где включен R или Python, должен иметь собственный экземпляр службы панели запуска. Например, служба для именованного экземпляра может иметь вид MSSQLLaunchpad$имя_экземпляра.

Если служба остановлена, перезапустите ее. Если при перезапуске возникают проблемы с конфигурацией, в журнал системных событий заносится сообщение, а служба снова останавливается. Проверьте журнал системных событий на наличие сведений о причинах остановки службы.

Проверьте содержимое файла RSetup.log и убедитесь в отсутствии ошибок в программе установки. Например, сообщение Выполняется выход с кодом 0 указывает на сбой запуска службы.

Чтобы найти другие ошибки, просмотрите содержимое файла журнала rlauncher.log.

Проверка учетной записи службы панели запуска

По умолчанию может использоваться учетная запись службы «NT Service$SQL2016», «NT Service$SQL2017» или «NT Service$SQL2019». Конечная часть может отличаться в зависимости от имени экземпляра SQL.

Служба панели запуска (Launchpad.exe) выполняется с использованием учетной записи службы с минимальными правами доступа. Однако, чтобы запустить R и Python и взаимодействовать с экземпляром базы данных, учетной записи службы панели запуска требуются следующие права пользователя:

Сведения об этих правах пользователя см. в разделе «Права доступа и права Windows» статьи Настройка учетных записей службы Windows и разрешений.

Если вы знакомы с использованием средства Support Diagnostics Platform (SDP) для диагностики SQL Server, можете использовать SDP для просмотра выходного файла с именем «имя_компьютера_UserRights.txt».

Группе пользователей для панели запуска не удается войти в систему локально

Во время установки Служб машинного обучения система SQL Server создает группу пользователей Windows SQLRUserGroup и назначает ей все необходимые права для подключения панели запуска к SQL Server и выполнения заданий внешних скриптов. Если эта группа пользователей включена, она также используется для выполнения скриптов Python.

Однако в организациях, где применяются более строгие политики безопасности, права, необходимые этой группе, могли быть удалены вручную или автоматически отменены политикой. Если права были удалены, панель запуска больше не может подключаться к SQL Server, и SQL Server не может вызывать внешнюю среду выполнения.

Чтобы устранить проблему, задайте для группы SQLRUserGroup разрешение Локальный вход в систему.

Разрешения для запуска внешних скриптов

Даже если панель запуска настроена правильно, она возвращает ошибку, когда у пользователя нет разрешения на выполнение скриптов R или Python.

Если вы установили SQL Server в качестве администратора базы данных или являетесь владельцем базы данных, вы получаете это разрешение автоматически. Однако другие пользователи обычно обладают более ограниченными разрешениями. При попытке запустить скрипт R они получат ошибку панели запуска.

Чтобы устранить эту проблему, в SQL Server Management Studio администратор безопасности может изменить имя входа SQL или учетную запись пользователя Windows, запустив следующий скрипт:

Дополнительные сведения см. в разделе GRANT (Transact-SQL).

Распространенные ошибки панели запуска

В этом разделе перечислены наиболее распространенные сообщения об ошибках, возвращаемые панелью запуска.

«Не удается запустить среду выполнения для скрипта R»

Если группа Windows для пользователей R (также используемая для Python) не может войти в экземпляр, где выполняются службы R Services, могут отобразиться следующие ошибки:

Ошибки, возникающие при попытке запуска скриптов R:

Не удается запустить среду выполнения для скрипта R. Проверьте конфигурацию среды выполнения R.

Возникла ошибка во внешнем скрипте. Не удается запустить среду выполнения.

Ошибки, вызываемые службой Панель запуска SQL Server:

Не удалось инициализировать средство запуска RLauncher.dll

Библиотеки DLL средства запуска не зарегистрированы

Согласно журналам безопасности, учетной записи NT SERVICE не удалось выполнить вход

Сведения о том, как предоставить этой группе пользователей необходимые разрешения, см. в разделе Установка служб SQL Server R Services.

Это ограничение не распространяется на тот случай, если вы используете имена входа SQL для выполнения скриптов R с удаленной рабочей станции.

«Вход в систему не произведен: выбранный режим входа для данного пользователя не предусмотрен»

Если вы назначите панели запуска другую учетную запись или разрешение будет удалено политикой на компьютере SQL Server, у учетной записи могут отсутствовать необходимые разрешения, в результате чего вы получите следующую ошибку:

ERROR_LOGON_TYPE_NOT_GRANTED 1385 (0x569) Вход в систему не произведен: выбранный режим входа для данного пользователя на этом компьютере не предусмотрен

Чтобы предоставить новой учетной записи службы необходимые разрешения, используйте приложение «Локальная политика безопасности» и добавьте в учетную запись следующие разрешения:

«Не удалось связаться со службой панели запуска»

Если вы установили и затем включили машинное обучение, но эта ошибка возникает при попытке запуска скрипта R или Python, возможно, была остановлена служба панели запуска для этого экземпляра.

Запустите диспетчер конфигурации SQL Server из командной строки Windows. Дополнительные сведения см. в разделе SQL Server Configuration Manager.

Щелкните правой кнопкой мыши панель запуска SQL Server для этого экземпляра и выберите пункт Свойства.

Откройте вкладку Службы и убедитесь, что служба запущена. Если это не так, установите Автоматический Режим запуска и нажмите кнопку Применить.

Перезапуск службы обычно устраняет проблему и позволяет запускать скрипты машинного обучения. Если перезапуск не устраняет проблему, запишите путь и аргументы в свойстве Путь к двоичным файлам и сделайте следующее:

а. Просмотрите файл CONFIG средства запуска и убедитесь, что рабочий каталог допустим.

b. Убедитесь, что группа Windows, используемая панелью запуска, может подключаться к экземпляру SQL Server.

c. При изменении любых свойств службы перезапустите службу панели запуска.

«Неустранимая ошибка: сбой при создании tmpFile»

В этом сценарии вы успешно установили компоненты машинного обучения, а панель запуска работает. Вы пытаетесь запустить простой код R или Python, но панель запуска завершает работу с ошибкой следующего вида:

Не удалось связаться со средой выполнения для скрипта R. Проверьте требования среды выполнения R.

В то же время среда выполнения внешнего скрипта записывает следующее сообщение в составе сообщения STDERR:

Неустранимая ошибка: сбой при создании tmpfile.

Эта ошибка означает, что у учетной записи, которую пытается использовать панель запуска, нет разрешения на вход в базу данных. Такая ситуация может возникать, если применены строгие политики безопасности. Чтобы определить, является ли это причиной, просмотрите журналы SQL Server и проверьте, не был ли запрещен доступ для учетной записи MSSQLSERVER01 при входе. Те же сведения приведены в журналах, относящихся к R_SERVICES или PYTHON_SERVICES. Найдите файл ExtLaunchError.log.

По умолчанию настроено 20 учетных записей, сопоставленных с процессом Launchpad.exe, с именами от MSSQLSERVER01 и до MSSQLSERVER20. При интенсивном использовании R или Python число учетных записей можно увеличить.

Чтобы устранить эту проблему, убедитесь, что группа имеет разрешения Локальный вход в систему для локального экземпляра, где установлены и включены функции машинного обучения. В некоторых средах для этого уровня разрешений сетевому администратору может потребоваться добавить исключение в GPO.

«Недостаточно квот для обработки этой команды»

Эта ошибка может указывать на одну из следующих ситуаций:

Панель запуска может иметь недостаточно внешних пользователей для выполнения внешнего запроса. Например, при одновременном запуске более 20 внешних запросов и наличии всего 20 пользователей по умолчанию может произойти сбой одного или нескольких запросов.

Недостаточно памяти для обработки задачи R. Эта ошибка чаще всего возникает в среде по умолчанию, где SQL Server может использовать до 70 процентов ресурсов компьютера. Сведения о том, как изменить конфигурацию сервера для увеличение объема ресурсов, используемых R, см. в статье Ввод в эксплуатацию кода R.

«Не удается найти пакет»

Если вы получаете это сообщение при запуске кода R в SQL Server и не получаете его при запуске кода за пределами SQL Server, значит пакет не был установлен в расположение библиотеки по умолчанию, используемое SQL Server.

Эта ошибка может возникать во многих случаях:

Вы установили новый пакет на сервере, но в доступе было отказано, поэтому R установил пакет в пользовательскую библиотеку.

Вы установили службы R, а затем установили еще один инструмент или набор библиотек, например RStudio.

Чтобы определить расположение библиотеки пакетов R, используемое данным экземпляром, откройте SQL Server Management Studio (или любое другое средство по работе с запросами к базе данных), подключитесь к экземпляру, а затем запустите следующую хранимую процедуру:

Образец результатов

Сообщения STDOUT из внешнего скрипта:

[1] «C:\Program Files\Microsoft SQL Server\MSSQL13.SQL2016\R_SERVICES»

[1] «C:/Program Files/Microsoft SQL Server/MSSQL13.SQL2016/R_SERVICES/library»

Чтобы устранить эту проблему, необходимо переустановить пакет в библиотеку экземпляров SQL Server.

Если вы обновили экземпляр SQL Server 2016 для использования последней версии Microsoft R, расположение библиотеки по умолчанию отличается. Дополнительные сведения см. в разделе Расположение библиотеки R по умолчанию.

Завершение работы панели запуска из-за несовпадающих библиотек DLL

Если вы устанавливаете ядро СУБД с другими компонентами, устанавливаете исправление для сервера, а затем добавляете компонент Машинного обучения с использованием исходного носителя, может быть установлена неправильная версия компонентов Машинного обучения. Когда панель запуска обнаруживает несовпадение версий, она завершает работу и создает файл дампа.

Чтобы предотвратить эту проблему, обязательно устанавливайте новые компоненты на том же уровне исправлений, что и экземпляр сервера.

Неправильный способ обновления:

Правильный способ обновления:

Не удается запустить панель запуска, если требуется нотация 8dot3

В старых системах панель запуска может не запускаться, если задано требование нотации 8dot3. Это требование было удалено в более поздних выпусках. Клиенты служб SQL Server 2016 R Services должны установить один из следующих компонентов:

Для совместимости с R службам SQL Server 2016 R Services (в базе данных) необходимо, чтобы диск, куда устанавливается этот компонент, поддерживал создание коротких имен файлов с использованием нотации 8dot3. Имя файла 8.3 также называется коротким именем файла и используется для обеспечения совместимости с предыдущими версиями Microsoft Windows или в качестве альтернативы длинным именам файлов.

Если том, куда вы устанавливаете R, не поддерживает короткие имена файлов, процессы, запускающие R из SQL Server, могут не найти соответствующий исполняемый файл, и панель запуска не запустится.

В качестве обходного решения можно включить нотацию 8dot3 в томе, где установлен SQL Server со службами R Services. Затем необходимо указать короткое имя для рабочего каталога в файле конфигурации служб R.

Чтобы включить нотацию 8dot3, запустите служебную программу fsutil с аргументом 8dot3name, как описано в следующем разделе: fsutil 8dot3name.

Используйте программу fsutil с аргументом file, чтобы указать короткий путь к файлу для папки, указанной в свойстве WORKING_DIRECTORY.

Измените файл конфигурации, указав тот же рабочий каталог, который вы указали в свойстве WORKING_DIRECTORY. Кроме того, можно указать другой рабочий каталог и выбрать существующий путь, который уже совместим с нотацией 8dot3.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *