Requisitos de usuário do banco de dados Microsoft SQL Server
Saiba quais privilégios conceder ao usuário do banco de dados Microsoft SQL Server que você planeja usar para ingerir dados no Databricks.
A Databricks recomenda que o senhor crie um usuário de banco de dados que seja usado exclusivamente para a ingestão da 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 o senhor usar a captura de dados de alterações (CDC) (CDC) ou alterar o acompanhamento. As tabelas também mostram o comando para conceder cada privilégio.
Bancos de dados não Azure
Privilégios necessários | Onde executar o comando | comando para conceder |
|---|---|---|
| Banco de dados mestre | execute o seguinte comando T-SQL no banco de dados mestre: ```sql GRANT VIEW ANY DATABASE TO DATABASE_USER; |
Acesso de leitura às seguintes tabelas do sistema e visualização no banco de dados mestre:
| Banco de dados mestre | Execute o seguinte comando T-SQL no banco de dados mestre: ```sql 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 pelo sistema no banco de dados mestre:
| Banco de dados mestre | Execute o seguinte comando T-SQL no banco de dados que o senhor deseja ingerir: ```sql 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; |
| Banco de dados que você deseja ingerir | Execute o seguinte comando T-SQL no banco de dados que você deseja importar: ```sql USE DATABASE_NAME GRANT VIEW DATABASE PERFORMANCE STATE to DATABASE_USER; |
| Banco de dados que você deseja ingerir | Execute o seguinte comando T-SQL para cada esquema e tabela que você deseja importar: ```sql GRANT SELECT ON schema::SCHEMA_NAME to DATABASE_USER; GRANT SELECT ON object::TABLE_NAME to DATABASE_USER; |
| Banco de dados que você deseja ingerir | Execute o seguinte comando T-SQL no banco de dados que o senhor deseja ingerir: ```sql 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; |
Banco de dados SQL do Azure
Privilégios | Onde executar o comando | Comandos |
|---|---|---|
Participação na seguinte função de servidor no banco de dados mestre para que o usuário possa acessar o mestre:
| Banco de dados mestre | execute o seguinte comando T-SQL no banco de dados mestre: ```sql ALTER ROLE ##MS_DatabaseConnector## ADD MEMBER DATABASE_USER; |
Acesso de leitura às seguintes tabelas do sistema e visualização no banco de dados que o senhor deseja ingerir:
| Banco de dados que você deseja ingerir | Execute o seguinte comando T-SQL no banco de dados que o senhor deseja ingerir: ```sql 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; |
| Banco de dados que você deseja ingerir | Execute o seguinte comando T-SQL no banco de dados que você deseja importar: ```sql GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
Azure SQL gerenciar Instância
Privilégios | Onde executar o comando | Comandos |
|---|---|---|
Acesso de leitura às seguintes tabelas do sistema e visualização no banco de dados que o senhor deseja ingerir:
| Banco de dados que você deseja ingerir | Execute o seguinte comando T-SQL no banco de dados que o senhor deseja ingerir: ```sql 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 aos bancos de dados:
| Banco de dados mestre | Execute o seguinte comando T-SQL no banco de dados mestre: ```sql 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 no sistema:
| Banco de dados mestre | Execute o seguinte comando T-SQL no banco de dados mestre: ```sql 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; |
| Banco de dados que você deseja ingerir | Execute o seguinte comando T-SQL no banco de dados que você deseja importar: ```sql USE DATABASE_NAME GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
captura de dados de alterações (CDC) (CDC) requisitos de privilégio
Se o CDC estiver ativado, serão necessários privilégios adicionais nos objetos de suporte DDL. Consulte Preparar SQL Server para ingestão usando o script de objetos utilitários.
Alterar os requisitos de privilégio de acompanhamento
Se o acompanhamento de alterações estiver ativado, serão necessários privilégios adicionais nos objetos de suporte DDL. Consulte Preparar SQL Server para ingestão usando o script de objetos utilitários.