Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Lär dig vilka behörigheter som ska ge den Microsoft SQL Server-databasanvändare som du planerar att använda för att mata in i Azure Databricks.
Databricks rekommenderar att du skapar en databasanvändare som endast används för Databricks-inmatning.
Bevilja databasprivilegier
Tabellerna i det här avsnittet visar de behörigheter som databasanvändaren måste ha, beroende på databasvarianten. Dessa behörigheter krävs oavsett om du använder CDC (Change Data Capture) eller ändringsspårning. Tabellerna visar också kommandona för att bevilja varje behörighet.
Databaser som inte är Azure-databaser
| Privilegier som krävs | Var du ska köra kommandona | Kommandon att bevilja |
|---|---|---|
VIEW ANY DATABASE |
Huvuddatabas | Kör följande T-SQL-kommando i huvuddatabasen:GRANT VIEW ANY DATABASE TO DATABASE_USER; |
Läs åtkomst till följande systemtabeller och vyer i huvuddatabasen:
|
Huvuddatabas | Kör följande T-SQL-kommandon i huvuddatabasen: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; |
Aktivera behörigheter för att köra följande systemlagrade procedurer i huvuddatabasen.
|
Huvuddatabas | Kör följande T-SQL-kommandon i databasen som du vill mata in: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 |
Databas som du vill mata in | Kör följande T-SQL-kommando på den databas som du vill mata in:USE DATABASE_NAME;GRANT VIEW DATABASE STATE TO DATABASE_USER;I SQL Server 2022 och senare kan du använda den mer begränsade behörigheten VIEW DATABASE PERFORMANCE STATE i stället:USE DATABASE_NAME;GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
SELECT på de scheman och tabeller som du vill importera. |
Databas som du vill mata in | Kör följande T-SQL-kommandon för varje schema och tabell som du vill mata in:GRANT SELECT ON schema::SCHEMA_NAME TO DATABASE_USER;GRANT SELECT ON object::TABLE_NAME TO DATABASE_USER; |
SELECT behörigheter för följande systemtabeller och vyer i databasen som du vill mata in:
|
Databas som du vill mata in | Kör följande T-SQL-kommandon i databasen som du vill mata in: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
| Privilegier | Var du ska köra kommandona | Kommandon |
|---|---|---|
Medlemskap i följande serverroll i huvuddatabasen så att användaren kan komma åt huvuddatabasen:
|
Huvuddatabas | Kör följande T-SQL-kommando i huvuddatabasen:ALTER ROLE ##MS_DatabaseConnector## ADD MEMBER DATABASE_USER; |
Läs åtkomst till följande systemtabeller och vyer i databasen som du vill mata in:
|
Databas som du vill mata in | Kör följande T-SQL-kommandon på den databas som du vill mata in: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 |
Databas som du vill mata in | Kör följande T-SQL-kommando på den databas som du vill mata in:GRANT VIEW DATABASE STATE TO DATABASE_USER;I SQL Server 2022 och senare kan du använda den mer begränsade behörigheten VIEW DATABASE PERFORMANCE STATE i stället:GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
Hanterad instans i Azure SQL
| Privilegier | Var du ska köra kommandona | Kommandon |
|---|---|---|
Läs åtkomst till följande systemtabeller och vyer i databasen som du vill mata in:
|
Databas som du vill mata in | Kör följande T-SQL-kommandon på den databas som du vill mata in: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; |
Visa och läsa åtkomst till databaser:
|
Huvuddatabas | Kör följande T-SQL-kommandon i huvuddatabasen: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; |
Tilldela behörigheter för följande lagrade systemprocedurer:
|
Huvuddatabas | Kör följande T-SQL-kommandon i huvuddatabasen: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 |
Databas som du vill mata in | Kör följande T-SQL-kommando på den databas som du vill mata in:USE DATABASE_NAME;GRANT VIEW DATABASE STATE TO DATABASE_USER;I SQL Server 2022 och senare kan du använda den mer begränsade behörigheten VIEW DATABASE PERFORMANCE STATE i stället:USE DATABASE_NAME;GRANT VIEW DATABASE PERFORMANCE STATE TO DATABASE_USER; |
Amazon RDS för SQL Server
På Amazon RDS för SQL Server krävs inte huvuddatabasbidrag. SQL Server inloggningar får automatiskt åtkomst till nödvändiga systemvyer och lagrade procedurer i master via rollen public. Du kan inte skapa användare i master databasen på Amazon RDS.
| Privilegier som krävs | Var du ska köra kommandona | Kommandon att bevilja |
|---|---|---|
SELECT behörigheter för följande systemvyer i databasen som du vill mata in:
|
Databas som du vill mata in | Kör följande T-SQL-kommandon i databasen som du vill mata in: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 på de scheman och tabeller som du vill importera. |
Databas som du vill mata in | Kör följande T-SQL-kommando för varje schema eller tabell som du vill mata in:GRANT SELECT ON SCHEMA::SCHEMA_NAME TO DATABASE_USER;-- Or for individual tables:GRANT SELECT ON object::TABLE_NAME TO DATABASE_USER; |
Behörighetskrav för Change Data Capture (CDC)
Om CDC är aktiverat krävs ytterligare behörigheter för DDL-stödobjekten. Se Förbereda SQL Server för inmatning med hjälp av skriptet för verktygsobjekt.
Note
För konfiguration av CDC på Amazon RDS måste användaren som kör verktygets konfigurationsskript vara RDS-huvudanvändaren eller ha beviljats EXECUTE på msdb.dbo.rds_cdc_enable_db av huvudanvändaren. Du måste först skapa användaren i msdb innan du beviljar den här behörigheten:
USE msdb;
CREATE USER SETUP_USER FOR LOGIN SETUP_USER;
GRANT EXECUTE ON dbo.rds_cdc_enable_db TO SETUP_USER;
GO
Den här extra behörigheten krävs inte för konfiguration av ändringsspårning.
Krav på privilegier för ändringsspårning
Om ändringsspårning är aktiverat krävs ytterligare behörigheter för DDL-stödobjekten. Se Förbereda SQL Server för inmatning med hjälp av skriptet för verktygsobjekt.