Ваша проблема заключается в том, что xp_cmdshell - это разрешение основной базы данных, поэтому, если вы не просматриваете базы данных на сервере, вы не сможете делать то, что хотите. Если вы пытаетесь предоставить все разрешения для базы данных прокси-учетной записи, вам просто нужно поместить эту учетную запись в роль базы данных db_owner, и она получит эти права через членство в роли. Xp_cmdshell - это отдельное явное предоставление в master, и его необходимо включить через sp_configure, и его следует использовать для унаследованной интеграции, его не следует использовать для новых разработок. По крайней мере, если вы используете xp_cmdshell, учетная запись прокси должна быть настроена по примеру Tibor здесь:
http://sqlblog.com/blogs/tibor_karaszi/archive/2007/08/23/xp-cmdshell-and-permissions.aspx
Разрешения для конкретного пользователя могут быть записаны в сценарии путем запроса DMV, аналогичного следующему:
SELECT
permission.state_desc,
permission.permission_name,
obj.name
FROM
sys.all_objects AS obj
INNER JOIN sys.database_permissions AS permission ON permission.major_id=obj.object_id AND permission.minor_id=0 AND permission.class=1
INNER JOIN sys.database_principals AS grantor_principal ON grantor_principal.principal_id = permission.grantor_principal_id
INNER JOIN sys.database_principals AS grantee_principal ON grantee_principal.principal_id = permission.grantee_principal_id
WHERE (grantee_principal.name=N'JohnDoe')