다음을 통해 공유


sp_changedbowner(Transact-SQL)

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

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

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

인수

  • [ @loginame= ] 'login'
    현재 데이터베이스의 새 소유자의 로그인 ID입니다. loginsysname이며 기본값은 없습니다. login은 반드시 이미 존재하고 있는 SQL Server 로그인 또는 Microsoft Windows 사용자여야 합니다. login이 이미 데이터베이스 내의 기존 별칭이나 사용자 보안 계정을 통해 데이터베이스에 액세스할 수 있는 경우 현재 데이터베이스의 소유자가 될 수 없습니다. 이런 현상을 피하려면 먼저 현재 데이터베이스에서 해당 별칭 또는 사용자를 삭제하십시오.
  • [ @map= ] remap_alias_flag
    이전 데이터베이스 소유자(dbo)에게 할당된 기존 별칭이 현재 데이터베이스의 새 소유자에게 매핑되는지 또는 삭제되는지를 나타내는 true 또는 false 값입니다. remap_alias_flag는 **varchar(5)**이며 기본값은 NULL입니다. 이것은 이전 dbo에 대한 모든 기존 별칭이 현재 데이터베이스의 새 소유자에게 매핑됨을 나타냅니다. false는 이전 데이터베이스 소유자에 대한 기존 별칭이 삭제됨을 나타냅니다.

반환 코드 값

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

주의

sp_changedbowner를 실행한 다음에는 새 소유자가 데이터베이스 내에서 dbo 사용자로 알려집니다. dbo는 데이터베이스에서 모든 동작을 수행할 수 있는 내재된 권한을 갖습니다.

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

유효한 login 값 목록을 표시하려면 sp_helplogins 저장 프로시저를 실행하십시오.

login 매개 변수만을 사용하여 sp_changedbowner를 실행하면 데이터베이스 소유자가 login으로 변경되고 이전에 dbo에 할당된 사용자의 별칭이 새 데이터베이스 소유자에게 매핑됩니다.

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

사용 권한

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

다음 예제에서는 Albert 로그인을 현재 데이터베이스의 소유자로 만들고 이전 데이터베이스 소유자에 할당된 기존 별칭을 Albert에게 매핑합니다.

EXEC sp_changedbowner 'Albert'

참고 항목

참조

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

도움말 및 정보

SQL Server 2005 지원 받기