1

When I try to GRANT EXECUTE ON SP_NAME TO [DOMAIN\USER_NAME] on my database, I'm getting the error message below:

Msg 8115, Level 16, State 1, Procedure grant_safety, Line 5
Arithmetic overflow error converting IDENTITY to data type smallint.
Arithmetic overflow occurred.

This is happening in any procedure where I try to GRANT EXECUTE permissions; I have tried to grant to other users as well, but same error.

ALTER PROCEDURE TEST  
AS  
BEGIN  
   SELECT 1  
END
9
  • Does each error indicate "Line 5"?
    – user507
    Commented Nov 9, 2013 at 3:50
  • Yes, each error indicated "Line 5"
    – Amam
    Commented Nov 9, 2013 at 4:25
  • So the GRANT EXECUTE command is line 5? Have you tried the syntax noted in MSDN: GRANT EXECUTE ON OBJECT::dbo.myproc TO myUser?
    – user507
    Commented Nov 9, 2013 at 7:08
  • 2
    Could you add the stored proc definition to your question, please?
    – Hannah Vernon
    Commented Nov 9, 2013 at 15:49
  • 6
    Could there be a DDL database trigger or server level trigger setup that is logging or blocking grants by design using a proc named grant_safety? Keep in mind, if you are not a sysadmin then you might not be able to see the grant_safety proc when looking in the database.
    – BateTech
    Commented Feb 11, 2014 at 3:40

1 Answer 1

0

Try putting a GO on a newline between your procedure DDL and your grant statement and after the grant.

Not the answer you're looking for? Browse other questions tagged or ask your own question.