Explanation
Correct Answer: A
GRANT ALL PRIVILEGES ON TABLE sales TO team;
This is the correct command because:
- ALL PRIVILEGES grants all available permissions on the specified table, which is exactly what the team needs to "fully manage the project."
- The syntax correctly specifies ON TABLE sales TO team, granting permissions on the sales table to the team.
Why other options are incorrect:
B. GRANT SELECT CREATE MODIFY ON TABLE sales TO team;
- This syntax is invalid in most SQL-based systems. While it attempts to grant specific privileges (SELECT, CREATE, MODIFY), the syntax is incorrect for standard GRANT statements.
- In Databricks Unity Catalog, you would typically grant specific privileges separately or use ALL PRIVILEGES.
C. GRANT SELECT ON TABLE sales TO team;
- This only grants SELECT permission, which allows reading data but not modifying, creating, or managing the table.
- The requirement is for "full privileges" to "fully manage the project," so SELECT alone is insufficient.
D. GRANT USAGE ON TABLE sales TO team;
- USAGE privilege typically allows using a resource but doesn't grant full management capabilities.
- In Databricks Unity Catalog, USAGE on a table allows referencing the table but not necessarily reading or modifying its data.
E. GRANT ALL PRIVILEGES ON TABLE team TO sales;
- This reverses the grant direction - it grants privileges on the "team" table to "sales," which is completely opposite to what's needed.
- The syntax is backwards; it should grant privileges ON the target object (sales) TO the recipient (team).
Key Points for Databricks Unity Catalog:
- In Databricks Unity Catalog, you can grant various privileges including SELECT, MODIFY, CREATE, USAGE, etc.
- The ALL PRIVILEGES option grants all applicable privileges for the object type.
- For tables, this typically includes: SELECT, MODIFY, CREATE (for nested tables), and other relevant permissions.
- The correct syntax follows the pattern:
GRANT <privileges> ON <object_type> <object_name> TO <principal>