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