Управление серверными ролями с использованием Transact SQL

Добавление имени входа к серверной роли. Добавить имя входа к существующей серверной роли можно при помощи системной хранимой процедуры sp_addsrvrolemember.

Пример добавляет Mary к серверной роли sysadmin:

EXECUTE sp_addsrvrolemember "Mary", "sysadmin";

Удаление имени входа из серверной роли. Чтобы удалить имя входа из серверной роли, можно использовать хранимую процедуру sp_dropsrvrolemember.

Пример удаляет пользователя Mary из серверной роли sysadmin:

EXECUTE sp_dropsrvrolemember "Mary", "sysadmin";

Запрещение доступа пользователям.

В некоторых ситуациях, например, когда пользователь увольняется из организации, необходимо запретить доступ определенному имени входа. Если этот запрет временный, можно не удалять имя входа из экземпляра, а просто отключить его.

При отключении доступа свойства имени входа и его сопоставление пользователям базы данных сохраняются.

Повторно включив это имя входа, можно работать с прежними свойствами. Чтобы отключить и включить имя входа, используется инструкция ALTER:

Отключаем имя входа

ALTER LOGIN Mary DISABLE;

Включаем имя входа

ALTER LOGIN Mary ENABLE;

Можно проверить, отключены ли имена входа, выполнив запрос к представлению каталога sql_logins, как показано в следующем примере:

1. Отключаем имя входа

ALTER LOGIN Mary DISABLE; GO

2. Выполняем запрос к системному представлению каталога

SELECT * FROM sys.sql_logins

WHERE is_disabled=1; GO

3. Включаем имя входа

ALTER LOGIN Mary ENABLE;

Если необходимо удалить имя входа из данного экземпляра, следует использовать инструкцию DROP LOGIN.

Следующий пример удаляет имя входа.

DROP LOGIN Mary;

При удалении имени входа SQL Server 2005 не удаляет пользователей базы данных, сопоставленных этому имени входа.

Выполнив запрос системной функции IS_SRVROLEMEMBER можно узнать, принадлежит текущий пользователь к одной из серверных ролей.

Пример кода Transact SQL возвращает значение 1, если текущее имя входа принадлежит к серверной роли sysadmin, и значение 0 в противном случае.

SELECT IS_SRVROLEMEMBER ('sysadmin');

Управление доступом к базам данных.

Одного предоставления доступа к экземпляру SQL Server будет недостаточно для приложения, которому необходим доступ к данным. Предоставив доступ к экземпляру SQL Server, необходимо предоставить доступ к определенным базам данных.

Доступ к базам данных предоставляется посредством добавления пользователей базы данных и сопоставления пользователям базы данных имен входа.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: