SQL Server データベースのユーザー特権の要件
プレビュー
Microsoft SQL Server コネクタは、ゲート パブリック プレビュー段階です。プレビューに参加するには、Databricks アカウント チームにお問い合わせください。
この記事では、SQL Server Databricksを使用して に取り込むために使用する予定の データベースLakeFlow Connect ユーザーに付与する必要がある特権について説明します。
Databricks では、Databricks インジェストにのみ使用されるデータベース ユーザーを作成することをお勧めします。
一般的な特権要件
このデータベース・ユーザーは、ソース・データベースでのデータ変更の追跡に使用する方法に関係なく、次の権限を持っている必要があります。
-
次のシステムテーブルとビューへの読み取りアクセス:
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
-
次のシステムストアドプロシージャに対する実行権限:
sp_tables
sp_columns
sp_columns_100
sp_pkeys
sp_statistics
-
SELECT
取り込むスキーマとテーブル。 -
次の
SELECT
権限があります。use <database-name>
grant select on object::sys.indexes to <cdc-username>;
grant select on object::sys.index_columns to <cdc-username>;
grant select on object::sys.columns to <cdc-username>;
grant select on object::sys.tables to <cdc-username>;
grant select on object::sys.fulltext_index_columns to <cdc-username>;
grant select on object::sys.fulltext_indexes to <cdc-username>;
チェンジデータキャプチャ (CDC) privilege requirements
CDC を有効にするときに DDL サポートオブジェクトスクリプトで replicationUser
変数を設定すると、スクリプトによってこれらの権限が付与されます。これらを手動で付与する必要があるのは、スクリプトで replicationUser
が設定されていない場合のみです。
チェンジデータキャプチャ (CDC) には、次の権限も必要です。
GRANT VIEW DEFINITION ON object::dbo.lakeflowDisableOldCaptureInstance_1_1 TO <database-user>;
GRANT VIEW DEFINITION ON object::dbo.lakeflowRefreshCaptureInstance_1_1 TO <database-user>;
GRANT VIEW DEFINITION ON object::dbo.lakeflowMergeCaptureInstances_1_1 TO <database-user>;
GRANT VIEW DEFINITION TO <database-user>;
GRANT VIEW DATABASE PERFORMANCE STATE TO <database-user>;
GRANT UPDATE ON object::dbo.lakeflowCaptureInstanceInfo_1_1 TO <database-user>;
GRANT EXECUTE ON schema :: dbo TO <database-user>;
GRANT EXECUTE ON object::dbo.lakeflowMergeCaptureInstances_1_1 TO <database-user>;
GRANT EXECUTE ON object::dbo.lakeflowDisableOldCaptureInstance_1_1 TO <database-user>;
GRANT EXECUTE ON object::dbo.lakeflowRefreshCaptureInstance_1_1 TO <database-user>;
変更追跡の権限要件
変更追跡を有効にするときに DDL サポート オブジェクト スクリプトで replicationUser
変数を設定すると、スクリプトによってこれらの特権が付与されます。これらを手動で付与する必要があるのは、スクリプトで replicationUser
が設定されていない場合のみです。
変更の追跡には、次のアクセス許可も必要です。
GRANT VIEW CHANGE TRACKING ON OBJECT::dbo.lakeflowDdlAudit_1_1 TO <database-user>;
GRANT VIEW DEFINITION ON DATABASE::<database-name> TO <database-user>;