sp_changedbowner(Transact-SQL)
적용 대상: SQL Server
현재 데이터베이스의 소유자를 변경합니다.
Important
SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요. 대신 ALTER AUTHORIZATION를 사용합니다.
구문
sp_changedbowner
[ @loginame = ] N'loginame'
[ , [ @map = ] 'map' ]
[ ; ]
인수
[ @loginame = ] N'loginame'
현재 데이터베이스의 새 소유자의 로그인 ID입니다. @loginame 기본값이 없는 sysname입니다. @loginame 기존 SQL Server 로그인 또는 Windows 사용자여야 합니다. @loginame 데이터베이스 내의 기존 사용자 보안 계정을 통해 데이터베이스에 대한 액세스 권한이 이미 있는 경우 현재 데이터베이스의 소유자가 될 수 없습니다. 이 시나리오를 방지하려면 사용자를 현재 데이터베이스 내에 먼저 놓습니다.
[ @map = ] 'map'
이 매개 변수는 사용되지 않으며 스크립트의 이전 버전과의 호환성을 위해 유지 관리됩니다.
반환 코드 값
0
(성공) 또는 1
(실패).
설명
실행된 후 sp_changedbowner
새 소유자는 데이터베이스 내의 dbo
사용자라고 합니다. 사용자에게 데이터베이스 dbo
의 모든 활동을 수행할 수 있는 묵시적 권한이 있습니다.
또는 model
tempdb
시스템 데이터베이스의 master
소유자는 변경할 수 없습니다.
유효한 @loginame 값 목록을 표시하려면 저장 프로시저를 sp_helplogins
실행합니다.
@loginame 매개 변수만 사용하여 실행하면 sp_changedbowner
데이터베이스 소유권이 @loginame 변경됩니다.
문을 사용하여 보안 개체의 소유자를 ALTER AUTHORIZATION
변경할 수 있습니다. 자세한 내용은 ALTER AUTHORIZATION를 참조 하세요.
사용 권한
데이터베이스에 대한 TAKE OWNERSHIP
권한이 필요합니다. 새 소유자에게 데이터베이스에 해당 사용자가 있는 경우 로그인에 대한 권한이 필요 IMPERSONATE
하고, 그렇지 않으면 서버에 대한 권한이 필요합니다 CONTROL SERVER
.
예제
다음 예제에서는 로그인 Albert
을 현재 데이터베이스의 소유자로 만듭니다.
EXEC sp_changedbowner 'Albert';