sp_dropuser (Transact-SQL)
Se aplica a: SQL Server
Quita un usuario de base de datos de la base de datos actual. sp_dropuser
proporciona compatibilidad con versiones anteriores de SQL Server.
Importante
Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Use DROP USER en su lugar.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_dropuser [ @name_in_db = ] N'name_in_db'
[ ; ]
Argumentos
[ @name_in_db = ] N'name_in_db'
Nombre del usuario que se va a quitar. @name_in_db es sysname, sin ningún valor predeterminado. @name_in_db deben existir en la base de datos actual. Al especificar una cuenta de Windows, use el nombre por el que la base de datos conoce esa cuenta.
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Comentarios
sp_dropuser
ejecuta sp_revokedbaccess
para quitar al usuario de la base de datos actual.
Use sp_helpuser
para mostrar una lista de los nombres de usuario que se pueden quitar de la base de datos actual.
Cuando se quita un usuario de base de datos, también se quitan los alias que el usuario tuviera. Si el usuario posee un esquema vacío con el mismo nombre que el usuario, se quita el esquema. Si el usuario posee otros elementos protegibles en la base de datos, el usuario no se quita. La propiedad de los objetos debe transferirse primero a otra entidad de seguridad. Para obtener más información, consulte ALTER AUTHORIZATION. Al quitar un usuario de base de datos, se quitan automáticamente los permisos asociados a ese usuario y se quita el usuario de los roles de base de datos de los que es miembro.
sp_dropuser
no se puede usar para quitar los usuarios del propietario de la base de datos (dbo) INFORMATION_SCHEMA
ni para el usuario invitado de las master
bases de datos o tempdb
. En las bases de datos que no son del sistema, EXEC sp_dropuser 'guest'
revoca el CONNECT
permiso del invitado del usuario, pero el propio usuario no se quita.
sp_dropuser
no se puede ejecutar dentro de una transacción definida por el usuario.
Permisos
Debe tener el permiso ALTER ANY USER
para la base de datos.
Ejemplos
En este ejemplo se quita el usuario Albert
de la base de datos actual.
EXEC sp_dropuser 'Albert';
GO