Windows DB

MS-SQL 개체 소유권 변경

2008.09.18 03:14

레이쩡 조회 수:24880

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

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

인수
[@objname =] 'object'

현재 데이터베이스 안에 있는 기존 테이블, 뷰 또는 저장 프로시저의 이름입니다. object는 nvarchar(517)이며, 기본값은 없습니다. object는 existing_owner.object 형식으로 기존 개체 소유자로 한정될 수 있습니다.

[@newowner =] 'owner'

개체의 새 소유자가 될 보안 계정의 이름입니다. owner는 sysname이며, 기본값은 없습니다. owner는 반드시 현재 데이터베이스 내의 유효한 Microsoft® SQL Server™ 사용자 또는 역할이거나 Microsoft Windows NT® 사용자 또는 그룹이어야 합니다. Windows NT 사용자 또는 그룹을 지정할 경우 sp_grantdbaccess를 사용하여 추가하고 데이터베이스에서 Windows NT 사용자 또는 그룹으로 알고 있는 이름을 지정합니다.

반환 코드 값
0(성공) 또는 1(실패)

비고
개체의 소유자(또는 개체를 소유하고 있는 그룹 또는 역할의 구성원)은 개체에 대해 특수 권한을 갖습니다. 개체 소유자는 개체와 소유된 INSERT, UPDATE, DELETE, SELECT 또는 EXECUTE 등과 같은 모든 Transact-SQL문을 실행할 수 있으며, 개체에 대한 사용 권한을 관리할 수 있습니다.

개체를 소유한 보안 계정을 삭제해야 하지만 개체는 계속 유지해야 하는 경우에는 sp_changeobjectowner를 사용하여 개체의 소유자를 변경하십시오. 이 프로시저는 개체에서 기존의 모든 권한을 제거합니다. sp_changeobjectowner를 계속 실행하려면 모든 권한을 다시 적용해야 합니다.

이러한 이유 때문에, sp_changeobjectowner를 실행하기 전에 기존의 사용 권한을 스크립트하는 것이 좋습니다. 개체의 소유권이 변경되면 사용 권한을 다시 적용하기 위해 스크립트를 사용할 수도 있습니다. 사용 권한 스크립트의 개체 소유자를 수정한 후에 실행해야 합니다. 데이터베이스 스크립팅에 관한 자세한 내용은 데이터베이스 문서화 및 스크립팅을 참조하십시오.

데이터베이스의 소유자를 변경하려면 sp_changedbowner를 사용하십시오.

사용 권한
sysadmin고정 서버 역할 구성원, db_owner 고정 데이터베이스 역할의 구성원 또는 db_ddladmin 및 db_securityadmin 고정 데이터베이스 역할 모두의 구성원만이 sp_changeobjectowner를 실행할 수 있습니다.

예제
다음은 authors 테이블의 소유자를 CorporateGeorgeW로 변경하는 것을 보여 주는 예제입니다.

EXEC sp_changeobjectowner 'authors', 'CorporateGeorgeW'


 
예제
다음은 authors 테이블의 소유자를 CorporateGeorgeW로 변경하는 것을 보여 주는 예제입니다.
EXEC sp_changeobjectowner 'authors', 'CorporateGeorgeW'

 

sp_change_users_login 프로시져를 사용하여 로그인과 사용자를 매핑하시면 됩니다.
아래의 온라인 설명서 예제를 참고하세요..

사용자의 로그인 변경 다음은 pubs 데이터베이스의 Mary라는 사용자와 기존 로그인의 연결을 변경하여(sp_addlogin 를 사용하여 추가된) NewMary로의 연결을 보여 주는 예제입니다.


--Add the new login.
USE master
go
EXEC sp_addlogin "NewMary"
go


--Change the user account to link with the "NewMary" login.
USE pubs
go
EXEC sp_change_users_login "Update_One", "Mary", "NewMary" ,,


참고. 만약 기존의 로그인정보를 유지하고자 하는 경우에는

EXEC sp_change_users_login "Update_One", "Mary", "Mary" 와 같이 기존과 변경되는 정보를 같이 하면 되겠습니다.

 

프로시저 sp_changedbowner

sp_changedbowner 사용자, DB이름

예)sp_changedbowner  host_dba,hosting

번호 제목 글쓴이 날짜 조회 수
50 [MS SQL]중복제거, 중복찾기 호스트웨이 2015.09.16 232144
49 Windows MySQL root 패스워드 분실시 호스트웨이 2012.08.10 45947
48 실행중인 Mssql 버젼 확인 hostway 2008.05.15 25312
» MS-SQL 개체 소유권 변경 레이쩡 2008.09.18 24880
46 MDF파일만 있을 경우 복구하는 방법(SQL2000만 해당) shpark 2008.07.07 24685
45 SQL Server 인덱스 설정의 효과 dhkim 2008.06.27 23596
44 tempdb 복구 및 이동 방법 hostway 2008.05.15 22791
43 sql injection 보안 점검 hostway 2008.05.14 21725
42 Microsoft Source Code Analyzer for SQL Injection 관련 자료 dhkim 2008.07.25 21539
41 MS SQL 트랜잭션 로그를 줄이는 방법 레이쩡 2008.09.18 21235
40 MS-SQL 서비스 포트 변경 file 호스트웨이 2012.07.14 20481
39 [MS-SQL] DB Table 소유자변경 dalgri 2009.05.25 19956
38 SQL 인젝션에 이용되는 XP_cmdshell 확장프로시져 삭제 방법 dhkim 2008.12.24 18512
37 SQL 2008 RTM 에서 유지관리계획 실행 시 Error file 호스트웨이 2012.09.14 16370
36 [MS SQL]다른 DB에 있는 테이블 이동/복사하기 호스트웨이 2015.09.15 16006
35 SQL 인젝션 치료용 커서 dhkim 2008.12.10 15077
34 SQL 서버 관리자가 알아야 할 11가지 유용한 팁 호스트웨이 2012.08.03 14429
33 SQL 빌드 넘버 리스트 호스트웨이 2012.11.08 14049
32 SQL 2008 Express 버전 설치 1 file 호스트웨이 2010.04.01 13849
31 SQL Server 2005 설치시 데이터 저장 경로 변경 file 호스트웨이 2012.09.14 13809