Хранимая процедура 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\Admins
Windows, и 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\MollyA
Windows.
EXEC sp_revokelogin 'Corporate\MollyA';
Or
EXEC sp_revokelogin [Corporate\MollyA];