sp_dropuser(Transact-SQL)

적용 대상: SQL Server

현재 데이터베이스에서 데이터베이스 사용자를 제거합니다. sp_dropuser 는 이전 버전의 SQL Server와의 호환성을 제공합니다.

Important

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_dropusersp_revokedbaccess 실행하여 현재 데이터베이스에서 사용자를 제거합니다.

현재 데이터베이스에서 제거할 수 있는 사용자 이름 목록을 표시하는 데 사용합니다 sp_helpuser .

데이터베이스 사용자가 제거되면 해당 사용자의 모든 별칭도 함께 제거됩니다. 사용자가 사용자와 동일한 이름의 빈 스키마를 소유하는 경우 스키마가 삭제됩니다. 사용자가 데이터베이스에서 다른 보안 개체를 소유하는 경우 사용자는 삭제되지 않습니다. 개체의 소유권은 먼저 다른 보안 주체에게 이전되어야 합니다. 자세한 내용은 ALTER AUTHORIZATION를 참조 하세요. 데이터베이스 사용자를 제거하면 해당 사용자와 연결된 사용 권한이 자동으로 제거되고 멤버인 데이터베이스 역할에서 사용자가 제거됩니다.

sp_dropuser는 데이터베이스 소유자(dbo) INFORMATION_SCHEMA 사용자 또는 게스트 사용자를 데이터베이스 tempdb 에서 master 제거하는 데 사용할 수 없습니다. 비시스템 데이터베이스 EXEC sp_dropuser 'guest' 에서는 사용자 게스트의 사용 권한을 취소 CONNECT 하지만 사용자 자체는 삭제되지 않습니다.

sp_dropuser 는 사용자 정의 트랜잭션 내에서 실행할 수 없습니다.

사용 권한

데이터베이스에 대한 ALTER ANY USER 권한이 필요합니다.

예제

다음 예에서는 현재 데이터베이스에서 Albert 사용자를 제거합니다.

EXEC sp_dropuser 'Albert';
GO