sp_changeobjectowner(Transact-SQL)

적용 대상:SQL Server

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

Important

이 저장 프로시저는 Microsoft SQL Server 2000(8.x)에서 사용할 수 있는 개체에서만 작동합니다. 이 기능은 이후 버전의 SQL Server에서 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 애플리케이션은 수정하세요. 대신 ALTER SCHEMA 또는 ALTER AUTHORIZATION를 사용합니다. sp_changeobjectowner 스키마와 소유자를 모두 변경합니다. 이전 버전의 SQL Server와의 호환성을 유지하기 위해 이 저장 프로시저는 현재 소유자와 새 소유자가 모두 데이터베이스 사용자 이름과 이름이 같은 스키마를 소유하는 경우에만 개체 소유자를 변경합니다.

Important

새로운 사용 권한 요구 사항이 이 저장 프로시저에 추가되었습니다.

Transact-SQL 구문 표기 규칙

구문

  
sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner'  

인수

[ @objname = ] 'object' 현재 데이터베이스에 있는 기존 테이블, 뷰, 사용자 정의 함수 또는 저장 프로시저의 이름입니다. 개체nvarchar(776)이며 기본값은 없습니다. 개체는 기존 개체의 소유자를 existing_owner 형식으로 한정할 수 있습니다.스키마와 해당 소유자의 이름이 같으면 <a0/>입니다.

[ @newowner = ] 'owner_ ' 개체의 새 소유자가 될 보안 계정의 이름입니다. 소유자는 sysname이며 기본값은 없습니다. 소유자는 현재 데이터베이스에 액세스할 수 있는 유효한 데이터베이스 사용자, 서버 역할, Microsoft Windows 로그인 또는 Windows 그룹이어야 합니다. 새 소유자가 해당하는 데이터베이스 수준의 보안 주체가 없는 Windows 사용자 또는 Windows 그룹이면 데이터베이스 사용자가 생성됩니다.

반환 코드 값

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

설명

sp_changeobjectowner 개체에서 모든 기존 권한을 제거합니다. sp_changeobjectowner 실행한 후 유지하려는 모든 권한을 다시 적용해야 합니다. 따라서 sp_changeobjectowner 실행하기 전에 기존 권한을 스크립팅하는 것이 좋습니다. 개체의 소유권이 변경된 후 스크립트를 사용하여 사용 권한을 다시 적용할 수 있습니다. 실행하기 전에 사용 권한 스크립트에서 개체 소유자를 수정해야 합니다.

보안 개체의 소유자를 변경하려면 ALTER AUTHORIZATION을 사용하십시오. 스키마를 변경하려면 ALTER SCHEMA를 사용합니다.

사용 권한

db_owner 고정 데이터베이스 역할의 멤버 자격 또는 db_ddladmin 고정 데이터베이스 역할과 db_securityadmin 고정 데이터베이스 역할의 멤버 자격 및 개체에 대한 CONTROL 권한이 필요합니다.

예제

다음 예제에서는 테이블의 소유자를 .로 authors 변경합니다 Corporate\GeorgeW.

EXEC sp_changeobjectowner 'authors', 'Corporate\GeorgeW';  
GO  

참고 항목

ALTER SCHEMA(Transact-SQL)
ALTER DATABASE(Transact-SQL)
ALTER AUTHORIZATION(Transact-SQL)
sp_changedbowner(Transact-SQL)
시스템 저장 프로시저(Transact-SQL)