Reputation: 548
I have a user who needs to run a stored procedure. Within that stored procedure is a CREATE EXTERNAL TABLE
statement. This statement runs flawlessly when executed by a high-permissioned user.
But when run by a low-permissioned user, the statement fails with the error:
Cannot find the object {table name} because it does not exist or you do not have permissions.
I have explicitly GRANTED the user the following permissions:
GRANT CREATE TABLE TO {user};
GRANT ALTER ANY SCHEMA to {user};
GRANT ALTER ANY EXTERNAL DATA SOURCE to {user};
GRANT ALTER ANY EXTERNAL FILE FORMAT to {user};
What have I missed?
Upvotes: 2
Views: 2765
Reputation: 548
There was a DENY ALTER ANY SCHEMA in the mix. Found it, REVOKED it and was successful. Problem solved.
Upvotes: 3