MS SQL 서버에서 DB테이블의 소유자를 한번에 변경하는 SQL 스크립트입니다.
물론 새로운 소유자에게 해당 데이터베이스에 대한 db_owner 권한이 있어야 합니다.
DECLARE @TABLE_NAME VARCHAR (50)
DECLARE @TABLE_OWNER VARCHAR (50)
DECLARE TCURSOR CURSOR
FOR SELECT TABLE_NAME, TABLE_SCHEMA FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_NAME <> 'dtproperties'
FOR READ ONLY
OPEN TCURSOR FETCH NEXT FROM TCURSOR INTO @TABLE_NAME, @TABLE_OWNER
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC ('SP_CHANGEOBJECTOWNER ''[' + @TABLE_OWNER + '].[' + @TABLE_NAME + ']'', ''새로운소유자계정이름''')
FETCH NEXT FROM TCURSOR INTO @TABLE_NAME, @TABLE_OWNER
END
CLOSE TCURSOR
DEALLOCATE TCURSOR
[출처] [MSSQL] DB테이블 소유자 일괄 변경|작성자 느끼
'프로그래밍 > MSSQL' 카테고리의 다른 글
MSSQL 2005 - 파일그룹 생성 SQL 예제 (4) | 2011.02.07 |
---|---|
MSSQL CREATE DATABASE 쿼리 SAMPLE (1) | 2011.02.07 |
[MSSQL 2005]샘플DB AdventureWorksDB를 지웠을 경우 복구 방법 (1) | 2011.02.07 |
WITH CTE_TABLE을 이용한 쿼리문의 단순화 (1) | 2011.01.31 |
MSSQL을 좀더 알기 - TSQL부문 (1) | 2011.01.30 |