Medium severityaccess control
Power BI Refresh Error:
Snowflake CALL Stored Procedure Insufficient Privileges
What does this error mean?
A CALL statement failed because the executing role lacks USAGE privilege on the stored procedure, or because the procedure's EXECUTE AS logic prevents the caller from running it.
Common causes
- 1Executing role not granted USAGE privilege on the stored procedure
- 2Stored procedure defined with EXECUTE AS OWNER but the owner's privileges have been revoked
- 3Stored procedure defined with EXECUTE AS CALLER but the caller lacks the required object privileges for operations inside the procedure
- 4Procedure created by a different role and not shared via GRANT
- 5Schema or database USAGE privilege missing, preventing the role from even seeing the procedure
How to fix it
- 1Grant USAGE on the procedure: `GRANT USAGE ON PROCEDURE <proc>(arg_types) TO ROLE <role>`
- 2If the procedure uses EXECUTE AS OWNER, verify the owner role still has all required object privileges
- 3If using EXECUTE AS CALLER, grant the caller all privileges the procedure needs at the object level
- 4Check the procedure definition: `DESCRIBE PROCEDURE <proc>(arg_types)` to see the EXECUTE AS setting
- 5Use `SHOW GRANTS ON PROCEDURE <proc>(arg_types)` to audit current privilege assignments