sp_changedbowner(Transact-SQL)

적용 대상:SQL Server

현재 데이터베이스의 소유자를 변경합니다.

Important

이 기능은 이후 버전의 SQL Server에서 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요. 대신 ALTER AUTHORIZATION를 사용합니다.

Transact-SQL 구문 표기 규칙

구문

  
sp_changedbowner [ @loginame = ] 'login'  
     [ , [ @map = ] remap_alias_flag ]  

인수

[ @loginame= ] 'login'
현재 데이터베이스의 새 소유자의 로그인 ID입니다. 로그인은 sysname이며 기본값은 없습니다. 로그인 은 이미 기존 SQL Server 로그인 또는 Windows 사용자여야 합니다. 로그인 은 데이터베이스 내의 기존 사용자 보안 계정을 통해 데이터베이스에 대한 액세스 권한이 이미 있는 경우 현재 데이터베이스의 소유자가 될 수 없습니다. 이 문제를 방지하려면 먼저 현재 데이터베이스에서 사용자를 삭제해야 합니다.

[ @map= ] remap_alias_flag
로그인 별칭이 SQL Server에서 제거되었으므로 remap_alias_flag 매개 변수는 더 이상 사용되지 않습니다. remap_alias_flag 매개 변수를 사용하면 오류가 발생하지 않지만 아무런 영향을 주지 않습니다.

반환 코드 값

0(성공) 또는 1(실패)

설명

sp_changedbowner 실행된 후 새 소유자는 데이터베이스 내의 dbo 사용자라고 합니다. dbo에는 데이터베이스의 모든 활동을 수행할 수 있는 묵시적 권한이 있습니다.

마스터, 모델 또는 tempdb 시스템 데이터베이스의 소유자는 변경할 수 없습니다.

유효한 로그인 값 목록을 표시하려면 sp_helplogins 저장 프로시저를 실행합니다.

로그인 매개 변수만 사용하여 sp_changedbowner 실행하면 데이터베이스 소유권이 로그인으로 변경됩니다.

ALTER AUTHORIZATION 문을 사용하여 보안 개체의 소유자를 변경할 수 있습니다. 자세한 내용은 ALTER AUTHORIZATION(Transact-SQL)을 참조하세요.

사용 권한

데이터베이스에 대한 TAKE OWNERSHIP 권한이 필요합니다. 새 소유자에게 데이터베이스에 해당 사용자가 있는 경우 로그인에 대한 IMPERSONATE 권한이 필요하고, 그렇지 않으면 서버에 대한 CONTROL SERVER 권한이 필요합니다.

예제

다음 예제에서는 로그인 Albert 을 현재 데이터베이스의 소유자로 만듭니다.

EXEC sp_changedbowner 'Albert';  

참고 항목

보안 저장 프로시저(Transact-SQL)
CREATE DATABASE(SQL Server Transact-SQL)
sp_dropalias(Transact-SQL)
sp_dropuser(Transact-SQL)
sp_helpdb(Transact-SQL)
sp_helplogins(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)