Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você 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 usado exclusivamente para ingestão do 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 CDC (captura de dados de alteração) 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 a serem concedidos |
|---|---|---|
VIEW ANY DATABASE |
Banco de dados mestre | Execute o seguinte comando T-SQL no banco de dados mestre:GRANT VIEW ANY DATABASE TO DATABASE_USER; |
Leia o acesso às seguintes tabelas e exibições do sistema no banco de dados mestre:
|
Banco de dados mestre | 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:
|
Banco de dados mestre | 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 |
Banco de dados que você deseja processar | Execute o seguinte comando T-SQL no banco de dados que você deseja ingerir:USE DATABASE_NAME;GRANT VIEW DATABASE STATE TO DATABASE_USER;No SQL Server 2022 e posterior, você pode usar a permissão de VIEW DATABASE PERFORMANCE STATE com escopo mais estreito em vez disso:USE DATABASE_NAME;GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
SELECT nos esquemas e tabelas que você deseja ingerir. |
Banco de dados que você deseja processar | Execute os seguintes comandos T-SQL para cada esquema e tabela que você deseja ingerir:GRANT SELECT ON schema::SCHEMA_NAME TO DATABASE_USER;GRANT SELECT ON object::TABLE_NAME TO DATABASE_USER; |
SELECT privilégios nas tabelas e exibições do sistema a seguir no banco de dados que você quer ingerir:
|
Banco de dados que você deseja processar | 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; |
Banco de Dados SQL do Azure
| Privilégios | Onde executar os comandos | Comandos |
|---|---|---|
Associação ao seguinte papel de servidor no banco de dados mestre para que o usuário possa acessar o banco de dados mestre:
|
Banco de dados mestre | Execute o seguinte comando T-SQL no banco de dados mestre:ALTER ROLE ##MS_DatabaseConnector## ADD MEMBER DATABASE_USER; |
Acesso de leitura para as seguintes tabelas e exibições do sistema no banco de dados que você quer ingerir:
|
Banco de dados que você deseja processar | 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 |
Banco de dados que você deseja processar | Execute o seguinte comando T-SQL no banco de dados que você deseja ingerir:GRANT VIEW DATABASE STATE TO DATABASE_USER;No SQL Server 2022 e posterior, você pode usar a permissão de VIEW DATABASE PERFORMANCE STATE com escopo mais estreito em vez disso:GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
Instância Gerenciada de SQL do Azure
| Privilégios | Onde executar os comandos | Comandos |
|---|---|---|
Acesso de leitura para as seguintes tabelas e exibições do sistema no banco de dados que você quer ingerir:
|
Banco de dados que você deseja processar | 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; |
Exibir e ler o acesso aos bancos de dados:
|
Banco de dados mestre | 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:
|
Banco de dados mestre | 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 |
Banco de dados que você deseja processar | Execute o seguinte comando T-SQL no banco de dados que você deseja ingerir:USE DATABASE_NAME;GRANT VIEW DATABASE STATE TO DATABASE_USER;No SQL Server 2022 e posterior, você pode usar a permissão de VIEW DATABASE PERFORMANCE STATE com escopo mais estreito 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, as concessões de banco de dados mestre não são necessárias. SQL Server logons recebem automaticamente acesso aos modos de exibição do sistema necessários e procedimentos armazenados no mestre por meio da função public. Você não pode criar usuários no master banco de dados no Amazon RDS.
| Privilégios necessários | Onde executar os comandos | Comandos a serem concedidos |
|---|---|---|
SELECT privilégios nas seguintes visões do sistema no banco de dados do qual você deseja ingerir dados:
|
Banco de dados que você deseja processar | 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 você deseja ingerir. |
Banco de dados que você deseja processar | Execute o seguinte comando T-SQL para cada esquema ou tabela que você deseja ingerir:GRANT SELECT ON SCHEMA::SCHEMA_NAME TO DATABASE_USER;-- Or for individual tables:GRANT SELECT ON object::TABLE_NAME TO DATABASE_USER; |
Requisitos de privilégio de captura de dados de alterações (CDA)
Se o CDC estiver habilitado, privilégios adicionais serão necessários nos objetos de suporte de DDL. Consulte Preparar o SQL Server para ingestão usando o script de objetos do utilitário.
Note
Para a configuração do CDC no Amazon RDS, o usuário que executa o script de configuração do utilitário deve ser o usuário mestre do RDS ou deve receber EXECUTE em msdb.dbo.rds_cdc_enable_db do usuário mestre. Primeiro, você deve criar o usuário 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
Essa permissão extra não é necessária para a instalação do controle 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 ingestão usando o script de objetos do utilitário.