2

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?

1 Answer 1

3

There was a DENY ALTER ANY SCHEMA in the mix. Found it, REVOKED it and was successful. Problem solved.

Sign up to request clarification or add additional context in comments.

1 Comment

Feel free to mark that as the answer. Self-answers are useful for people arriving at the same issue.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.