Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

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.

   SELECT 1  
share|improve this question
Does each error indicate "Line 5"? –  Shawn Melton Nov 9 '13 at 3:50
Yes, each error indicated "Line 5" –  Amam Nov 9 '13 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? –  Shawn Melton Nov 9 '13 at 7:08
Could you add the stored proc definition to your question, please? –  Max Vernon Nov 9 '13 at 15:49
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 Feb 11 at 3:40

1 Answer 1

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

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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