Freigeben über


Microsoft SQL Server-Datenbankbenutzeranforderungen

Erfahren Sie, welche Berechtigungen dem Microsoft SQL Server-Datenbankbenutzer gewährt werden sollen, den Sie für die Aufnahme in Azure Databricks verwenden möchten.

Databricks empfiehlt, einen Datenbankbenutzer zu erstellen, der ausschließlich für die Erfassung von Databricks verwendet wird.

Gewähren von Datenbankberechtigungen

Die Tabellen in diesem Abschnitt enthalten die Berechtigungen, über die der Datenbankbenutzer je nach Datenbankvariation verfügen muss. Diese Berechtigungen sind erforderlich, unabhängig davon, ob Sie die Änderungsdatenerfassung (Change Data Capture, CDC) oder die Änderungsnachverfolgung verwenden. In den Tabellen werden auch die Befehle zum Erteilen der einzelnen Berechtigungen angezeigt.

Nicht-Azure-Datenbanken

Erforderliche Berechtigungen Wo die Befehle ausgeführt werden sollen Befehle zur Zuweisung
Lesezugriff auf die folgenden Systemtabellen und -ansichten in der Masterdatenbank:
  • 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
Masterdatenbank Führen Sie die folgenden T-SQL-Befehle in der Masterdatenbank aus:
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>;
Führen Sie Berechtigungen für die folgenden gespeicherten Systemprozeduren in der Masterdatenbank aus:
  • sp_tables
  • sp_columns_100
  • sp_pkeys
  • sp_statistics_100
Masterdatenbank Führen Sie die folgenden T-SQL-Befehle in der Datenbank aus, die Sie aufnehmen möchten:
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>;
SELECT-Berechtigung für die Schemas und Tabellen, die Sie erfassen möchten. Datenbank, die Sie importieren möchten Führen Sie den folgenden T-SQL-Befehl für jedes Schema und jede Tabelle aus, die Sie aufnehmen möchten:
GRANT SELECT ON object::<table-name\|schema-name> to <database-user>;
SELECT Berechtigungen an den folgenden Systemtabellen und -ansichten in der Datenbank, die Sie einbinden möchten:
  • sys.indexes
  • sys.index_columns
  • sys.columns
  • sys.tables
  • sys.fulltext_index_columns
  • sys.fulltext_indexes
Datenbank, die Sie importieren möchten Führen Sie die folgenden T-SQL-Befehle in der Datenbank aus, die Sie aufnehmen möchten:
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-Datenbank

Berechtigungen Wo die Befehle ausgeführt werden sollen Befehle
Lesezugriff auf die folgenden Systemtabellen und Ansichten in der Datenbank, die Sie importieren möchten:
  • sys.schemas
  • sys.tables
  • sys.columns
  • sys.key_constraints
  • sys.foreign_keys
  • sys.check_constraints
  • sys.default_constraints
  • sys.change_tracking_tables
  • sys.objects
  • sys.triggers
  • sys.indexes
  • sys.index_columns
  • sys.fulltext_index_columns
  • sys.fulltext_indexes
Datenbank, die Sie importieren möchten Führen Sie die folgenden T-SQL-Befehle in der Datenbank aus, die Sie aufnehmen möchten:
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>;

Verwaltete Azure SQL-Instanz

Berechtigungen Wo die Befehle ausgeführt werden sollen Befehle
Lesezugriff auf die folgenden Systemtabellen und Ansichten in der Datenbank, die Sie importieren möchten:
  • sys.schemas
  • sys.tables
  • sys.columns
  • sys.key_constraints
  • sys.foreign_keys
  • sys.check_constraints
  • sys.default_constraints
  • sys.change_tracking_tables
  • sys.objects
  • sys.triggers
  • sys.indexes
  • sys.index_columns
  • sys.fulltext_index_columns
  • sys.fulltext_indexes
Datenbank, die Sie importieren möchten Führen Sie die folgenden T-SQL-Befehle in der Datenbank aus, die Sie aufnehmen möchten:
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>;
Ansehen und Lesen von Datenbankinhalten:
  • VIEW ANY DATABASE
  • sys.databases
  • sys.change_tracking_databases
Masterdatenbank Führen Sie die folgenden T-SQL-Befehle in der Masterdatenbank aus:
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>;
Führen Sie Berechtigungen für die folgenden gespeicherten Systemprozeduren aus:
  • sp_tables
  • sp_columns_100
  • sp_pkeys
  • sp_statistics_100
Masterdatenbank Führen Sie die folgenden T-SQL-Befehle in der Masterdatenbank aus:
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>;

Berechtigungsanforderungen für Change Data Capture (CDC)

Wenn CDC aktiviert ist, sind zusätzliche Berechtigungen für die DDL-Unterstützungsobjekte erforderlich. Weitere Informationen finden Sie unter Vorbereiten von SQL Server für die Aufnahme mithilfe des Skripts für Hilfsobjekte.

Anforderungen für die Berechtigung zur Änderungsnachverfolgung

Wenn die Änderungsnachverfolgung aktiviert ist, sind zusätzliche Berechtigungen für die DDL-Unterstützungsobjekte erforderlich. Weitere Informationen finden Sie unter Vorbereiten von SQL Server für die Aufnahme mithilfe des Skripts für Hilfsobjekte.