How can I grant a user create/alter index permissions without giving db_ddladmin? I want them to have the minimum permissions possible.

1 Answer 1


The minimum permission to create/alter index can be easily found in corresponding BOL articles CREATE INDEX (Transact-SQL) and ALTER INDEX (Transact-SQL):

Requires ALTER permission on the table or view.

This means you can grant alter table on every table of interest that already exists.

If you don't want to grant so granular permissions you can grant alter on schema(s) where your table(s) reside, this will assure that the user would be able to create/alter indexes on any future table/view.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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