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

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