Насколько я понимаю, предпочтительным местом для разрешений является файл Database.sqlpermissions. Работать с IMHO может быть затруднительно, потому что это заставляет вас перейти от использования традиционного синтаксиса GRANT EXECUTE ON OBJECT к GRANTEE к работе с XML. IntelliSense упрощает получение правильного синтаксиса в файле, но работать с ним не так просто, как самостоятельно писать оператор или даже использовать GUI в SSMS.
За исключением разницы в синтаксисе, главная причина, по которой мне не нравится разделение проблем, заключается в том, что трудно понять, имеет ли объект связанный оператор предоставления в файле Database.sqlpermissions. Возможно, в Visual Studio есть какой-то путь, и я его не видел, но было бы неплохо иметь возможность посмотреть свойства объекта в проекте и увидеть список разрешений для объекта - аналогично SSMS. (Если кто-нибудь знает, как это сделать в VS, пожалуйста, дайте мне знать!)