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

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

Databricks への取り込みに使用する予定の Microsoft SQL Server データベース ユーザーに付与する権限について説明します。

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

データベース権限の付与

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

Azure 以外のデータベース

必要な権限

コマンドを実行する場所

付与するコマンド

VIEW ANY DATABASE

マスターデータベース

マスター データベースで次の T-SQL コマンドを実行します。 ```sql GRANT VIEW ANY DATABASE TO DATABASE_USER;

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; GRANT SELECT ON object::sys.triggers 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;

VIEW DATABASE PERFORMANCE STATE

取り込むデータベース

取り込むデータベース上で次の T-SQL コマンドを実行します。 ```sql USE DATABASE_NAME GRANT VIEW DATABASE PERFORMANCE STATE to DATABASE_USER;

SELECT 取り込むスキーマとテーブル。

取り込むデータベース

取り込むスキーマとテーブルごとに次の T-SQL コマンドを実行します。 ```sql GRANT SELECT ON schema::SCHEMA_NAME to DATABASE_USER; GRANT SELECT ON object::TABLE_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 データベース

権限

コマンドを実行する場所

コマンド

ユーザーがマスターにアクセスできるように、マスター データベース内の次のサーバー ロールのメンバーシップ:

  • ##MS_DatabaseConnector##

マスターデータベース

マスター データベースで次の T-SQL コマンドを実行します。 ```sql ALTER ROLE ##MS_DatabaseConnector## ADD MEMBER DATABASE_USER;

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

  • 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 DATABASE PERFORMANCE STATE

取り込むデータベース

取り込むデータベース上で次の T-SQL コマンドを実行します。 ```sql GRANT VIEW DATABASE PERFORMANCE STATE 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;

VIEW DATABASE PERFORMANCE STATE

取り込むデータベース

取り込むデータベース上で次の T-SQL コマンドを実行します。 ```sql USE DATABASE_NAME GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER;

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

CDC が有効になっている場合は、DDL サポート オブジェクトに対する追加の権限が必要です。「ユーティリティ オブジェクト スクリプトを使用して SQL Server の取り込みを準備する」を参照してください。

変更追跡の権限要件

変更追跡が有効になっている場合は、DDL サポート オブジェクトに対する追加の権限が必要です。「ユーティリティ オブジェクト スクリプトを使用して SQL Server の取り込みを準備する」を参照してください。