Erteilen Sie Datenbankbenutzern die Berechtigung zum Ausführen von Python- und R-Skripts mit SQL Server Machine Learning Services.
Gilt für: SQL Server 2016 (13.x) und höher Azure SQL Managed Instance
In diesem Artikel erfahren Sie, wie Sie Datenbankbenutzern die Berechtigung zum Ausführen externer Python- und R-Skripts in SQL Server Machine Learning Services erteilen und wie Sie Datenbanken Lese-, Schreib- oder DDL-Berechtigungen (Data Definition Language, Datendefinitionssprache) erteilen.
Weitere Informationen finden Sie im Abschnitt „Berechtigungen“ unter Sicherheitsübersicht für das Erweiterbarkeitsframework.
Berechtigung zum Ausführen von Skripts
Jedem Benutzer, der Python- oder R-Skripts mit SQL Server Machine Learning Services ausführt und kein Administrator ist, müssen Sie die Berechtigung zum Ausführen externer Skripts in jeder Datenbank erteilen, in der die betreffende Sprache verwendet wird.
Führen Sie das folgende Skript aus, um einem Datenbankbenutzer die Berechtigung zum Ausführen externer Skripts zu erteilen:
USE <database_name>
GO
GRANT EXECUTE ANY EXTERNAL SCRIPT TO [UserName]
Hinweis
Berechtigungen sind nicht für die unterstützte Skriptsprache spezifisch. Es gibt also keine separaten Berechtigungsebenen für R-Skripts und Python-Skripts.
Gewähren von Datenbankberechtigungen
Wenn ein Datenbankbenutzer Skripts ausführt, muss er eventuell auch Daten in anderen Datenbanken lesen. Möglicherweise muss der Datenbankbenutzer auch neue Tabellen erstellen, um Ergebnisse zu speichern, und Daten in Tabellen schreiben.
Vergewissern Sie sich bei allen Datenbankbenutzerkonten und SQL-Anmeldungen, die R- oder Python-Skripts ausführen, dass diese über die richtigen Berechtigungen für die jeweilige Datenbank verfügen:
db_datareader
zum Lesen von Datendb_datawriter
zum Speichern von Objekten in der Datenbankdb_ddladmin
zum Erstellen von Objekten wie gespeicherten Prozeduren oder Tabellen, die trainierte und serialisierte Daten enthalten
Die folgende Transact-SQL-Anweisung erteilt beispielsweise dem SQL-Konto MySQLLogin die Rechte zum Ausführen von T-SQL-Abfragen in der Datenbank ML_Samples. Um diese Anweisung auszuführen, muss die SQL-Anmeldung bereits im Sicherheitskontext des Servers vorhanden sein. Weitere Informationen finden Sie unter sp_addrolemember (Transact-SQL).
USE ML_Samples
GO
EXEC sp_addrolemember 'db_datareader', 'MySQLLogin'
Nächste Schritte
Weitere Informationen zu den Berechtigungen der einzelnen Rollen finden Sie unter Rollen auf Datenbankebene.