Использование SQL для создания пользователей

Для выполнения операторов SQL, которые потребуются, в том числе, и для заведения пользователей, можно использовать Pervasive Control Center. Откройте в нём базу данных. При входе в базу будет выдан запрос: укажите пользователя "Master" и соответствующий пароль. Когда доступ к базе будет предоставлен, в правой части окна выберите команду "Execute SQL Commands":

Рис. 2-15 – Выполнение SQL -выражений

В появившемся окне справа можно вводить любые SQL операторы и выполнять их, выбирая соответствующий пункт из меню "SQL", либо кнопки на панели инструментов окна:

Рис. 2-16 – Выражение для создания нового пользователя

Для заведения нового пользователя используется оператор GRANT. Формат его такой:

GRANT LOGIN TO user:password

Здесь <user> – имя пользователя, <password> – назначенный ему пароль. Например, для того, чтобы завести пользователя с именем Elena и паролем PAROL, следует выполнить следующую команду:

GRANT LOGIN TO Elena:PAROL

Чтобы новый пользователь отобразился в ветке "Users", необходимо обновить данные, нажав кнопку , либо <F5>.

После того, как пользователь занесен в базу данных, он может в неё заходить, но не может выполнять в ней никаких действий, так как изначально ему всё запрещено. Чтобы пользователь мог что-либо делать, ему необходимо дать соответствующие права. Для этого используется тот же оператор GRANT, но немного в другой  форме:

GRANT right ON table TO user

Если в СБиС++ установлен пароль БД, то следует написать следующее выражение:

GRANT right ON table ‘owner’ TO user

Здесь right – это право, которое требуется дать пользователю по имени <user> на таблицу <table>. Право может быть одно из следующих:

•  ALL – все права на таблицу

•  SELECT – право просматривать данные таблицы

•  UPDATE – право изменять данные таблицы

•  INSERT – право добавлять данные в таблицу

•  DELETE  - право удалять данные из таблицы

Обратите внимание, что после указания имени таблицы, на которую требуется дать права, в одинарных кавычках указывается строка-пароль (owner) для этой таблицы. О том, как его получить,  было написано выше. Соответственно, следующая команда разрешает пользователю Elena все операции с таблицей ANALIT, пароль которой ‘12345678’:

GRANT ALL ON ANALIT ‘12345678’ TO Elena

Однако полные права рекомендуется давать с большой осторожностью. Как правило, можно ограничиться только просмотром. Делается это такой командой:

GRANT SELECT ON ANALIT ‘12345678’ TO Elena