2

I want a database user to have ALTER and EXECUTE permissions to a stored procedure. Do I need to grant those separately, or does granting ALTER allow the user to EXECUTE also?

e.g.

GRANT ALTER ON [STOREDPROC] TO [SP_USER];

GRANT EXECUTE ON [STOREDPROC] TO [SP_USER];

or just:

GRANT ALTER ON [STOREDPROC] TO [SP_USER];

(does ALTER imply EXECUTE?)

Thanks!

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
Nancy R-I
  • 23
  • 1
  • 5
  • `Execute` permission is given on a stored procedure not on a table. – M.Ali Sep 04 '15 at 20:08
  • oops - yes, not TABLE, SP - do you know if ALTER is enough or I have to grant EXECUTE also? – Nancy R-I Sep 04 '15 at 20:10
  • No you would need to give Execute permission too, if you want user to be able to execute the procedure, Alter will only allow user to alter procedure. – M.Ali Sep 04 '15 at 20:16

1 Answers1

1

The short answer is: no, ALTER does not imply EXECUTE.

Slightly longer answer: there's a chart that says what permissions imply other permissions. Check it out!

https://msdn.microsoft.com/en-us/library/ms188371.aspx

Ben Thul
  • 31,080
  • 4
  • 45
  • 68