일단모아/마구마구

SQL2005에서 복원시 권한설정 쿼리

반생자 2008. 7. 16. 11:13

--   SQL2005에서 UNILITE5 DB를 복원 후 DB_Attatch 하는데 있어 기존 SQL2000 의 스크립트로는
--   적용되지 않아 만들어 보았습니다.


USE [MASTER]
EXEC sp_attach_db @dbname  = N'UNILITE5', /* db명을 적는다 */
@filename1 = N'C:\UNILITE5\DataBase\UNILITE5_Data.MDF', /* .mdf 파일경로 */
@filename2 = N'C:\UNILITE5\DataBase\UNILITE5_Log.LDF' /* .ldf 파일경로 */

/* [순서] msSql 2005 */
/* 먼저 빈 UNILITE5 DB 를 생성/ 복원 한 후 적용합니다 */

use [UNILITE5]

/* 기존 UNILITE5 DB 에 존재하는 UNILITE 계정을 삭제하기 위해 임시로 스키마를 변경해준다
   UNILITE 계정이 스키마에 물려있기 때문에 스키마 변경 후 계정을 삭제할 수 있다 */
ALTER AUTHORIZATION on SCHEMA::[UNILITE] TO [db_accessadmin]

/* 기존 UNILITE5 DB 에 존재하는 UNILITE 계정을 삭제 */
DROP USER [UNILITE]
CREATE USER [unilite] FOR LOGIN [unilite]

/* unilite 계정의 기본스키마를 UNILITE로 설정 */
ALTER USER [unilite] WITH DEFAULT_SCHEMA=[UNILITE]

/* unilite 계정의 권한을 db_owner로 설정 */
EXEC sp_addrolemember N'db_owner', N'unilite'

/* 처음 임시로 UNILITE 계정 삭제를 위해 변경했던 스키마소유자를 unilite 로 변경 */
ALTER AUTHORIZATION on SCHEMA::[UNILITE] TO [unilite]

/* unilite 계정의 기본스키마를 UNILITE로 설정 */
ALTER USER [unilite] WITH DEFAULT_SCHEMA=[UNILITE]

'일단모아 > 마구마구' 카테고리의 다른 글

배치파일용 dos 명령어 및 연산자  (0) 2008.08.26
터미널 서비스 콘솔연결  (0) 2008.08.14
vb 스크립트 함수모음  (0) 2008.04.16
수출 NEGO관  (0) 2008.03.25
[mssql] 동적쿼리, Temporary Database  (0) 2008.03.12