Поделиться через


Хранимая процедура sp_revokelogin (Transact-SQL)

Область применения: SQL Server

Удаляет записи входа из SQL Server для пользователя или группы Windows, созданной с помощью CREATE LOGIN, sp_grantloginили sp_denylogin.

Внимание

Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте DROP LOGIN .

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_revokelogin [ @loginame = ] N'loginame'
[ ; ]

Аргументы

[ @loginame = ] N'loginame'

Имя пользователя или группы Windows. @loginame — sysname без значения по умолчанию. @loginame может быть любым существующим именем пользователя Или группой Windows в форме <ComputerName>\<User> или <Domain>\<User>.

Значения кода возврата

0 (успешно) или 1 (сбой).

Замечания

sp_revokelogin отключает подключения с помощью учетной записи, указанной @loginame. Пользователи Windows, которым предоставлен доступ к экземпляру SQL Server с помощью членства в группе Windows, по-прежнему могут подключаться к группе после отзыва отдельного доступа. Аналогичным образом, если @loginame указывает имя группы Windows, члены этой группы, которым предоставлен отдельный доступ к экземпляру SQL Server, по-прежнему могут подключаться.

Например, если пользователь ADVWORKS\john Windows является членом группы ADVWORKS\AdminsWindows, и sp_revokelogin отменяет доступ:ADVWORKS\john

EXEC sp_revokelogin [ADVWORKS\john]

Пользователь ADVWORKS\john по-прежнему может подключаться, если ADVWORKS\Admins предоставлен доступ к экземпляру SQL Server. Аналогичным образом, если группа ADVWORKS\Admins Windows имеет свой доступ отозван, но ADVWORKS\john предоставлен доступ, ADVWORKS\john по-прежнему может подключиться.

Используйте sp_denylogin для явного предотвращения подключения пользователей к экземпляру SQL Server независимо от членства в группах Windows.

sp_revokelogin невозможно выполнить в рамках определяемой пользователем транзакции.

Разрешения

Необходимо разрешение ALTER ANY LOGIN на сервере.

Примеры

В следующем примере удаляются записи входа для пользователя Corporate\MollyAWindows.

EXEC sp_revokelogin 'Corporate\MollyA';

Or

EXEC sp_revokelogin [Corporate\MollyA];