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_dropuserno 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