Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 |
|---|---|---|
VIEW ANY DATABASE |
Base de datos maestra | Ejecute el siguiente comando T-SQL en la base de datos maestra:GRANT VIEW ANY DATABASE TO DATABASE_USER; |
Acceso de lectura a las siguientes tablas y vistas del sistema en la base de datos maestra:
|
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;GRANT SELECT ON object::sys.triggers TO DATABASE_USER; |
Ejecute permisos en los siguientes procedimientos almacenados del sistema en la base de datos maestra:
|
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; |
VIEW DATABASE STATE |
Base de datos que desea importar | Ejecute el siguiente comando de T-SQL en la base de datos que desea ingerir:USE DATABASE_NAME;GRANT VIEW DATABASE STATE TO DATABASE_USER;En SQL Server 2022 y versiones posteriores, puede usar en su lugar el permiso VIEW DATABASE PERFORMANCE STATE de ámbito más restringido:USE DATABASE_NAME;GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
SELECT en los esquemas y tablas que desea ingerir. |
Base de datos que desea importar | Ejecute los siguientes comandos de T-SQL para cada esquema y tabla que quiera ingerir:GRANT SELECT ON schema::SCHEMA_NAME TO DATABASE_USER;GRANT SELECT ON object::TABLE_NAME TO DATABASE_USER; |
SELECT privilegios en las siguientes vistas y tablas del sistema de la base de datos que desea ingerir:
|
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 |
|---|---|---|
Pertenencia al siguiente rol de servidor en la base de datos maestra para que el usuario pueda acceder a master:
|
Base de datos maestra | Ejecute el siguiente comando T-SQL en la base de datos maestra:ALTER ROLE ##MS_DatabaseConnector## ADD MEMBER DATABASE_USER; |
Lea acceso a privilegios en las siguientes vistas y tablas del sistema de la base de datos que desea ingerir:
|
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; |
VIEW DATABASE STATE |
Base de datos que desea importar | Ejecute el siguiente comando de T-SQL en la base de datos que desea ingerir:GRANT VIEW DATABASE STATE TO DATABASE_USER;En SQL Server 2022 y versiones posteriores, puede usar en su lugar el permiso más específico VIEW DATABASE PERFORMANCE STATE:GRANT VIEW DATABASE PERFORMANCE STATE 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:
|
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:
|
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:
|
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; |
VIEW DATABASE STATE |
Base de datos que desea importar | Ejecute el siguiente comando de T-SQL en la base de datos que desea ingerir:USE DATABASE_NAME;GRANT VIEW DATABASE STATE TO DATABASE_USER;En SQL Server 2022 y versiones posteriores, puede usar en su lugar el permiso VIEW DATABASE PERFORMANCE STATE de ámbito más limitado:USE DATABASE_NAME;GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
Amazon RDS para SQL Server
En Amazon RDS para SQL Server, no se requieren concesiones de base de datos maestras. Los inicios de sesión de SQL Server reciben automáticamente acceso a las vistas del sistema necesarias y a los procedimientos almacenados en master a través del rol public. No puede crear usuarios en la master base de datos en Amazon RDS.
| Privilegios requeridos | Dónde ejecutar los comandos | Comandos de concesión de permisos |
|---|---|---|
SELECT privilegios en las siguientes vistas del sistema de la base de datos que desea importar:
|
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; |
SELECT en los esquemas y tablas que desea ingerir. |
Base de datos que desea importar | Ejecute el siguiente comando T-SQL para cada esquema o tabla que quiera ingerir:GRANT SELECT ON SCHEMA::SCHEMA_NAME TO DATABASE_USER;-- Or for individual tables:GRANT SELECT ON object::TABLE_NAME 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.
Note
Para la configuración de CDC en Amazon RDS, el usuario que ejecuta el script de configuración de la utilidad debe ser el usuario maestro de RDS, o bien debe tener concedido EXECUTE sobre msdb.dbo.rds_cdc_enable_db por parte del usuario maestro. Primero debe crear el usuario en msdb antes de conceder este permiso:
USE msdb;
CREATE USER SETUP_USER FOR LOGIN SETUP_USER;
GRANT EXECUTE ON dbo.rds_cdc_enable_db TO SETUP_USER;
GO
Este permiso adicional no es necesario para la configuración del seguimiento de cambios.
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.