sp_changedbowner(Transact-SQL)
적용 대상:SQL Server
현재 데이터베이스의 소유자를 변경합니다.
Important
이 기능은 이후 버전의 SQL Server에서 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요. 대신 ALTER AUTHORIZATION를 사용합니다.
구문
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)
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기