본문 바로가기

MSSQL

[MSSQL] 파일 그룹(Filegroup)

반응형

※ 파일 그룹(Filegroup)

 -. 데이터 파일들을 관리상의 목적으로 분류하기 위해 파일 그룹의 이름을 지정할 수 있다. 그래야 파일 그룹별로 백업이나 복구를
    할 수 있으며 데이터를 분산 배치하여 질의 성능을 향상시킬 수 있다.
 -. SQL Server의 모든 데이터베이스는 기본 파일 그룹을 가지고 있다.
 -. 파일 그룹의 이름은 별도로 변경하지 않으면 PRIMARY가 된다.
 -. 파일 글부에는 기본데이터 파일과 부가 데이터 파일들을 저장할 수 있다.
 -. 기본 파일 글부 이외에 사용자가 정의한 파일 그룹을 지정하여 부가 파일들을 분류 · 저장할 수 있다.
 -. 사용자 정의 파일 그룹은 데이터를 분산하거나 재배치하는 등의 관리상의 목적으로 사용되지만
    기본 데이터 파일은 반드시 기본 파일 그룹에 포함된다.
 -. 데이터베이스의 모든 데이터 파일은 파일 그룹 중 하나에 저장된다.
 -. 사용자 정의 팡리 그룹은 데이터베이스를 생성하는 시점에 함꼐 생성할 수 있으며 필요에 따라 생성된 데이터베이스에 파일을
    추가할 때도 생성할 수 있다. 하지만 특정한 파일 그룹에 지정된 파일을 다른 파일 그룹으로 이동할 수는 없다. 파일을 오로지
    한개의 파일 그룹에만 속한다.

①②③

① Management Studio를 사용한 파일 그룹(Filegroup)

01. Management Studio를 실행한 후 데이터베이슬르 마우스 오른쪽 버튼으로 눌러 선택한 후 나오는 메뉴에서 '새 데이터베이스'를 선택한다.



02. '새 데이터베이스' 창이 나타나면 데이터베이스 이름에 'SampleDB'를 입력한다. 그리고 [추가]를 눌러 사용자 데이터베이스 파일 두 개를 생성하고 논리적 이름으로 각 'SampleDB_MFG_Data1', 'SampleDB_MFG_Data2'를 입력한다.



03. 왼쪽 위에 있는 '파일 그룹'을 선택한 후 [추가]를 눌러 새 파일 그룹을 생성합니다. 데이터베이스 이름에 'MyNewFileGroup'을 입력한 후 다시 '일반'을 선택한다.



04. 'SampleDB_MFG_Data1', 'SampleDB_MFG_Data2'의 '파일 그룹'항목을 선택한 후 03번 과정에서 생성한 'MyNewFileGroup'을 선택한다.



05. 왼쪽 위에서 '데이터베이스'를 마우스 우클릭 후 나오는 메뉴에서 '새로 고침'을 선택하면 SampleDB 데이터베이스가 생성된 것을 확인할 수 있다.



② T-SQL을 사용한 파일 그룹(Filegroup)


01. 프로그램 왼쪽 위에 있는 [새 쿼리]를 눌러 질의 창이 나타나게 한 후 다음과 같은 T-SQL 구문을 입력하고 [실행]을 누른다.

CREATE DATABASE SampleDB
ON PRIMARY    /* 기본 파일 그룹(Primary Filegroup) */
    (NAME = 'SampleDB_Primary',
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\SampleDB_Prm.mdf',
        SIZE = 4MB,
        MAXSIZE = 10MB,
        FILEGROWTH = 1MB),
       
FILEGROUP MyNewFileGroup    /* 사용자 정의 파일 그룹(MyNewFileGroup Filegroup) */
    (NAME = 'SampleDB_MFG_Data1',
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\SampleDB_FG1.ndf',
        SIZE = 1MB,
        MAXSIZE = 10MB,
        FILEGROWTH = 1MB),
    (NAME = 'SampleDB_MFG_Data2',
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\SampleDB_FG2.ndf',
        SIZE = 1MB,
        MAXSIZE = 10MB,
        FILEGROWTH = 1MB)

LOG ON    /* 트랜잭션 로그 파일(Transction Log File) */
    (NAME = 'SampleDB_log',
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\SampleDB_log.ldf',
        SIZE = 1MB,
        MAXSIZE = 10MB,
        FILEGROWTH = 1MB);




02. '명령이 완료되었습니다.'라는 메시자가 나타나면 데이터베이스가 생성된 것이다. 왼쪽 위에서 '데이터베이스'를 마우스 우클릭 후 나오는 메뉴에서 '새로 고침'을 선택하면 SampleDB 데이터베이스가 생성된 것을 확인할 수 있다.



03. 'SampleDB'를 마우스 오른쪽 버튼으로 눌러 선택한 후 나오는 메뉴에서 '속성'을 선택한다. 그리고 데이터베이스 속성 창의 왼쪽 위에서 '파일'을 선택하면 T-SQL 구문에서 입력한 파일 그룹이 올바르게 설정되었는지 확인할 수 있다.
























반응형