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(Transact-SQL)을 참조하세요. 데이터베이스 사용자를 제거하면 해당 사용자와 연결된 사용 권한이 자동으로 제거되고 멤버인 데이터베이스 역할에서 사용자가 제거됩니다.

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

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

사용 권한

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

예제

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

EXEC sp_dropuser 'Albert';
GO