Modelo de segurança
Esta seção descreve o modelo de segurança da captura de dados de alterações.
Configuração e administração
Para habilitar ou desabilitar a captura de dados de alteração para um banco de dados, o chamador de sys.sp_cdc_enable_db (Transact-SQL) ou de sys.sp_cdc_disable_db (Transact-SQL) deve ser um membro da função sysadmin de servidor fixo. Habilitar e desabilitar a captura de dados de alteração no nível de tabela exige que o chamador de sys.sp_cdc_enable_table (Transact-SQL) e de sys.sp_cdc_disable_table (Transact-SQL) seja um membro da função sysadmin ou um membro da função db_owner do banco de dados.
Para suportar o modelo de segurança, um usuário especial e um esquema de captura de dados de alteração que é de propriedade do usuário de banco de dados da captura de dados de alteração são criados no banco de dados quando a captura de dados de alteração é habilitada. Todos os objetos da captura de dados de alteração que não estão no banco de dados de recurso são criados nesse esquema e pertencem ao usuário da captura de dados de alteração. Isso inclui qualquer função de gating que é criada quando uma tabela é habilitada para captura de dados de alterações.
O uso dos procedimentos armazenados para fornecer suporte aos trabalhos de captura de dados de alteração é restrito a membros da função sysadmin do servidor e a membros da função db_owner.
Consultas de metadados e enumeração de alteração
Para obter acesso aos dados de alteração associados a uma instância de captura, o usuário deve ter acesso de seleção a todas as colunas capturadas da tabela de origem associada. Além disso, se uma função gating for especificada quando a instância de captura for criada, o chamador também deverá ser um membro da função gating especificada. Outras funções gerais de captura de dados de alteração para o acesso aos metadados estarão acessíveis a todos os usuários de banco de dados por meio da função pública, embora o acesso aos metadados retornados será sempre concedido pelo uso do acesso de seleção às tabelas de origem subjacentes e pela associação em qualquer função gating definida.
Operações de DDL para tabelas de origem habilitadas para captura de dados de alterações
Quando uma tabela é habilitada para a captura de dados de alteração, as operações de DDL podem ser aplicadas à tabela somente por um membro de função fixa de servidor sysadmin, um membro de database role db_owner ou um membro de database role db_ddladmin. Os usuários que têm acesso explícito para executar as operações de DDL na tabela receberão o erro 22914 se tentarem essas operações.