Ошибка при создании Login в SQL Server — Create failed for Login — The server principal already exists — Error 15025 или история одного «тупняка»…
Во время миграции баз данных SQL Server 2012 из ранее используемого кластерного экземпляра SQL Server на физических серверах в новый кластерный экземпляр в виртуальной среде Hyper-V столкнулся с одной интересной проблемой. Сразу скажу, что она никак не связана ни с Hyper-V, ни с виртуализацией в целом, а скорее с простым незнанием некоторых аспектов работы SQL Server.
При копировании баз данных была предпринята попытка использования мастера копирования баз (Copy Database Wizard), который доступен нам в составе SQL Server Management Studio по аналогии с ранее описанной процедурой . Процедура копирования контентной базы данных одного из веб-приложений SharePoint и связанных с ней SQL-логинов была прервана с ошибкой, говорящей о том, что один из SQL-логинов невозможно найти в домене. Выяснилось, что этот SQL-логин когда-то ранее было создан на SQL Server с привязкой к существующей на тот момент доменной учетной записи пользователя, однако на текущий момент учётной записи с таким именем в домене действительно нет. Это подтвердил также и вывод хранимой процедуры sp_validatelogins , которая умеет обнаруживать “осиротевшие” SQL-логины:
В нашем примере проблемный SQL-логин имел имя KOM\s-KOM-SP-ORD . Соответственно этому SQL-логину ранее и были права необходимые для работы с контентной базой данных веб-приложения SharePoint, но вместе с этим само веб-приложение в SharePoint на текущий момент времени работало от имени совершенно другой учетной записи – KOM\s-KOM-SP-IRS . Это ввело меня в некоторый ступор. Как такое вообще возможно… И пока до меня не “дошло”, в чём же на самом деле заключается проблема, выполнялись разного рода манипуляции. Например, будучи уверенным в том, что учетной записи веб-приложения таки нужен доступ к его контентной базе данных SharePoint, я попытался добавить в SQL Server новый SQL-логин — KOM\s-KOM-SP-IRS . Но в ответ получил странное сообщение о том, что такой логин в SQL Server уже присутствует…
Но как? Ведь я не вижу этого логина в консоли…
И тут меня осенило, что скорее всего, нынешняя доменная учетная запись KOM\s-KOM-SP-IRS это и есть учётная запись KOM\s-KOM-SP-ORD , просто переименованная в домене после того, как в SQL Server был создан сопряжённый с ней SQL-логин. Чтобы проверить это предположение, нужно было выяснить доменный идентификатор безопасности (SID) хранимый в SQL Server для SQL-логина KOM\s-KOM-SP-ORD и сравнить его с SID пользователя KOM\s-KOM-SP-IRS в домене на данный момент. Новой сложностью стало то, что SQL Server возвращает значение SID в формате VARBINARY(85), а в домене оно хранится в другом формате.
Выполнить преобразование полученного из SQL Server значения SID в формат аналогичный атрибуту objectSid для учетных записей в домене Active Directory помог SQL-скрипт из статьи Help: SQL Server — SQL Internals — How to map login SID to domain account? , за что её автору большое спасибо…
Итак, значение objectSid в более привычном формате получено и теперь всё что остаётся сделать, это сравнить это значение с учетной записью KOM\s-KOM-SP-IRS . Методов для этого много разных, как один из самых простых и быстрых воспользоваться обратным преобразованием SID в имя с помощью утилиты Марка Руссиновича — Psgetsid
Получается, что действительно, SQL-логин KOM\s-KOM-SP-ORD имеет привязку к доменному SID учетной записи KOM\s-KOM-SP-IRS . Как я уже и сказал, такая ситуация возможна в случае если в домене учетная запись была переименована после создания соответствующего логина в SQL Server. Теперь, чтобы окончательно поставить всё на свои места осталось только переименовать SQL-логин в актуальное для доменной учетной записи имя.
Detailed results: Feature: Database Engine Services Status: Failed: see logs for details Reason for failure: An error occurred during the setup process of the feature. Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again. Component name: SQL Server Database Engine Services Instance Features Component error code: 0x84BB0001 Error description: The specified service does not exist as an installed service. Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft SQL Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=13.0.5026.0&EvtType=0x4E01BCF2@0xDC80C325&EvtType=0x4E01BCF2@0xDC80C325
Устранение неполадок со службой панели запуска, выполняющей скрипты Python и R в Службах машинного обучения SQL Server Troubleshoot issues with Launchpad service executing Python and R scripts in SQL Server Machine Learning Services
Применимо к:Applies to: SQL Server 2016 (13.x); SQL Server 2016 (13.x) SQL Server 2016 (13.x); SQL Server 2016 (13.x) и более поздние версии Применимо к:Applies to: SQL Server 2016 (13.x); SQL Server 2016 (13.x) SQL Server 2016 (13.x); SQL Server 2016 (13.x) and later
Эта статья содержит рекомендации по устранению неполадок, связанных со службой Панели запуска SQL Server при использовании Служб машинного обучения. This article provides troubleshooting guidance for issues involving the SQL Server Launchpad service used with Machine Learning Services. Служба панели запуска поддерживает выполнение внешних скриптов для R и Python. The Launchpad service supports external script execution for R and Python. Запуску панели запуска SQL Server могут препятствовать различные неполадки, включая проблемы или изменения в конфигурации и отсутствие сетевых протоколов. Multiple issues can prevent Launchpad from starting, including configuration problems or changes, or missing network protocols.
Определение того, выполняется панель запуска Determine whether Launchpad is running
Откройте панель Службы (Services.msc). Open the Services panel (Services.msc). Или введите SQLServerManager13.msc или SQLServerManager14.msc в командной строке, чтобы открыть Диспетчер конфигурации SQL Server. Or, from the command line, type SQLServerManager13.msc or SQLServerManager14.msc to open SQL Server Configuration Manager.
Запишите учетную запись службы, под которой выполняется панель запуска. Make a note of the service account that Launchpad is running under. Каждый экземпляр, где включен R или Python, должен иметь собственный экземпляр службы панели запуска. Each instance where R or Python is enabled should have its own instance of the Launchpad service. Например, служба для именованного экземпляра может иметь вид MSSQLLaunchpad$имя_экземпляра. 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.
Проверьте содержимое файла RSetup.log и убедитесь в отсутствии ошибок в программе установки. Review the contents of RSetup.log, and make sure that there are no errors in the setup. Например, сообщение Выполняется выход с кодом 0 указывает на сбой запуска службы. For example, the message Exiting with code 0 indicates failure of the service to start.
Чтобы найти другие ошибки, просмотрите содержимое файла журнала rlauncher.log. To look for other errors, review the contents of rlauncher.log.
Проверка учетной записи службы панели запуска Check the Launchpad service account
По умолчанию может использоваться учетная запись службы «NT Service$SQL2016» или «NT Service$SQL2017». The default service account might be «NT Service$SQL2016» or «NT Service$SQL2017». Конечная часть может отличаться в зависимости от имени экземпляра SQL. The final part might vary, depending on your SQL instance name.
Служба панели запуска (Launchpad.exe) выполняется с использованием учетной записи службы с минимальными правами доступа. The Launchpad service (Launchpad.exe) runs by using a low-privilege service account. Однако, чтобы запустить R и Python и взаимодействовать с экземпляром базы данных, учетной записи службы панели запуска требуются следующие права пользователя: However, to start R and Python and communicate with the database instance, the Launchpad service account requires the following user rights:
Вход в систему в качестве службы (SeServiceLogonRight) Log on as a service (SeServiceLogonRight)
Замена токена уровня процесса (SeAssignPrimaryTokenPrivilege) Replace a process-level token (SeAssignPrimaryTokenPrivilege)
Настройка квот памяти для процесса (SeIncreaseQuotaSizePrivilege) Adjust memory quotas for a process (SeIncreaseQuotaSizePrivilege)
Сведения об этих правах пользователя см. в разделе «Права доступа и права Windows» статьи Настройка учетных записей службы Windows и разрешений. For information about these user rights, see the «Windows privileges and rights» section in Configure Windows service accounts and permissions.
Если вы знакомы с использованием средства Support Diagnostics Platform (SDP) для диагностики SQL Server, можете использовать SDP для просмотра выходного файла с именем «имя_компьютера_UserRights.txt». 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
Во время установки Служб машинного обучения система SQL Server создает группу пользователей Windows SQLRUserGroup и назначает ей все необходимые права для подключения панели запуска к SQL Server и выполнения заданий внешних скриптов. 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. Если эта группа пользователей включена, она также используется для выполнения скриптов Python. 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. Если права были удалены, панель запуска больше не может подключаться к SQL Server, и SQL Server не может вызывать внешнюю среду выполнения. If the rights have been removed, Launchpad can no longer connect to SQL Server, and SQL Server cannot call the external runtime.
Чтобы устранить проблему, задайте для группы SQLRUserGroup разрешение Локальный вход в систему. To correct the problem, ensure that the group SQLRUserGroup has the system right Allow log on locally.
Разрешения для запуска внешних скриптов Permissions to run external scripts
Даже если панель запуска настроена правильно, она возвращает ошибку, когда у пользователя нет разрешения на выполнение скриптов R или Python. Even if Launchpad is configured correctly, it returns an error if the user does not have permission to run R or Python scripts.
Если вы установили SQL Server в качестве администратора базы данных или являетесь владельцем базы данных, вы получаете это разрешение автоматически. 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. При попытке запустить скрипт R они получат ошибку панели запуска. If they try to run an R script, they get a Launchpad error.
Чтобы устранить эту проблему, в SQL Server Management Studio администратор безопасности может изменить имя входа SQL или учетную запись пользователя Windows, запустив следующий скрипт: 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:
Дополнительные сведения см. в разделе GRANT (Transact-SQL). For more information, see GRANT (Transact-SQL.
Распространенные ошибки панели запуска Common Launchpad errors
В этом разделе перечислены наиболее распространенные сообщения об ошибках, возвращаемые панелью запуска. This section lists the most common error messages that Launchpad returns.
«Не удается запустить среду выполнения для скрипта R» «Unable to launch runtime for R script»
Если группа Windows для пользователей R (также используемая для Python) не может войти в экземпляр, где выполняются службы R Services, могут отобразиться следующие ошибки: 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:
Ошибки, возникающие при попытке запуска скриптов R: Errors generated when you try to run R scripts:
Не удается запустить среду выполнения для скрипта R. Проверьте конфигурацию среды выполнения R. 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.
Ошибки, вызываемые службой Панель запуска SQL Server SQL Server Launchpad : Errors generated by the Панель запуска SQL Server SQL Server Launchpad service:
Не удалось инициализировать средство запуска RLauncher.dllFailed to initialize the launcher RLauncher.dll
Библиотеки DLL средства запуска не зарегистрированыNo launcher dlls were registered!
Согласно журналам безопасности, учетной записи NT SERVICE не удалось выполнить входSecurity logs indicate that the account NT SERVICE was unable to log on
Сведения о том, как предоставить этой группе пользователей необходимые разрешения, см. в разделе Установка служб SQL Server R Services. For information about how to grant this user group the necessary permissions, see Install SQL Server R Services.
Это ограничение не распространяется на тот случай, если вы используете имена входа SQL для выполнения скриптов R с удаленной рабочей станции. 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»
По умолчанию при запуске Панель запуска SQL Server SQL Server Launchpad использует следующую учетную запись: NT Service\MSSQLLaunchpad . By default, Панель запуска SQL Server SQL Server Launchpad uses the following account on startup: NT Service\MSSQLLaunchpad . Учетная запись настраивается программой установки SQL Server SQL Server , чтобы иметь все необходимые разрешения. The account is configured by SQL Server SQL Server setup to have all necessary permissions.
Если вы назначите панели запуска другую учетную запись или разрешение будет удалено политикой на компьютере SQL Server, у учетной записи могут отсутствовать необходимые разрешения, в результате чего вы получите следующую ошибку: 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) Вход в систему не произведен: выбранный режим входа для данного пользователя на этом компьютере не предусмотрен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:
Назначение квот памяти процессам (SeIncreaseQuotaPrivilege) Adjust memory quotas for a process (SeIncreaseQuotaPrivilege)
Вход в систему в качестве службы (SeServiceLogonRight) Log on as a service (SeServiceLogonRight)
Замена токена уровня процесса (SeAssignPrimaryTokenPrivilege) Replace a process-level token (SeAssignPrimaryTokenPrivilege)
«Не удалось связаться со службой панели запуска» «Unable to communicate with the Launchpad service»
Если вы установили и затем включили машинное обучение, но эта ошибка возникает при попытке запуска скрипта R или Python, возможно, была остановлена служба панели запуска для этого экземпляра. 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.
Запустите диспетчер конфигурации SQL Server из командной строки Windows. From a Windows command prompt, open the SQL Server Configuration Manager. Дополнительные сведения см. в разделе SQL Server Configuration Manager. For more information, see SQL Server Configuration Manager.
Щелкните правой кнопкой мыши панель запуска SQL Server для этого экземпляра и выберите пункт Свойства. 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:
а. a. Просмотрите файл CONFIG средства запуска и убедитесь, что рабочий каталог допустим. Review the launcher’s .config file and ensure that the working directory is valid.
b. b. Убедитесь, что группа Windows, используемая панелью запуска, может подключаться к экземпляру SQL Server. Ensure that the Windows group that’s used by Launchpad can connect to the SQL Server instance.
c. c. При изменении любых свойств службы перезапустите службу панели запуска. If you change any of the service properties, restart the Launchpad service.
«Неустранимая ошибка: сбой при создании tmpFile» «Fatal error creation of tmpFile failed»
В этом сценарии вы успешно установили компоненты машинного обучения, а панель запуска работает. In this scenario, you have successfully installed machine learning features, and Launchpad is running. Вы пытаетесь запустить простой код R или Python, но панель запуска завершает работу с ошибкой следующего вида: You try to run some simple R or Python code, but Launchpad fails with an error like the following:
Не удалось связаться со средой выполнения для скрипта R. Проверьте требования среды выполнения R.Unable to communicate with the runtime for R script. Please check the requirements of R runtime.
В то же время среда выполнения внешнего скрипта записывает следующее сообщение в составе сообщения STDERR: At the same time, the external script runtime writes the following message as part of the STDERR message:
Неустранимая ошибка: сбой при создании tmpfile.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. Чтобы определить, является ли это причиной, просмотрите журналы SQL Server и проверьте, не был ли запрещен доступ для учетной записи MSSQLSERVER01 при входе. To determine whether this is the case, review the SQL Server logs, and check to see whether the MSSQLSERVER01 account was denied at login. Те же сведения приведены в журналах, относящихся к R_SERVICES или PYTHON_SERVICES. The same information is provided in the logs that are specific to R_SERVICES or PYTHON_SERVICES. Найдите файл ExtLaunchError.log. Look for ExtLaunchError.log.
По умолчанию настроено 20 учетных записей, сопоставленных с процессом Launchpad.exe, с именами от MSSQLSERVER01 и до MSSQLSERVER20. By default, 20 accounts are set up and associated with the Launchpad.exe process, with the names MSSQLSERVER01 through MSSQLSERVER20. При интенсивном использовании R или Python число учетных записей можно увеличить. 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. В некоторых средах для этого уровня разрешений сетевому администратору может потребоваться добавить исключение в GPO. 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. Например, при одновременном запуске более 20 внешних запросов и наличии всего 20 пользователей по умолчанию может произойти сбой одного или нескольких запросов. 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.
Недостаточно памяти для обработки задачи R. Insufficient memory is available to process the R task. Эта ошибка чаще всего возникает в среде по умолчанию, где SQL Server может использовать до 70 процентов ресурсов компьютера. This error happens most often in a default environment, where SQL Server might be using up to 70 percent of the computer’s resources. Сведения о том, как изменить конфигурацию сервера для увеличение объема ресурсов, используемых R, см. в статье Ввод в эксплуатацию кода R. 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»
Если вы получаете это сообщение при запуске кода R в SQL Server и не получаете его при запуске кода за пределами SQL Server, значит пакет не был установлен в расположение библиотеки по умолчанию, используемое SQL Server. 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:
Вы установили новый пакет на сервере, но в доступе было отказано, поэтому R установил пакет в пользовательскую библиотеку. You installed a new package on the server, but access was denied, so R installed the package to a user library.
Вы установили службы R Services, а затем установили еще одно средство R или набор библиотек, включая Microsoft R Server (автономная версия), Microsoft R Client, RStudio и т. п. You installed R Services and then installed another R tool or set of libraries, including Microsoft R Server (Standalone), Microsoft R Client, RStudio, and so forth.
Чтобы определить расположение библиотеки пакетов R, используемое данным экземпляром, откройте SQL Server Management Studio (или любое другое средство по работе с запросами к базе данных), подключитесь к экземпляру, а затем запустите следующую хранимую процедуру: 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 из внешнего скрипта:STDOUT message(s) from external script:
Чтобы устранить эту проблему, необходимо переустановить пакет в библиотеку экземпляров SQL Server. To resolve the issue, you must reinstall the package to the SQL Server instance library.
Если вы обновили экземпляр SQL Server 2016 для использования последней версии Microsoft R, расположение библиотеки по умолчанию отличается. If you have upgraded an instance of SQL Server 2016 to use the latest version of Microsoft R, the default library location is different. Дополнительные сведения см. в статье об использовании программы SqlBindR для обновления экземпляра служб R Services. For more information, see Use SqlBindR to upgrade an instance of R Services.
Завершение работы панели запуска из-за несовпадающих библиотек DLL 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:
Установите SQL Server 2016 без служб R Services. Install SQL Server 2016 without R Services.
Установите накопительный пакет обновления 2 для SQL Server 2016. Upgrade SQL Server 2016 Cumulative Update 2.
Установите службы R Services (в базе данных) с помощью носителя RTM. Install R Services (In-Database) by using the RTM media.
Правильный способ обновления:The correct way to upgrade:
Установите SQL Server 2016 без служб R Services. Install SQL Server 2016 without R Services.
Обновите SQL Server 2016 до требуемого уровня исправлений. Upgrade SQL Server 2016 to the desired patch level. Например, установите пакет обновления 1 (SP1), а затем накопительный пакет обновления 2. For example, install Service Pack 1 and then Cumulative Update 2.
Чтобы добавить компонент на правильном уровне исправлений, снова запустите программу установки пакета обновления 1 и накопительного пакета обновления 2, а затем выберите «R Services (в базе данных)». To add the feature at the correct patch level, run SP1 and CU2 setup again, and then choose R Services (In-Database).
Не удается запустить панель запуска, если требуется нотация 8dot3 Launchpad fails to start if 8dot3 notation is required
В старых системах панель запуска может не запускаться, если задано требование нотации 8dot3. 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 должны установить один из следующих компонентов: SQL Server 2016 R Services customers should install one of the following:
Пакет обновления 1 (SP1) и накопительный пакет обновления 2 (CU1) для SQL Server 2016: Накопительный пакет обновления 1 для SQL Server. SQL Server 2016 SP1 and CU1: Cumulative Update 1 for SQL Server.
SQL Server 2016 RTM, накопительный пакет обновления 3 и это исправление, предоставляемое по запросу. SQL Server 2016 RTM, Cumulative Update 3, and this hotfix, which is available on demand.
Для совместимости с R службам SQL Server 2016 R Services (в базе данных) необходимо, чтобы диск, куда устанавливается этот компонент, поддерживал создание коротких имен файлов с использованием нотации 8dot3. 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. Имя файла 8.3 также называется коротким именем файла и используется для обеспечения совместимости с предыдущими версиями Microsoft Windows или в качестве альтернативы длинным именам файлов. 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.
Если том, куда вы устанавливаете R, не поддерживает короткие имена файлов, процессы, запускающие R из SQL Server, могут не найти соответствующий исполняемый файл, и панель запуска не запустится. 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.
В качестве обходного решения можно включить нотацию 8dot3 в томе, где установлен SQL Server со службами R Services. As a workaround, you can enable the 8dot3 notation on the volume where SQL Server is installed and where R Services is installed. Затем необходимо указать короткое имя для рабочего каталога в файле конфигурации служб R. You must then provide the short name for the working directory in the R Services configuration file.
Чтобы включить нотацию 8dot3, запустите служебную программу fsutil с аргументом 8dot3name, как описано в следующем разделе: fsutil 8dot3name. To enable 8dot3 notation, run the fsutil utility with the 8dot3name argument as described here: fsutil 8dot3name.
После включения нотации 8dot3 откройте файл RLauncher.config и запишите значение свойства WORKING_DIRECTORY . After the 8dot3 notation is enabled, open the RLauncher.config file and note the property of WORKING_DIRECTORY . Сведения о том, как найти этот файл, см. в разделе Сбор данных для устранения неполадок машинного обучения. For information about how to find this file, see Data collection for Machine Learning troubleshooting.
Используйте программу fsutil с аргументом file, чтобы указать короткий путь к файлу для папки, указанной в свойстве WORKING_DIRECTORY. Use the fsutil utility with the file argument to specify a short file path for the folder that’s specified in WORKING_DIRECTORY.
Измените файл конфигурации, указав тот же рабочий каталог, который вы указали в свойстве WORKING_DIRECTORY. Edit the configuration file to specify the same working directory that you entered in the WORKING_DIRECTORY property. Кроме того, можно указать другой рабочий каталог и выбрать существующий путь, который уже совместим с нотацией 8dot3. Alternatively, you can specify a different working directory and choose an existing path that’s already compatible with the 8dot3 notation.