Pular para o conteúdo principal

Requisitos de privilégio de usuário do banco de dados SQL Server

info

Visualização

O conector do Microsoft SQL Server está em uma versão prévia pública fechada. Para participar da pré-visualização, entre em contato com a equipe do Databricks account .

Este artigo descreve os privilégios que devem ser concedidos ao usuário do banco de dados SQL Server que o senhor planeja usar para fazer o ingesting em Databricks usando LakeFlow Connect.

A Databricks recomenda que o senhor crie um usuário de banco de dados que seja usado exclusivamente para a ingestão da Databricks.

Requisitos gerais de privilégios

Esse usuário do banco de dados deve ter os seguintes privilégios, independentemente do método empregado para acompanhar as alterações de dados no banco de dados de origem:

Privilégios

Acesso de leitura às seguintes tabelas do sistema e visualização no banco de dados mestre :

  • sys.databases
  • sys.schemas
  • sys.tables
  • sys.columns
  • sys.key_constraints
  • sys.foreign_keys
  • sys.check_constraints
  • sys.default_constraints
  • sys.change_tracking_tables
  • sys.change_tracking_databases
  • sys.objects
  • sys.triggers

Execute permissões nos seguintes procedimentos armazenados pelo sistema no banco de dados que você deseja ingerir :

  • sp_tables
  • sp_columns_100
  • sp_pkeys
  • sp_statistics_100

SELECT nos esquemas e tabelas que você deseja ingerir.

Os seguintes privilégios SELECT 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>;

Azure SQL O acesso ao banco de dados é gerenciado de forma diferente. Para conceder a um usuário acesso a um banco de dados, atribua as seguintes funções:

  • db_datareader: permite que o usuário leia dados de todas as tabelas do usuário.
  • db_datawriter: permite que o usuário adicione, exclua ou modifique dados em todas as tabelas do usuário.
  • db_ddladmin: Permite que o usuário execute o comando DDL no banco de dados.

captura de dados de alterações (CDC) (CDC) requisitos de privilégio

nota

Se o senhor definir a variável replicationUser no script de objetos de suporte DDL ao ativar o CDC, o script concederá esses privilégios para o senhor. Você só precisa concedê-los manualmente se replicationUser não estiver definido no script.

Para a captura de dados de alterações (CDC) (CDC), as seguintes permissões também são necessárias:

GRANT VIEW DEFINITION ON object::dbo.lakeflowDisableOldCaptureInstance_1_1 TO <database-user>;
GRANT VIEW DEFINITION ON object::dbo.lakeflowRefreshCaptureInstance_1_1 TO <database-user>;
GRANT VIEW DEFINITION ON object::dbo.lakeflowMergeCaptureInstances_1_1 TO <database-user>;
GRANT VIEW DEFINITION TO <database-user>;
GRANT VIEW DATABASE PERFORMANCE STATE TO <database-user>;
GRANT UPDATE ON object::dbo.lakeflowCaptureInstanceInfo_1_1 TO <database-user>;
GRANT EXECUTE ON schema :: dbo TO <database-user>;
GRANT EXECUTE ON object::dbo.lakeflowMergeCaptureInstances_1_1 TO <database-user>;
GRANT EXECUTE ON object::dbo.lakeflowDisableOldCaptureInstance_1_1 TO <database-user>;
GRANT EXECUTE ON object::dbo.lakeflowRefreshCaptureInstance_1_1 TO <database-user>;

Alterar os requisitos de privilégio de acompanhamento

nota

Se o senhor definir a variável replicationUser no script de objetos de suporte DDL ao ativar o acompanhamento de alterações, o script concederá esses privilégios para o senhor. Você só precisa concedê-los manualmente se replicationUser não estiver definido no script.

Para o acompanhamento de alterações, as seguintes permissões também são necessárias:

GRANT VIEW CHANGE TRACKING ON OBJECT::dbo.lakeflowDdlAudit_1_1 TO <database-user>;
GRANT VIEW DEFINITION ON DATABASE::<database-name> TO <database-user>;