Ассоциирование логинов SQL с группами / ролями (или нет) - это скорее удобная функция для человека, который должен следить за разрешениями для базы данных. Поскольку вы новичок во всем этом, я бы сначала сосредоточился на том, чтобы получить правильные разрешения для конкретного имени входа, прежде чем беспокоиться об управлении разрешениями с помощью групп / ролей.
Одна из вещей, которая меня устроила, когда я впервые начал работать с разрешениями SQL Server, заключалась в понимании того, были ли разрешения, используемые для выполнения хранимой процедуры, такими же, как у входа SQL, используемого для вызова proc, или связанного входа SQL с созданием самого proc. Термин для этого (какой набор учетных данных и связанных разрешений используется для выполнения кода процедуры) называется «контекстом безопасности», в котором выполняется хранимый процесс. Я недавно работал с MySQL, но если я правильно помню, контекст безопасности по умолчанию, используемый для выполнения хранимой процедуры на SQL Server, - это CALLER, а не владелец proc. Это всегда казалось мне нелогичным, потому что мне казалось, что одним из ключевых преимуществ использования хранимых процедур должна быть возможность предоставлять только разрешения EXEC для определенных процедур входам в CALLER. Но когда я пытался сделать это таким образом, я неизбежно получал ошибки разрешений, потому что учетные данные, которые я использовал для вызова процедуры, не имели бы разрешений, необходимых для завершения одной или нескольких операций, содержащихся в хранимой процедуре.
Если вы используете SQL Server 2005 и хотите иметь возможность предоставлять только полномочия EXEC для учетных данных CALLER, то эта статья может помочь пролить свет на то, как это сделать. На мой взгляд, это «правильный» способ сделать что-то, хотя я уверен, что, возможно, есть другие, которые могут не согласиться (хотя я бы, вероятно, придерживался своего аргумента по этому вопросу).
Во всяком случае, я не уверен, насколько я прояснил проблему для вас с этим постом. Управление разрешениями SQL Server действительно немного сложное, когда вы впервые углубляетесь в проблему. Это не облегчает вам задачу настройки их для нескольких баз данных.