Error Message:
Msg 4606, Level 16, State 1, Line 1
Granted or revoked privilege SELECT is not compatible with object.
This error occurs when you try to grant or revoke select permissions on stored procedure.
You cannot revoke/grant Select permission on the procedure.
Example:
GRANT SELECT ON OBJECT::dbo.test TO AAAAAA
where dbo.test is a stored procedure
Fix:
- Remove SELECT in the query and give any of the below permissions as required.
GRANT ALTER ON OBJECT::dbo.test TO AAAAAA
GRANT CONTROL ON OBJECT::dbo.test TO AAAAAA
GRANT EXECUTE ON OBJECT::dbo.test TO AAAAAA
GRANT TAKE OWNERSHIP ON OBJECT::dbo.test TO AAAAAA
GRANT VIEW DEFINITION ON OBJECT::dbo.test TO AAAAAA
Refer to the below link to learn more about permissions on Stored Procedures
Permissions On Stored Procedures in SQL Server