Modello di protezione
In queste sezioni viene descritto il modello di protezione di Change Data Capture.
Configurazione e amministrazione
Per abilitare o disabilitare la funzionalità Change Data Capture per un database, il chiamante di sys.sp_cdc_enable_db (Transact-SQL) o sys.sp_cdc_disable_db (Transact-SQL) deve essere un membro del ruolo predefinito del server sysadmin. Per abilitare e disabilitare Change Data Capture a livello di tabella, è necessario che il chiamante di sys.sp_cdc_enable_table (Transact-SQL) e sys.sp_cdc_disable_table (Transact-SQL) sia un membro del ruolo sysadmin o del ruolo del database db_owner.
Per supportare il modello di protezione, quando la funzionalità Change Data Capture viene abilitata nel database vengono creati uno speciale utente e uno schema il cui proprietario è l'utente di database di Change Data Capture. Tutti gli oggetti relativi a Change Data Capture non presenti nel database delle risorse vengono creati in questo schema. Il proprietario di tali oggetti è l'utente creato per Change Data Capture, che dispone di qualsiasi ruolo di controllo creato quando una tabella viene abilitata per Change Data Capture.
L'utilizzo delle stored procedure per supportare l'amministrazione dei processi Change Data Capture è limitato ai membri del ruolo del server sysadmin e del ruolo database db_owner.
Enumerazione delle modifiche e query sui metadati
Per accedere ai dati delle modifiche associati a un'istanza di acquisizione, l'utente deve disporre dell'autorizzazione SELECT per l'accesso a tutte le colonne acquisite della tabella di origine associata. Se, inoltre, al momento della creazione dell'istanza di acquisizione viene specificato un ruolo di controllo, il chiamante deve essere anche un membro del ruolo di controllo specificato. Le altre funzioni generali di Change Data Capture per l'accesso ai metadati saranno accessibili a tutti gli utenti del database tramite il ruolo public, sebbene l'accesso ai metadati restituiti venga controllato in genere utilizzando anche l'autorizzazione SELECT per l'accesso alle tabelle di origine sottostanti e tramite l'appartenenza a qualsiasi ruolo di controllo definito.
Operazioni DDL nelle tabelle delle modifiche abilitate per Change Data Capture
Quando una tabella è abilitata per Change Data Capture, le operazioni DDL possono essere eseguite nella tabella solo da un membro del ruolo predefinito del database sysadmin, del ruolo database role db_owner o del ruolo database role db_ddladmin. Se un utente che dispone di autorizzazioni esplicite per eseguire operazioni DDL nella tabella tenta di eseguire tali operazioni, verrò restituito l'errore 22914.