SQL Server СОЗДАТЬ РОЛЬ

В этом руководстве вы узнаете, как использовать оператор SQL Server CREATE ROLE для создания новой роли в текущей базе данных.

Введение в оператор CREATE ROLE

Роль — это защищаемый на уровне базы данных объект, представляющий собой группу разрешений. Чтобы создать новую роль, используйте оператор CREATE ROLE:

CREATE ROLE role_name 
[AUTHORIZATION owner_name];

В этом синтаксисе:

  • Сначала укажите имя роли после ключевых слов CREATE ROLE.
  • Во-вторых, укажите ower_name в предложении AUTHORIZATION. Owner_name — это пользователь или роль базы данных, которая владеет новой ролью. Если вы опустите предложение AUTHORIZATION, то пользователь, который выполнит оператор CREATE ROLE, будет владеть новой ролью.

Обратите внимание, что владелец роли и любой член владеющей роли могут добавлять или удалять членов роли.

Обычно вы создаете новую роль, предоставляете ей разрешения с помощью оператора GRANT и добавляете членов в роль с помощью оператора ALTER ROLE.

SQL Server CREATE ROLE оператор

В следующем примере показано, как использовать оператор CREATE ROLE для создания ролей в образце базы данных BikeStores.

1) Пример создания новой роли

Сначала создайте новый логин с именем james в основной базе данных:

CREATE LOGIN james 
WITH PASSWORD = 'Ux!sa123ayb';

Далее создайте нового пользователя для входа james:

CREATE USER james 
FOR LOGIN james;

Затем создайте новую роль под названием «Продажи»:

CREATE ROLE sales;

После этого предоставьте роли sales привилегии SELECT, INSERT, DELETE и UPDATE в схеме sales:

GRANT SELECT, INSERT, UPDATE, DELETE 
ON SCHEMA::sales
TO sales;

Наконец, добавьте пользователя james к роли sales:

ALTER ROLE sales
ADD MEMBER james;

2) Пример создания новой роли, принадлежащей фиксированной роли базы данных

В следующем примере оператор CREATE ROLE используется для создания новой роли, принадлежащей предопределенной роли базы данных db_securityadmin:

CREATE ROLE sox_auditors
AUTHORIZATION db_securityadmin;

3) Изучение ролей

Роли и их члены видны в представлениях sys.database_principals и sys.database_role_members.

Ниже приведена информация о ролях sales и sox_auditors:

SELECT
  name,
  principal_id,
  type,
  type_desc,
  owning_principal_id
FROM sys.database_principals
WHERE name in('sales', 'sox_auditors');

Выход:

SQL Server СОЗДАТЬ РОЛЬ

Краткое содержание

  • Используйте оператор SQL Server CREATE ROLE для создания новой роли в базе данных.
Мирослав С.

Автор статей, ИБ-специалист