Share via


Databasegebruikers toestemming geven om Python- en R-scripts uit te voeren met SQL Server Machine Learning Services

Van toepassing op: SQL Server 2016 (13.x) en latere versies van Azure SQL Managed Instance

Lees hoe u een databasegebruiker toestemming kunt geven om externe Python- en R-scripts uit te voeren in SQL Server Machine Learning Services en lees-, schrijf- of DDL-machtigingen (Data Definition Language) te verlenen aan databases.

Zie de sectie Machtigingen in het beveiligingsoverzicht voor het uitbreidbaarheidsframework voor meer informatie.

Machtiging voor het uitvoeren van scripts

Voor elke gebruiker die Python- of R-scripts uitvoert met SQL Server Machine Learning Services en die geen beheerder zijn, moet u hen de machtiging verlenen om externe scripts uit te voeren in elke database waarin de taal wordt gebruikt.

Voer het volgende script uit om een databasegebruiker toestemming te geven om extern script uit te voeren:

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

Opmerking

Machtigingen zijn niet specifiek voor de ondersteunde scripttaal. Met andere woorden, er zijn geen afzonderlijke machtigingsniveaus voor R-script versus Python-script.

Databasemachtigingen verlenen

Terwijl een databasegebruiker scripts uitvoert, moet de databasegebruiker mogelijk gegevens uit andere databases lezen. De databasegebruiker moet mogelijk ook nieuwe tabellen maken om resultaten op te slaan en gegevens naar tabellen te schrijven.

Zorg ervoor dat voor elk databasegebruikersaccount of SQL-aanmelding met R- of Python-scripts de juiste machtigingen voor de specifieke database zijn:

  • db_datareader om gegevens te lezen.
  • db_datawriter om objecten op te slaan in de database.
  • db_ddladmin voor het maken van objecten zoals opgeslagen procedures of tabellen met getrainde en geserialiseerde gegevens.

De volgende Transact-SQL instructie geeft bijvoorbeeld de SQL-aanmelding MySQLLogin de rechten om T-SQL-query's uit te voeren in de ML_Samples-database . Als u deze instructie wilt uitvoeren, moet de SQL-aanmelding al bestaan in de beveiligingscontext van de server. Zie sp_addrolemember (Transact-SQL) voor meer informatie.

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

Volgende stappen

Zie Rollen op databaseniveau voor meer informatie over de machtigingen die zijn opgenomen in elke rol.