Freigeben über


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 Daten
  • db_datawriter zum Speichern von Objekten in der Datenbank
  • db_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.