Sicherheitsmodell

In diesem Abschnitt wird das Sicherheitsmodell von Change Data Capture beschrieben.

Konfiguration und Verwaltung

Um Change Data Capture für eine Datenbank aktivieren oder deaktivieren zu können, muss der Benutzer, der sys.sp_cdc_enable_db (Transact-SQL) oder sys.sp_cdc_disable_db (Transact-SQL) aufruft, ein Mitglied der festen Serverrolle sysadmin sein. Zur Aktivierung und Deaktivierung von Change Data Capture auf Tabellenebene muss der Benutzer, der sys.sp_cdc_enable_table (Transact-SQL) und sys.sp_cdc_disable_table (Transact-SQL) aufruft, entweder ein Mitglied der Rolle sysadmin oder ein Mitglied der Rolle db_owner der Datenbank sein.

Zur Unterstützung des Sicherheitsmodells werden bei Aktivierung von Change Data Capture ein spezieller Change Data Capture-Benutzer und ein Change Data Capture-Schema, dessen Besitzer der Change Data Capture-Datenbankbenutzer ist, in der Datenbank erstellt. In diesem Schema werden alle Change Data Capture-Objekte erstellt, die nicht in der Ressourcendatenbank vorhanden sind, mit dem Change Data Capture-Benutzer als Besitzer. Dazu gehören auch alle Gatingrollen, die erstellt werden, wenn eine Tabelle für Change Data Capture aktiviert wird.

Gespeicherte Prozeduren zur Verwaltung von Change Data Capture-Aufträgen können nur von Mitgliedern der Serverrolle sysadmin und der Rolle db_owner verwendet werden.

Änderungsenumeration und Metadatenabfragen

Für den Zugriff auf die mit einer Änderungsinstanz verbundenen Änderungsdaten muss dem Benutzer die Zugriffsberechtigung für alle aufgezeichneten Spalten der zugeordneten Quelltabelle erteilt werden. Wenn bei Erstellung der Aufzeichnungsinstanz eine Gatingrolle angegeben wird, muss der Aufrufer außerdem Mitglied der angegebenen Gatingrolle sein. Andere allgemeine Change Data Capture-Funktionen für den Zugriff auf Metadaten stehen für alle Datenbankbenutzer mit der Rolle public zur Verfügung. Der Zugriff auf die zurückgegebenen Metadaten wird jedoch in der Regel auch hier durch die Zugriffsberechtigungen auf die zugrunde liegenden Quelltabellen und die Mitgliedschaft in definierten Gatingrollen beschränkt.

Anwendung von DDL-Vorgängen auf Change Data Capture-aktivierte Quelltabellen

Wenn eine Tabelle für Change Data Capture aktiviert ist, können DDL-Vorgänge nur von Mitgliedern der festen Serverrolle sysadmin bzw. von Mitgliedern von database role db_owner oder database role db_ddladmin auf die Tabelle angewendet werden. Wenn Benutzer, denen die Berechtigung zur Ausführung von DDL-Vorgängen auf die Tabelle explizit erteilt wurde, diese Vorgänge versuchen, wird die Fehlermeldung 22914 zurückgegeben.