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


sp_revokelogin (Transact-SQL)

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

Важное примечаниеВажно!

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

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

sp_revokelogin [ @loginame= ] 'login'

Аргументы

  • [ @loginame = ] 'login'
    Имя пользователя или группы Windows. Аргумент login имеет тип sysname и не имеет значения по умолчанию. Имя login может быть любым существующим именем пользователя или группой Windows в виде имя компьютера\пользователь или домен\пользователь.

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

0 (успешное завершение) или 1 (ошибка)

Замечания

Процедура sp_revokelogin блокирует соединения, используя учетную запись, указанную аргументом login. Но пользователи Windows, которым доступ к экземпляру SQL Server был предоставлен через членство в группе Windows, тем не менее, могут установить соединение после того, как был запрещен их индивидуальный доступ. Точно так же, если аргумент login указывает имя группы Windows, ее члены, которым был предоставлен индивидуальный доступ к экземпляру SQL Server, могут соединиться с ним.

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

sp_revokelogin [ADVWORKS\john]

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

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

Процедуру sp_revokelogin нельзя выполнять в пользовательской транзакции.

Разрешения

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

Примеры

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

EXEC sp_revokelogin 'Corporate\MollyA'

Или

EXEC sp_revokelogin [Corporate\MollyA]