반응형
/********************************************************************************************
-- Title : [2k8] DB 생성과 파일 및 파일 그룹 관리 - ver.dbrang
-- Reference : wipscorp.com
-- Key word : db생성 filegroup 파일그룹 파일이동 파일명변경
********************************************************************************************/
USE master;
GO


/*
-- DB 생성
*/
CREATE DATABASE mydb
ON PRIMARY
  (name = 'data0_1', filename = 'd:\sqlserver\data00.mdf'
    , SIZE = 10mb, maxsize = unlimited, FILEGROWTH = 10%)
, filegroup fg_data1 DEFAULT
  (name = 'data1_1', filename = 'd:\sqlserver\data1_1.ndf'
    , SIZE = 10mb, maxsize = unlimited, FILEGROWTH = 10%)
, (name = 'data1_2', filename = 'd:\sqlserver\data1_2.ndf'
    , SIZE = 10mb, maxsize = unlimited, FILEGROWTH = 10%)
, filegroup fg_data2
  (name = 'data2_1', filename = 'd:\sqlserver\data2_1.ndf'
    , SIZE = 20mb, maxsize = 50mb, FILEGROWTH = 10mb)
LOG ON
  (name = 'log0_1', filename = 'd:\sqlserver\log0_1.ldf'
    , SIZE = 20mb, maxsize = 50mb, FILEGROWTH = 10mb);
GO


/*
-- DB명 변경 및 읽기전용/사용자 변경
*/
-- DB명 변경
ALTER DATABASE mydb
MODIFY NAME = yourdb;
    -- 또는
EXEC sp_renamedb 'yourdb', 'mydb';

-- 읽기 전용 변경
ALTER DATABASE mydb
SET read_only;

-- 읽기 전용 확인
SELECT name, is_read_only FROM sys.databases;

-- 사용자 변경
ALTER databse mydb
SET single_user;

-- 사용자 변경 확인
SELECT name, user_access_desc FROM sys.databases;


/*
-- 파일 그룹 관리
*/
-- FG 읽기 전용 변경
ALTER DATABASE mydb
MODIFY FILEGROUP fg_data1 READONLY;
ALTER DATABASE mydb
MODIFY FILEGROUP fg_data1 READWRITE;

-- 디폴트 파일 그룹 변경
ALTER DATABASE mydb MODIFY FILEGROUP fg_data2 DEFAULT;
ALTER DATABASE mydb MODIFY FILEGROUP fg_data1 DEFAULT;

-- 파일 그룹 추가
alter database mydb
add filegroup third;

-- 파일 그룹 추가 확인
select * from mydb.sys.filegroups;

-- 파일 그룹 삭제
ALTER DATABASE mydb
REMOVE FILEGROUP third;

-- 파일 그룹 삭제 확인
select * from mydb.sys.filegroups;


/*
-- 파일 변경 및 추가
*/
-- 파일 크기 확인(size=1280)
SELECT * FROM mydb.sys.sysfiles;
EXEC mydb..sp_filegroup0;

-- 파일 크기 변경
ALTER DATABASE mydb
MODIFY FILE (NAME = 'data1_1', SIZE = 20mb);

-- 파일 크기 확인(size=2560)
SELECT * FROM mydb.sys.sysfiles;

-- 파일 추가
ALTER DATABASE mydb
ADD FILE
( NAME = 'data2_2', FILENAME = 'd:\sqlserver\data2_2.ndf'
, SIZE = 20mb, MAXSIZE = 50mb, FILEGROWTH = 10mb);

-- 논리파일명 변경
ALTER DATABASE mydb MODIFY FILE (NAME=N'data2_1', NEWNAME=N'data2_111');
ALTER DATABASE mydb MODIFY FILE (NAME=N'data2_111', NEWNAME=N'data2_1');


/*
-- 로그 파일 추가 및 파일 제거
*/
ALTER DATABASE mydb
ADD LOG FILE
( NAME = 'log0_2',
  FILENAME = 'd:\sqlserver\log0_2.ldf',
  SIZE = 5MB,
  MAXSIZE = 10MB,
  FILEGROWTH = 10%
);

-- 로그 파일 추가 확인
SELECT * FROM mydb.sys.sysfiles;
EXEC mydb..sp_filegroup0;

-- 파일 제거
ALTER DATABASE mydb
remove FILE LOG0_2;

-- 파일 제거 확인
SELECT * FROM mydb.sys.sysfiles;

/*
-- DB 삭제
*/
--DROP DATABASE mydb;
 
반응형

+ Recent posts