sp_dropuser (Transact-SQL)
Область применения: SQL Server
Удаляет пользователя из текущей базы данных. sp_dropuser
обеспечивает совместимость с более ранними версиями SQL Server.
Внимание
Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте DROP USER .
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_dropuser [ @name_in_db = ] N'name_in_db'
[ ; ]
Аргументы
[ @name_in_db = ] N'name_in_db'
Имя удаляемого пользователя. @name_in_db — sysname без значения по умолчанию. @name_in_db должны существовать в текущей базе данных. При указании учетной записи Windows используйте имя, по которому база данных знает ее.
Значения кода возврата
0
(успешно) или 1
(сбой).
Замечания
sp_dropuser
sp_revokedbaccess
выполняется для удаления пользователя из текущей базы данных.
Используется sp_helpuser
для отображения списка имен пользователей, которые можно удалить из текущей базы данных.
Когда удаляется пользователь базы данных, также удаляются все псевдонимы этого пользователя. Если пользователь владеет пустой схемой с тем же именем, что и пользователь, то схема удаляется. Если пользователь владеет любыми другими защищаемыми компонентами в базе данных, пользователь не удаляется. Необходимо сначала передать права владения объектами другому участнику. Дополнительные сведения см. в разделе ALTER AUTHORIZATION. Удаление пользователя базы данных автоматически удаляет разрешения, связанные с этим пользователем, и удаляет пользователя из всех ролей базы данных, из которых он является членом.
sp_dropuser
нельзя использовать для удаления пользователей владельца базы данных (dbo) INFORMATION_SCHEMA
или гостевого пользователя из master
баз данных или tempdb
баз данных. В несистемных базах данных EXEC sp_dropuser 'guest'
отменяет CONNECT
разрешение от гостевого пользователя, но сам пользователь не удаляется.
sp_dropuser
невозможно выполнить в рамках определяемой пользователем транзакции.
Разрешения
Необходимо разрешение ALTER ANY USER
на базу данных.
Примеры
В следующем примере удаляется пользователь Albert
из текущей базы данных.
EXEC sp_dropuser 'Albert';
GO