Conceder permissão de usuário do banco de dados para executar scripts do Python e do R com os Serviços de Machine Learning do SQL Server
Aplica-se a: SQL Server 2016 (13.x) e versões posteriores Instância Gerenciada de SQL do Azure
Saiba como conceder uma permissão de usuário do banco de dadospara executar scripts do Python e do R externos nos Serviços de Machine Learning do SQL Server e conceder permissões de leitura, gravação ou DDL (linguagem de definição de dados) em bancos de dados.
Para obter mais informações, confira a seção de permissões em Visão geral de segurança da estrutura de extensibilidade.
Permissão para executar scripts
Você precisará conceder permissão, a cada usuário que executa scripts do R ou do Python com os Serviços de Machine Learning do SQL Server e que não tem status de administrador, para executar scripts externos em cada banco de dados em que a linguagem é usada.
Para conceder permissão para um usuário do banco de dados para executar o script externo, execute o seguinte script:
USE <database_name>
GO
GRANT EXECUTE ANY EXTERNAL SCRIPT TO [UserName]
Observação
As permissões não são específicas da linguagem de script compatível. Em outras palavras, não há níveis de permissão separados para o script R versus o script Python.
Conceder permissões de banco de dados
Enquanto um usuário do banco de dados está executando scripts, talvez ele precise ler dados de outros bancos de dados. O usuário do banco de dados também pode precisar criar tabelas para armazenar os resultados e gravar dados nas tabelas.
Para cada conta de usuário do banco de dados ou logon do SQL que esteja executando scripts de R ou Python, verifique se as permissões apropriadas estão presentes no banco de dados específico:
db_datareader
para ler dados.db_datawriter
para salvar objetos no banco de dados.db_ddladmin
para criar objetos como procedimentos armazenados ou tabelas que contêm dados treinados e serializados.
Por exemplo, a instrução Transact-SQL a seguir concede ao logon SQL MySQLLogin os direitos para executar consultas T-SQL no banco de dados ML_Samples. Para executar essa instrução, o logon SQL já deve existir no contexto de segurança do servidor. Para saber mais, consulte sp_addrolemember (Transact-SQL).
USE ML_Samples
GO
EXEC sp_addrolemember 'db_datareader', 'MySQLLogin'
Próximas etapas
Para obter mais informações sobre as permissões incluídas em cada função, confira Funções em nível de banco de dados.