sp_dropuser (Transact-SQL)

Quita un usuario de la base de datos actual. sp_dropuser es compatible con versiones anteriores de SQL Server.

Nota importanteImportante

Esta característica se quitará en una versión futura de Microsoft SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Utilice DROP USER en su lugar.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

sp_dropuser [ @name_in_db = ] 'user'

Argumentos

  • [ @name\_in\_db =] 'user'
    Es el nombre del usuario que se va a quitar. user es de tipo sysname y no tiene valor predeterminado. user debe existir en la base de datos actual. Cuando especifique un inicio de sesión de Windows, utilice el nombre por el que se conoce ese inicio de sesión en la base de datos.

Valores de código de retorno

0 (correcto) o 1 (error)

Notas

sp_dropuser ejecuta sp_revokedbaccess para quitar el usuario de la base de datos actual.

Puede utilizar sp_helpuser para obtener una lista de los nombres de usuario que pueden quitarse 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 su mismo nombre, se eliminará también el esquema. Si el usuario posee otros elementos que pueden protegerse en la base de datos, no se eliminará el usuario. La propiedad de los objetos debe transferirse primero a otra entidad de seguridad. Para obtener más información, vea ALTER AUTHORIZATION (Transact-SQL). Al quitar un usuario de la base de datos se quitan automáticamente los permisos que tiene asociados y, también, se quita el usuario de todas las funciones de las que es miembro.

sp_dropuser no puede utilizarse para quitar el propietario de la base de datos (dbo), usuarios de INFORMATION_SCHEMA ni el usuario guest de las bases de datos master o tempdb. En el caso de bases de datos que no son del sistema, EXEC sp_dropuser 'guest' revocará el permiso CONNECT al usuario guest. Pero no se quitará al usuario.

sp_dropuser no puede ejecutarse en una transacción definida por el usuario.

Permisos

Requiere el permiso ALTER ANY USER en la base de datos.

Ejemplos

En este ejemplo se quita el usuario Albert de la base de datos actual.

EXEC sp_dropuser 'Albert';
GO