Microsoft SQL Server 数据库用户要求

重要

Microsoft SQL Server 连接器为公共预览版

本文介绍了必须授予 Microsoft SQL Server 数据库用户以计划用于引入 Azure Databricks 的特权。

Databricks 建议创建仅用于 Databricks 引入的数据库用户。

授予数据库特权

下表列出了数据库用户必须拥有的权限,无论使用变更数据捕获(CDC)还是更改跟踪。 它还显示用于授予每个权限的命令。

所需权限 用于授权的命令 运行命令的位置
对 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 命令:
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 命令:
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 命令:
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 命令:
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>;
要引入的数据库

变更数据捕获 (CDC) 权限要求

如果启用了 CDC,则 DDL 支持对象需要其他权限。 请参阅 在 MICROSOFT SQL Server 中启用内置 CDC

更改跟踪权限要求

如果启用了更改跟踪,则 DDL 支持对象需要其他权限。 请参阅 在 MICROSOFT SQL Server 中启用更改跟踪