SQL Server データベースのユーザー特権の要件
プレビュー
Microsoft SQL Server コネクタは、ゲート パブリック プレビュー段階です。プレビューに参加するには、Databricks アカウント チームにお問い合わせください。
この記事では、SQL Server Databricksを使用して に取り込むために使用する予定の データベースLakeFlow Connect ユーザーに付与する必要がある特権について説明します。
Databricks では、Databricks インジェストにのみ使用されるデータベース ユーザーを作成することをお勧めします。
一般的な特権要件
このデータベース・ユーザーは、ソース・データベースでのデータ変更の追跡に使用する方法に関係なく、次の権限を持っている必要があります。
権限 |
---|
master データベース 上の次のシステムテーブルとビューへの読み取りアクセス。
|
取り込むデータベース に対する次のシステム・ストアド・プロシージャに対する権限を実行します。
|
|
取り込むデータベース に対する次の
|
Azure SQL Database アクセスは、異なる方法で管理されます。データベースへのアクセス権をユーザーに付与するには、次のロールを割り当てます。
db_datareader
: ユーザーは、すべてのユーザーテーブルからデータを読み取ることができます。db_datawriter
: ユーザーは、すべてのユーザーテーブルのデータを追加、削除、または変更できます。db_ddladmin
: データベースで DDL コマンドを実行できるようにします。
チェンジデータキャプチャ (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>;