Первоначально пользователь USER создается администратором БД с автоматически предоставлением ему привилегий CONNECT. В этом случае обычно добавляется предложение IDENTIFIED BY, указывающее пароль. Например, для первоначальной регистрации пользователя администратор БД вводит следующую команду:
GRANT CONNECT TO USER IDENTIFIED BY <пароль>
Это приведет к созданию пользователя с именем USER, даст ему право зарегистрироваться и назначит ему пароль. Если новый пользователь будет создавать базовые таблицы, для него потребуется также предоставить привилегию RESOURCE.
В системе MS SQL Server организована двухуровневая настройка ограничения доступа к данным. На первом уровне в системе необходимо создать учетную запись пользователя, что позволяет ему подключиться к серверу. На втором уровне для каждой БД SQL-сервера на основании учетной записи создается запись пользователя. То есть с помощью учетных записей осуществляется подключение к SQL-серверу, после чего определяются уровни доступа этого пользователя для каждой БД в отдельности. Настройка уже зарегистрированного (с созданной учетной записью) пользователя к объектам БД называется настройкой записи пользователя.
При этом в системе MS SQL-сервер уже существуют дополнительные объекты – роли, которые определяют уровень доступа к объектам сервера. Роли подразделяются на серверные роли, назначаемые для учетных записей пользователя сервера и роли, используемые для ограничения доступа к объектам БД, то есть роли для записей пользователя БД.
Например, к серверной роли относится securityadmin, назначение которой дает пользователю право добавлять и изменять учетные записи других пользователей. Назначение роли dbbackupoperator разрешает пользователю осуществлять процедуру резервного копирования БД, в которой ему определена эта роль. В этом случае securityadmin относится к группе серверных ролей, а dbbackupoperator – к группе ролей БД.
Для создания учетных записей пользователей в группе объектов SQL сервера присутствует объект Logins в списке Security. Назначение серверных ролей осуществляется с помощью списка в диалоговом окне на вкладке Server Roles. Можно просмотреть информацию о параметрах данной роли, какие системные команды и процедуры имеет выполнять пользователь с данной ролью. Например, пользователь с ролью System Adminnistrators имеет право выполнять любые функции администрирования SQL- сервера, Security Adminnistrators - имеет права управления доступом, возможность создания БД, пользователь с ролью Database Creator имеет права создания и удаления БД.
Настройка учетной записи (то есть доступа к объектам баз данных) осуществляется c помощью вкладки Database Access. В списке БД выбирается БД, к которой будет разрешен доступ, а в списке ролей – отмечаются нужные роли, например db_owner, -допускающая полный доступ к БД, db-accessadmin – добавление и удаление пользователей, db_datareader – возможность чтения данных из любых таблиц, db_datawriter –возможность изменения данных в любых таблицах и др.
Учетные записи к серверу отображаются в списке Security/Logins, а права доступа к БД – в группе Users списка БД.