Aracılığıyla paylaş


Veritabanı kullanıcılarına SQL Server Machine Learning Services ile Python ve R betikleri yürütme izni verme

Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümleri Azure SQL Yönetilen Örnek

Sql Server Machine Learning Services'de dış Python ve R betiklerini çalıştırmak ve veritabanlarına okuma, yazma veya veri tanımı dili (DDL) izinleri vermek için veritabanı kullanıcısına nasıl izin verebileceğinizi öğrenin.

Daha fazla bilgi için Genişletilebilirlik çerçevesi için Güvenliğe genel bakış bölümündeki izinler kısmına bakın.

Betik çalıştırma izni

SQL Server Machine Learning Services ile Python veya R betikleri çalıştıran ve yönetici olmayan her kullanıcı için, onlara dilin kullanıldığı her veritabanında dış betik çalıştırma izni vermelisiniz.

Bir veritabanı kullanıcısına dış betik yürütme izni vermek için aşağıdaki betiği çalıştırın:

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

Uyarı

İzinler desteklenen betik diline özgü değildir. Başka bir deyişle, R betiği ve Python betiği için ayrı izin düzeyleri yoktur.

Veritabanı izinleri verme

Veritabanı kullanıcısı betikler çalıştırırken, veritabanı kullanıcısının diğer veritabanlarından verileri okuması gerekebilir. Veritabanı kullanıcısının sonuçları depolamak ve tablolara veri yazmak için yeni tablolar oluşturması da gerekebilir.

R veya Python betiklerini çalıştıran her veritabanı kullanıcı hesabı veya SQL oturumu için, ilgili veritabanında uygun izinlere sahip olduğundan emin olun:

  • db_datareader verileri okumak için.
  • db_datawriter nesneleri veritabanına kaydetmek için.
  • db_ddladmin saklı yordamlar veya eğitilmiş ve serileştirilmiş veriler içeren tablolar gibi nesneler oluşturmak için.

Örneğin, aşağıdaki Transact-SQL deyimi SQL oturum açma MySQLLogin'eML_Samples veritabanında T-SQL sorguları çalıştırma hakları verir. Bu deyimi çalıştırmak için SQL oturum açma bilgilerinin sunucunun güvenlik bağlamında zaten mevcut olması gerekir. Daha fazla bilgi için bkz. sp_addrolemember (Transact-SQL).

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

Sonraki Adımlar

Her bir role dahil edilen izinler hakkında daha fazla bilgi için bkz. Veritabanı düzeyinde roller.