Предоставление пользователям разрешения на выполнение скриптов Python и R с помощью Службы машинного обучения SQL ServerGrant users permission to execute Python and R scripts with SQL Server Machine Learning Services

Применимо к:Applies to: даSQL Server 2016 (13.x);SQL Server 2016 (13.x)yesSQL Server 2016 (13.x);SQL Server 2016 (13.x) и более поздние версии ДаУправляемый экземпляр SQL AzureAzure SQL Managed InstanceYesУправляемый экземпляр SQL AzureAzure SQL Managed InstanceПрименимо к:Applies to: даSQL Server 2016 (13.x);SQL Server 2016 (13.x)yesSQL Server 2016 (13.x);SQL Server 2016 (13.x) and later ДаУправляемый экземпляр SQL AzureAzure SQL Managed InstanceYesУправляемый экземпляр SQL AzureAzure SQL Managed Instance

Узнайте, как предоставлять пользователям разрешения на выполнение внешних скриптов Python и R в Службах машинного обучения SQL Server и предоставление разрешений на чтение, запись или инструкции на языке описания данных (DDL) для баз данных.Learn how you can give users permission to run external Python and R scripts in SQL Server Machine Learning Services and give read, write, or data definition language (DDL) permissions to databases.

Дополнительные сведения см. в подразделе "Разрешения" раздела Общие сведения о безопасности для платформы расширяемости.For more information, see the permissions section in Security overview for the extensibility framework.

Разрешение на выполнение скриптовPermission to run scripts

Каждому пользователю, запускающему скрипты Python или R со Службами машинного обучения SQL Server и не являющемуся администратором, необходимо предоставить разрешение на выполнение внешних скриптов в каждой базе данных, где используется этот язык.For each user who runs Python or R scripts with SQL Server Machine Learning Services, and who are not an administrator, you must grant them the permission to run external scripts in each database where the language is used.

Чтобы предоставить разрешение на выполнение внешнего скрипта, выполните следующий скрипт:To grant permission to execute external script, run the following script:

USE <database_name>
GO
GRANT EXECUTE ANY EXTERNAL SCRIPT TO [UserName]

Примечание

Разрешения не относятся к конкретному поддерживаемому языку скриптов.Permissions are not specific to the supported script language. Иными словами, не существует отдельных уровней разрешений для скриптов R и скриптов Python.In other words, there are not separate permission levels for R script versus Python script.

Предоставление разрешений на базу данныхGrant databases permissions

Когда пользователь выполняет скрипты, ему может потребоваться считывать данные из других баз данных.While a user is running scripts, the user might need to read data from other databases. Пользователю также может потребоваться создавать новые таблицы для хранения результатов и записывать данные в таблицы.The user might also need to create new tables to store results, and write data into tables.

Необходимо убедиться, что у каждой учетной записи пользователя Windows или имени входа SQL, выполняющего скрипты R или Python, имеются соответствующие разрешения для конкретной базы данных:For each Windows user account or SQL login that is running R or Python scripts, ensure that it has the appropriate permissions on the specific database:

  • db_datareader для чтения данных.db_datareader to read data.
  • db_datawriter для сохранения объектов в базе данных.db_datawriter to save objects to the database.
  • db_ddladmin для создания таких объектов, как хранимые процедуры или таблицы, содержащие обученные и сериализованные данные.db_ddladmin to create objects such as stored procedures or tables containing trained and serialized data.

Например, приведенная ниже инструкция Transact-SQLTransact-SQL предоставляет имени входа SQL MySQLLogin права на выполнение запросов T-SQL в базе данных ML_Samples.For example, the following Transact-SQLTransact-SQL statement gives the SQL login MySQLLogin the rights to run T-SQL queries in the ML_Samples database. Для выполнения этой инструкции имя входа SQL уже должно существовать в контексте безопасности сервера.To run this statement, the SQL login must already exist in the security context of the server.

USE ML_Samples
GO
EXEC sp_addrolemember 'db_datareader', 'MySQLLogin'

Дальнейшие действияNext steps

Дополнительные сведения о разрешениях, включенных в каждую роль, см. в разделе Роли уровня базы данных.For more information about the permissions included in each role, see Database-level roles.