Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Saiba quais privilégios conceder ao usuário do banco de dados do Microsoft SQL Server que você planeja usar para ingerir no Azure Databricks.
O Databricks recomenda que você crie um usuário de banco de dados que seja usado exclusivamente para a ingestão de Databricks.
Conceder privilégios de banco de dados
As tabelas nesta seção listam os privilégios que o usuário do banco de dados deve ter, dependendo da variação do banco de dados. Esses privilégios são necessários se você usar a captura de dados de alteração (CDC) ou o controle de alterações. As tabelas também mostram os comandos para conceder cada privilégio.
Bancos de dados que não são do Azure
| Privilégios necessários | Onde executar os comandos | Comandos para conceder |
|---|---|---|
VIEW ANY DATABASE |
Base de dados principal | Execute o seguinte comando T-SQL na base de dados mestre:GRANT VIEW ANY DATABASE TO DATABASE_USER; |
Acesso de leitura às seguintes tabelas e visualizações do sistema nas bases de dados mestre:
|
Base de dados principal | Execute os seguintes comandos T-SQL no banco de dados mestre:GRANT SELECT ON object::sys.databases TO DATABASE_USER;GRANT SELECT ON object::sys.schemas TO DATABASE_USER;GRANT SELECT ON object::sys.tables TO DATABASE_USER;GRANT SELECT ON object::sys.columns TO DATABASE_USER;GRANT SELECT ON object::sys.key_constraints TO DATABASE_USER;GRANT SELECT ON object::sys.foreign_keys TO DATABASE_USER;GRANT SELECT ON object::sys.check_constraints TO DATABASE_USER;GRANT SELECT ON object::sys.default_constraints TO DATABASE_USER;GRANT SELECT ON object::sys.change_tracking_tables TO DATABASE_USER;GRANT SELECT ON object::sys.change_tracking_databases TO DATABASE_USER;GRANT SELECT ON object::sys.objects TO DATABASE_USER;GRANT SELECT ON object::sys.views TO DATABASE_USER;GRANT SELECT ON object::sys.triggers TO DATABASE_USER; |
Execute permissões nos seguintes procedimentos armazenados do sistema no banco de dados mestre:
|
Base de dados principal | Execute os seguintes comandos T-SQL no banco de dados que você deseja ingerir:GRANT EXECUTE ON object::sp_tables TO DATABASE_USER;GRANT EXECUTE ON object::sp_columns_100 TO DATABASE_USER;GRANT EXECUTE ON object::sp_pkeys TO DATABASE_USER;GRANT EXECUTE ON object::sp_statistics_100 TO DATABASE_USER; |
VIEW DATABASE STATE |
Base de dados que pretende importar | Execute o seguinte comando T-SQL na base de dados que pretende ingerir:USE DATABASE_NAME;GRANT VIEW DATABASE STATE TO DATABASE_USER;Em SQL Server de 2022 e seguintes, pode usar a permissão mais restrita VIEW DATABASE PERFORMANCE STATE em vez disso:USE DATABASE_NAME;GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
SELECT nos esquemas e tabelas que pretende ingerir. |
Base de dados que pretende importar | Execute os seguintes comandos T-SQL para cada esquema e tabela que pretende ingerir:GRANT SELECT ON schema::SCHEMA_NAME TO DATABASE_USER;GRANT SELECT ON object::TABLE_NAME TO DATABASE_USER; |
SELECT privilégios nas seguintes tabelas e exibições do sistema no banco de dados que você deseja ingerir:
|
Base de dados que pretende importar | Execute os seguintes comandos T-SQL no banco de dados que você deseja ingerir:USE DATABASE_NAME;GRANT SELECT ON object::sys.indexes TO DATABASE_USER;GRANT SELECT ON object::sys.index_columns TO DATABASE_USER;GRANT SELECT ON object::sys.columns TO DATABASE_USER;GRANT SELECT ON object::sys.tables TO DATABASE_USER;GRANT SELECT ON object::sys.fulltext_index_columns TO DATABASE_USER;GRANT SELECT ON object::sys.fulltext_indexes TO DATABASE_USER; |
Base de Dados SQL do Azure
| Privilégios | Onde executar os comandos | Comandos |
|---|---|---|
A pertença à seguinte função de servidor na base de dados mestre para que o utilizador possa aceder ao master:
|
Base de dados principal | Execute o seguinte comando T-SQL na base de dados mestre:ALTER ROLE ##MS_DatabaseConnector## ADD MEMBER DATABASE_USER; |
Acesso de leitura às seguintes tabelas e visualizações de sistema na base de dados que pretende ingerir:
|
Base de dados que pretende importar | Execute os seguintes comandos T-SQL no banco de dados que você deseja ingerir:GRANT SELECT ON object::sys.schemas TO DATABASE_USER;GRANT SELECT ON object::sys.tables TO DATABASE_USER;GRANT SELECT ON object::sys.columns TO DATABASE_USER;GRANT SELECT ON object::sys.key_constraints TO DATABASE_USER;GRANT SELECT ON object::sys.foreign_keys TO DATABASE_USER;GRANT SELECT ON object::sys.check_constraints TO DATABASE_USER;GRANT SELECT ON object::sys.default_constraints TO DATABASE_USER;GRANT SELECT ON object::sys.change_tracking_tables TO DATABASE_USER;GRANT SELECT ON object::sys.objects TO DATABASE_USER;GRANT SELECT ON object::sys.triggers TO DATABASE_USER;GRANT SELECT ON object::sys.indexes TO DATABASE_USER;GRANT SELECT ON object::sys.index_columns TO DATABASE_USER;GRANT SELECT ON object::sys.fulltext_index_columns TO DATABASE_USER;GRANT SELECT ON object::sys.fulltext_indexes TO DATABASE_USER;GRANT SELECT ON schema::SCHEMA_NAME TO DATABASE_USER;GRANT SELECT ON object::TABLE_NAME TO DATABASE_USER; |
VIEW DATABASE STATE |
Base de dados que pretende importar | Execute o seguinte comando T-SQL na base de dados que pretende ingerir:GRANT VIEW DATABASE STATE TO DATABASE_USER;Em SQL Server de 2022 e seguintes, pode usar a permissão mais restrita VIEW DATABASE PERFORMANCE STATE em vez disso:GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
Azure SQL Managed Instance
| Privilégios | Onde executar os comandos | Comandos |
|---|---|---|
Acesso de leitura às seguintes tabelas e visualizações de sistema na base de dados que pretende ingerir:
|
Base de dados que pretende importar | Execute os seguintes comandos T-SQL no banco de dados que você deseja ingerir:GRANT SELECT ON object::sys.schemas TO DATABASE_USER;GRANT SELECT ON object::sys.tables TO DATABASE_USER;GRANT SELECT ON object::sys.columns TO DATABASE_USER;GRANT SELECT ON object::sys.key_constraints TO DATABASE_USER;GRANT SELECT ON object::sys.foreign_keys TO DATABASE_USER;GRANT SELECT ON object::sys.check_constraints TO DATABASE_USER;GRANT SELECT ON object::sys.default_constraints TO DATABASE_USER;GRANT SELECT ON object::sys.change_tracking_tables TO DATABASE_USER;GRANT SELECT ON object::sys.objects TO DATABASE_USER;GRANT SELECT ON object::sys.triggers TO DATABASE_USER;GRANT SELECT ON object::sys.indexes TO DATABASE_USER;GRANT SELECT ON object::sys.index_columns TO DATABASE_USER;GRANT SELECT ON object::sys.fulltext_index_columns TO DATABASE_USER;GRANT SELECT ON object::sys.fulltext_indexes TO DATABASE_USER;GRANT SELECT ON schema::SCHEMA_NAME TO DATABASE_USER;GRANT SELECT ON object::TABLE_NAME TO DATABASE_USER; |
Acesso de visualização e leitura a bases de dados:
|
Base de dados principal | Execute os seguintes comandos T-SQL no banco de dados mestre:GRANT VIEW ANY DATABASE TO DATABASE_USER;GRANT SELECT ON sys.databases TO DATABASE_USER;GRANT SELECT ON object::sys.change_tracking_databases TO DATABASE_USER; |
Execute permissões nos seguintes procedimentos armazenados do sistema:
|
Base de dados principal | Execute os seguintes comandos T-SQL no banco de dados mestre:GRANT EXECUTE ON object::sp_tables TO DATABASE_USER;GRANT EXECUTE ON object::sp_columns_100 TO DATABASE_USER;GRANT EXECUTE ON object::sp_pkeys TO DATABASE_USER;GRANT EXECUTE ON object::sp_statistics_100 TO DATABASE_USER; |
VIEW DATABASE STATE |
Base de dados que pretende importar | Execute o seguinte comando T-SQL na base de dados que pretende ingerir:USE DATABASE_NAME;GRANT VIEW DATABASE STATE TO DATABASE_USER;Em SQL Server de 2022 e seguintes, pode usar a permissão mais restrita VIEW DATABASE PERFORMANCE STATE em vez disso:USE DATABASE_NAME;GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
Amazon RDS para SQL Server
No Amazon RDS para SQL Server, não são necessárias concessões para bases de dados mestres. Os inícios de sessão do SQL Server recebem automaticamente acesso às vistas do sistema e aos procedimentos armazenados necessários na base de dados master através da função public. Não podes criar utilizadores na master base de dados no Amazon RDS.
| Privilégios necessários | Onde executar os comandos | Comandos para conceder |
|---|---|---|
SELECT Privilégios nas seguintes vistas de sistema na base de dados que pretende ingerir:
|
Base de dados que pretende importar | Execute os seguintes comandos T-SQL no banco de dados que você deseja ingerir:USE DATABASE_NAME;GRANT SELECT ON object::sys.indexes TO DATABASE_USER;GRANT SELECT ON object::sys.index_columns TO DATABASE_USER;GRANT SELECT ON object::sys.columns TO DATABASE_USER;GRANT SELECT ON object::sys.tables TO DATABASE_USER;GRANT SELECT ON object::sys.fulltext_index_columns TO DATABASE_USER;GRANT SELECT ON object::sys.fulltext_indexes TO DATABASE_USER; |
SELECT nos esquemas e tabelas que pretende ingerir. |
Base de dados que pretende importar | Execute o seguinte comando T-SQL para cada esquema ou tabela que pretende ingerir:GRANT SELECT ON SCHEMA::SCHEMA_NAME TO DATABASE_USER;-- Or for individual tables:GRANT SELECT ON object::TABLE_NAME TO DATABASE_USER; |
Alterar requisitos de privilégio de captura de dados (CDC)
Se o CDC estiver habilitado, privilégios adicionais serão necessários nos objetos de suporte DDL. Consulte Preparar o SQL Server para a ingestão usando o script de objetos utilitários.
Note
Para a configuração do CDC no Amazon RDS, o utilizador que executa o script de configuração do utilitário deve ser o utilizador mestre do RDS, ou deve ter sido concedido EXECUTE em msdb.dbo.rds_cdc_enable_db pelo utilizador mestre do RDS. Deve primeiro criar o utilizador em msdb antes de conceder esta permissão:
USE msdb;
CREATE USER SETUP_USER FOR LOGIN SETUP_USER;
GRANT EXECUTE ON dbo.rds_cdc_enable_db TO SETUP_USER;
GO
Esta permissão extra não é necessária para a configuração do acompanhamento de alterações.
Requisitos de privilégio de controle de alterações
Se o controle de alterações estiver habilitado, privilégios adicionais serão necessários nos objetos de suporte DDL. Consulte Preparar o SQL Server para a ingestão usando o script de objetos utilitários.