メインコンテンツまでスキップ

Microsoft SQL Server データベースのユーザー要件

備考

プレビュー

Microsoft SQL Server コネクタは パブリック プレビュー段階です。

この記事では、Databricks への取り込みに使用する予定の Microsoft SQL Server データベース ユーザーに付与する必要がある特権について説明します。

Databricks では、Databricks 取り込みにのみ使用されるデータベース ユーザーを作成することをお勧めします。

データベース権限の付与

このセクションの表は、データベースのバリエーションに応じて、データベース・ユーザーが持つ必要がある権限をリストしています。これらの権限は、チェンジデータキャプチャ (CDC) と変更追跡のどちらを使用する場合でも必要です。 表には、各権限を付与するコマンドも示されています。

Azure 以外のデータベース

必要な権限

付与するコマンド

コマンドを実行する場所

master データベース内の次のシステムテーブルとビューへの読み取りアクセス。

  • 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

master データベースで次の T-SQL コマンドを実行します。

SQL
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>;

マスターデータベース

master データベース内の次のシステムストアドプロシージャに対する実行権限:

  • sp_tables
  • sp_columns_100
  • sp_pkeys
  • sp_statistics_100

取り込むデータベースで次の T-SQL コマンドを実行します。

SQL
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 取り込むスキーマとテーブル。

取り込むスキーマとテーブルごとに、次の T-SQL コマンドを実行します。

SQL
GRANT SELECT ON object::<table-name|schema-name> to <database-user>;

取り込むデータベース

SELECT 取り込むデータベース内の次のシステムテーブルとビューに対する権限:

  • sys.indexes
  • sys.index_columns
  • sys.columns
  • sys.tables
  • sys.fulltext_index_columns
  • sys.fulltext_indexes

取り込むデータベースで次の T-SQL コマンドを実行します。

SQL
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 データベース

権限

コマンド

コマンドを実行する場所

取り込むデータベース内の次のシステムテーブルとビューへの読み取りアクセス:

  • 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

取り込むデータベースで次の T-SQL コマンドを実行します。

SQL
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>;

取り込むデータベース

Azure SQL Managed Instance

権限

コマンド

コマンドを実行する場所

取り込むデータベース内の次のシステムテーブルとビューへの読み取りアクセス:

  • 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

取り込むデータベースで次の T-SQL コマンドを実行します。

SQL
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>;

取り込むデータベース

データベースへの表示および読み取りアクセス:

  • VIEW ANY DATABASE
  • sys.databases
  • sys.change_tracking_databases

master データベースで次の T-SQL コマンドを実行します。

SQL
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>;

マスターデータベース

次のシステムストアドプロシージャに対する実行権限:

  • sp_tables
  • sp_columns_100
  • sp_pkeys
  • sp_statistics_100

master データベースで次の T-SQL コマンドを実行します。

SQL
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>;

マスターデータベース

チェンジデータキャプチャ (CDC) 権限の要件

CDC が有効になっている場合は、DDL サポート オブジェクトに対する追加の特権が必要です。「 Microsoft SQL Server で組み込み CDC を有効にする」を参照してください。

変更追跡の権限要件

変更追跡が有効になっている場合は、DDL サポート オブジェクトに対する追加の特権が必要です。「 Microsoft SQL Server での変更追跡の有効化」を参照してください。