Compartir a través de


Requisitos de usuario de base de datos de Microsoft SQL Server

Obtenga información sobre qué privilegios conceder al usuario de base de datos de Microsoft SQL Server que planea usar para la ingesta en Azure Databricks.

Databricks recomienda crear un usuario de base de datos que se use únicamente para la ingesta de Databricks.

Concesión de privilegios de base de datos

En las tablas de esta sección se enumeran los privilegios que debe tener el usuario de la base de datos, en función de la variación de la base de datos. Estos privilegios son necesarios si usa la captura de datos modificados (CDC) o el seguimiento de cambios. Las tablas también muestran los comandos para conceder cada privilegio.

Bases de datos que no son de Azure

Privilegios requeridos Dónde ejecutar los comandos Comandos de concesión de permisos
Acceso de lectura a las siguientes tablas y vistas del sistema en la base de datos maestra:
  • 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
Base de datos maestra Ejecute los siguientes comandos de T-SQL en la base de datos maestra:
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>;
Ejecute permisos en los siguientes procedimientos almacenados del sistema en la base de datos maestra:
  • sp_tables
  • sp_columns_100
  • sp_pkeys
  • sp_statistics_100
Base de datos maestra Ejecute los siguientes comandos de T-SQL en la base de datos que desea ingerir:
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 en los esquemas y tablas que desea ingerir. Base de datos que desea importar Ejecute el siguiente comando de T-SQL para cada esquema y tabla que quiera ingerir:
GRANT SELECT ON object::<table-name\|schema-name> to <database-user>;
SELECT privilegios en las siguientes vistas y tablas del sistema de la base de datos que desea ingerir:
  • sys.indexes
  • sys.index_columns
  • sys.columns
  • sys.tables
  • sys.fulltext_index_columns
  • sys.fulltext_indexes
Base de datos que desea importar Ejecute los siguientes comandos de T-SQL en la base de datos que desea ingerir:
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 Database

Privilegios Dónde ejecutar los comandos Órdenes
Lea acceso a privilegios en las siguientes vistas y tablas del sistema de la base de datos que desea ingerir:
  • 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
Base de datos que desea importar Ejecute los siguientes comandos de T-SQL en la base de datos que desea ingerir:
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>;

Instancia Gestionada de Azure SQL

Privilegios Dónde ejecutar los comandos Órdenes
Lea acceso a privilegios en las siguientes vistas y tablas del sistema de la base de datos que desea ingerir:
  • 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
Base de datos que desea importar Ejecute los siguientes comandos de T-SQL en la base de datos que desea ingerir:
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>;
Ver y leer el acceso a las bases de datos:
  • VIEW ANY DATABASE
  • sys.databases
  • sys.change_tracking_databases
Base de datos maestra Ejecute los siguientes comandos de T-SQL en la base de datos maestra:
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>;
Ejecute permisos en los siguientes procedimientos almacenados del sistema:
  • sp_tables
  • sp_columns_100
  • sp_pkeys
  • sp_statistics_100
Base de datos maestra Ejecute los siguientes comandos de T-SQL en la base de datos maestra:
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>;

Requisitos de privilegios de captura de datos modificados (CDC)

Si CDC está habilitado, se requieren privilegios adicionales en los objetos de soporte de DDL. Consulte Preparar SQL Server para la ingestión usando el script de objetos de utilidad.

Requisitos de privilegios de Seguimiento de cambios

Si el seguimiento de cambios está habilitado, se requieren privilegios adicionales en los objetos de compatibilidad de DDL. Consulte Preparar SQL Server para la ingestión usando el script de objetos de utilidad.