Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Informazioni sui privilegi da concedere all'utente del database di Microsoft SQL Server che si prevede di usare per l'inserimento in Azure Databricks.
Databricks consiglia di creare un utente di database usato esclusivamente per l'inserimento di Databricks.
Concedere privilegi di database
Le tabelle di questa sezione elencano i privilegi che l'utente del database deve avere, a seconda della variazione del database. Questi privilegi sono necessari se si usa Change Data Capture (CDC) o il rilevamento delle modifiche. Le tabelle mostrano anche i comandi per concedere ogni privilegio.
Database non Azure
| Privilegi obbligatori | Dove eseguire i comandi | Comandi da assegnare |
|---|---|---|
VIEW ANY DATABASE |
Database master | Eseguire il comando T-SQL seguente nel database master:GRANT VIEW ANY DATABASE TO DATABASE_USER; |
Accesso in lettura alle tabelle e alle viste di sistema seguenti nel database master:
|
Database master | Eseguire i comandi T-SQL seguenti nel database master: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; |
Impostare le autorizzazioni di esecuzione per le seguenti stored procedure di sistema nel database master:
|
Database master | Eseguire i comandi T-SQL seguenti nel database da inserire: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 |
Database che desideri ingerire | Eseguire il comando T-SQL seguente nel database da inserire:USE DATABASE_NAME;GRANT VIEW DATABASE STATE TO DATABASE_USER;In SQL Server 2022 e versioni successive, è possibile usare invece l'autorizzazione VIEW DATABASE PERFORMANCE STATE con ambito più ristretto:USE DATABASE_NAME;GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
SELECT sugli schemi e le tabelle che vuoi acquisire. |
Database che desideri ingerire | Eseguire i comandi T-SQL seguenti per ogni schema e tabella da inserire:GRANT SELECT ON schema::SCHEMA_NAME TO DATABASE_USER;GRANT SELECT ON object::TABLE_NAME TO DATABASE_USER; |
SELECT privilegi per le tabelle e le viste di sistema seguenti nel database che si desidera inserire:
|
Database che desideri ingerire | Eseguire i comandi T-SQL seguenti nel database da inserire: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; |
Database SQL di Microsoft Azure
| Privilegi | Dove eseguire i comandi | Comandi |
|---|---|---|
Appartenenza al ruolo del server seguente nel database master in modo che l'utente possa accedere al master:
|
Database master | Eseguire il comando T-SQL seguente nel database master:ALTER ROLE ##MS_DatabaseConnector## ADD MEMBER DATABASE_USER; |
Accesso in lettura alle tabelle e alle viste di sistema seguenti nel database che si desidera inserire:
|
Database che desideri ingerire | Eseguire i comandi T-SQL seguenti nel database da inserire: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 |
Database che desideri ingerire | Eseguire il comando T-SQL seguente nel database da inserire:GRANT VIEW DATABASE STATE TO DATABASE_USER;In SQL Server 2022 e versioni successive, è possibile usare invece l'autorizzazione VIEW DATABASE PERFORMANCE STATE con ambito più ristretto:GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
Istanza SQL gestita di Azure
| Privilegi | Dove eseguire i comandi | Comandi |
|---|---|---|
Accesso in lettura alle tabelle e alle viste di sistema seguenti nel database che si desidera inserire:
|
Database che desideri ingerire | Eseguire i comandi T-SQL seguenti nel database da inserire: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; |
Visualizzare e leggere l'accesso ai database:
|
Database master | Eseguire i comandi T-SQL seguenti nel database master: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; |
Esegui le autorizzazioni sulle seguenti stored procedure di sistema:
|
Database master | Eseguire i comandi T-SQL seguenti nel database master: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 |
Database che desideri ingerire | Eseguire il comando T-SQL seguente nel database da inserire:USE DATABASE_NAME;GRANT VIEW DATABASE STATE TO DATABASE_USER;In SQL Server 2022 e versioni successive, è invece possibile usare l'autorizzazione VIEW DATABASE PERFORMANCE STATE con ambito più ristretto:USE DATABASE_NAME;GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
Servizio Amazon RDS per SQL Server
In Amazon RDS per SQL Server, le concessioni di database master non sono necessarie. Gli account di accesso di SQL Server ricevono automaticamente l'accesso alle viste di sistema e alle stored procedure necessarie in master tramite il ruolo public. Non è possibile creare utenti nel master database in Amazon RDS.
| Privilegi obbligatori | Dove eseguire i comandi | Comandi da assegnare |
|---|---|---|
SELECT privilegi per le viste di sistema seguenti nel database che si desidera inserire:
|
Database che desideri ingerire | Eseguire i comandi T-SQL seguenti nel database da inserire: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 sugli schemi e le tabelle che vuoi acquisire. |
Database che desideri ingerire | Eseguire il comando T-SQL seguente per ogni schema o tabella da inserire:GRANT SELECT ON SCHEMA::SCHEMA_NAME TO DATABASE_USER;-- Or for individual tables:GRANT SELECT ON object::TABLE_NAME TO DATABASE_USER; |
Requisiti dei privilegi per la cattura delle modifiche dei dati (CDC)
Se CDC è abilitato, sono necessari privilegi aggiuntivi per gli oggetti di supporto DDL. Vedere Preparare SQL Server per l'inserimento usando lo script degli oggetti di utilità.
Note
Per la configurazione di CDC su Amazon RDS, l'utente che esegue lo script di configurazione dell'utilità deve essere l'utente master di RDS oppure deve vedersi concessi EXECUTE su msdb.dbo.rds_cdc_enable_db dall'utente master. Prima di concedere questa autorizzazione, è necessario creare l'utente in msdb :
USE msdb;
CREATE USER SETUP_USER FOR LOGIN SETUP_USER;
GRANT EXECUTE ON dbo.rds_cdc_enable_db TO SETUP_USER;
GO
Questa autorizzazione aggiuntiva non è necessaria per la configurazione del rilevamento delle modifiche.
Requisiti dei privilegi per il monitoraggio delle modifiche
Se il rilevamento delle modifiche è abilitato, sono necessari privilegi aggiuntivi per gli oggetti di supporto DDL. Vedere Preparare SQL Server per l'inserimento usando lo script degli oggetti di utilità.