테스트를 위해 VMWare에 Windows SERVER 2016을 설치해보겠습니다.

먼저 아래 VMWare 사이트에 들어가서 무료판을 다운로드합니다.

 

(1) www.vmware.com/kr.html

(2) 설치를 하고

 

(3) 실행을 합니다

 

 

(4) 그 다음 아래 사이트에서 SQL Server 2016 ISO를 받습니다.

 

동의하고 정보를 입력하고 또 동의~

 

 

언어는 영어로

 

다운로드중........

 

 

(5) 설치 시작

 

 

3번째를 선택하고 다음

 

 

Windows Server 2016를 찾아서 선택해줍니다.

 

 

원하는대로 용량을 설정해주세요.

Finish

 

 

(6) ISO 설정

 

CD/DVD 에 다운받은 ISO를 선택합니다

 

 

그 다음 Windows Server를 실행해 주세요

실행되면 엔터를 연타!! 

아래와 같이 나옵니다. 

 

 

Next - Install Now 선택

2번째 데스크탑 환경 선택

 

 

Custom 선택

 

Next - 설치중..

 

설치 완료

 

10. 백업 종류
 (1) 전체 백업 : DB의 모든 데이터를 백업. 백업이 진행되는 동안 발생한 트랜잭션 로그도 백업.

 (2) 차등 백업 : 전체 백업 이후 백업되지 않은 변경된 데이터만 백업.

 (3) 트랜잭션 로그 백업 : 트랜잭션 로그 파일을 백업하고 로그를 지움. 설정으로 안지울수 있다. FULL, BULK_LOGGED    복구모델만 가능

 (4) 로그 꼬리 백업 : 백업되지 않고 남아있는 로그를 백업. 마지막 로그 백업

 (5) 파일/파일 그룹 백업 : 데이터베이스 크기가 커서 파일 또는 파일그룹을 백업.

 (6) 부분 백업 : 파일 그룹 중 PRIMARY 파일 그룹과 읽기/쓰기가 가능한 파일 그룹을 백업. (OR 명시적으로 읽기 전용 파일 그룹도 포함해서 가능)

 (7) 복사 전용 백업  : 다른 백업에 영향을 끼치지 않고 전체 백업이나 트랜잭션 로그 백업을 할 수 있다.

 

11. 복구 모델

 (1) 전체(FULL) : 모든 데이터 변경에 대한 로그를 트랜잭션 로그 파일에 기록. 특정시점 복원이 가능. 로그 파일 용량이계속 커지므로 관리 필요.

 (2) 대량로그(BULK_LOGGED) : 대량 로그 작업으로 발생하는 트랜잭션 로그를 최소화하여 작업을 빠르게. BCP, BULK INSERT, INSERT~ SELECT, CREATE INDEX, ALTER INDEX REBUILD 등.  대량로그 작업이 발생하면 특정시점으로 복원 할 수 없다. 디스크 성능이 좋아짐에 따라 잘 쓰지 않음.

 (3) 단순(SIMPLE)  : 트랜잭션이 완료되면 지워짐. 다양한 복원 작업 불가.

9. 데이터베이스 옵션

 

(1) 자동 옵션

  • 자동 닫기(AUTO_CLOSE) : 기본OFF. ON이면 마지막 사용자가 끝낸 후 데이터베이스가 종류되고 리소스가 해제 됨. 
  • 자동 축소(AUTO_SHRINK) : 기본 OFF. ON이면 파일에서 사용되지 않는 공간이 25% 이상 일 때 파일을 자동으로 축소함.
  • 증분 통계 자동 작성(INCREMENTAL) : 기본 OFF. ON이면 AUTO_CREATE_STATISTICS가 ON일 경우 파티션별로 통계 생성.
  • 통계 자동 작성(AUTO_CREATE_STATISTICS) : 기본 ON. ON이면 쿼리 최적화에 필요한 누락된 통계가 최적화 동안 모두 자동으로 작성 됨.
  • 통계 자동 업데이트(AUTO_UPDATE_STATISTICS) : 기본 ON. ON이면 쿼리 최적화에 필요한 오래된 통계가 모두 자동으로 업데이트 됨.
  • 통계 비동기 자동 업데이트(AUTO_UPDATE_STATISTICS_ASYNC) : 기본 OFF. ON이면 AUTO_UPDATE_STATISTICS 옵션에 의한 통계 업데이트가 비동기로 수행 됨. 쿼리 최적화 프로그램이 쿼리를 컴파일 할 때 통계 업데이트가 완료될 때까지 기다리지 않음.

 

 

(2) 상태 옵션

  • 데이터베이스 상태(OFFLINE | ONLINE | EMERGENCY) : OFFLINE - DB 종료, ONLINE - DB 열림, EMERGENCY - 로그파일이 손상되어 "주의 대상"으로 표시된 DB를 읽을 수 있음.
  • 데이터베이스 읽기 전용(READ_ONLY | READ_WRITE) : READ_ONLY - 읽기만 가능, READ_WRITH - 읽기/쓰기 가능.
  • 액세스 제한 (SINGLE_USER | RESTRICTED_USER | MULTI_USER) : SINGLE_USER - 한명만 가능, RESTRICTED_USER - db_owner 고정 DB 역할. dbcreator, sysadmin 고정 서버역할 멤버만 접속 가능, MULTI_USER - 여러명 가능

 

 

(3) 복구 옵션

  • 복구모델 : 전체(FULL)  - 전체복구, 대량로그(BULK_LOGGED) - 특정 대량 작업에 대해 로그공간 최소. 대량작업성능UP, 단순(SIMPLE) - 최소의 로그 공간 사용. 로그 백업 불가.
  • 페이지확인(PAGE_VERIFY) : CHECKSUM - 전체 페이지 내용에 대한 체크섬 계산 후 페이지헤더에 저장 이후 비고, TORN_PAGE_DETECTION - 페이지 8KB중 512Byte 섹터에 대해 특정 2bit 패턴을 페이지 헤더에 저장 이후 비교, NONE - 페이지 확인 하지 않음.

 

 

 

7. 파일 그룹 종류

예를 들어 세 개의 디스크 드라이브에 Data1.ndf, Data2.ndf, Data3.ndf를 각각 만들어 fgroup1이라는 파일 그룹에 할당

그런 다음 fgroup1 파일 그룹에 한 개의 테이블을 만들 수 있습니다. 

이렇게 하면 해당 테이블의 데이터에 대한 쿼리가 3개의 디스크로 분산되므로 성능이 향상됩니다.

 

(1) 기본(주) 파일 그룹(PRIMARY FILE GROUP)

    PRIMARY 파일 그룹.  주 파일을 포함하는 파일 그룹. 모든 시스템 테이블은 주 파일 그룹의 일부입니다.    

 

(2) 사용자 정의 파일그룹(User-defined File Groups)

    사용자가 데이터베이스를 처음 만들거나 나중에 수정할 때 만드는 파일 그룹입니다.

 

8. 파일 그룹 추가

(1) 데이터베이스 속성 사용

 

 

(2) 스크립트 사용

USE master
GO

-- FirstDB02에 UFG01 사용자 정의 파일 그룹 추가
ALTER DATABASE FirstDB02 ADD FILEGROUP UFG01
GO

-- UFG01 파일 그룹에 파일 추가
ALTER DATABASE FirstDB02
ADD FILE 
(
	NAME = 'FirstDB02_02',
    FILENAME = 'C:\SQLDATA\FirstDB02_02.ndf',
    SIZE = 512MB,
    FILEGROWTH = 128MB
) 
GO

-- UFG01 파일 그룹을 기본 파일 그룹으로 변경
ALTER DATABASE FirstDB02
MODIFY FILEGROUP UFG01 DEFAULT
GO

 

 

5. 데이터베이스 만들기

(1) 논리적 이름 : 데이터베이스 명

(2) 소유자 : 데이터베이스의 소유자. 모든 권한을 가짐

(3) 파일 그룹 :

  • 파일 그룹은 주 데이터 파일과 다른 파일 그룹에 배치되지 않은 보조 파일을 포함합니다.
  • 사용자 정의 파일 그룹을 만들어 데이터 파일을 그룹화함으로써 관리, 데이터 할당 및 배치를 간편하게 수행할 수 있습니다.

6. 데이터베이스 생성 스크립트

 

(1) CREATE DATABASE

 

 

(2) 요구사항에 맞게 : NAME, FILENAME, SIZE, MAXSIZE, FILEGROWH 지정

                            이름, 데이터파일, 크기, 최대크기, 자동증가

 

 

3. 데이터베이스 구조,파일

데이터베이스의 시작 정보를 포함하며 데이터베이스의 나머지 파일을 가리킵니다. 모든 데이터베이스에는 하나의 주 데이터 파일이 있습니다. 권장되는 주 데이터 파일 확장명은 .mdf입니다.
보조 선택적 사용자 정의 데이터 파일입니다. 각 파일을 서로 다른 디스크 드라이브에 배치하여 데이터를 여러 디스크에 분산시킬 수 있습니다. 권장되는 보조 데이터 파일 확장명은 .ndf입니다.
트랜잭션 로그 이 로그에는 데이터베이스 복구에 사용되는 정보가 저장됩니다. 데이터베이스마다 최소한 하나의 로그 파일이 있어야 합니다. 권장되는 트랜잭션 로그 파일 확장명은 .ldf입니다.

 - 데이터 파일 : 주 데이터(기본데이터) 파일 mdf / 보조 데이터 파일 ndf

 - 로그 파일   : 트랜잭션 로그 파일 ldf 

                    트랜잭션 처리 내용 / 데이터 추가, 변경, 삭제 내용 

 

※ 확장명 바꿔도 되나 되도록 그대로 씀.

기본적으로 데이터와 트랜잭션 로그는 단일 디스크 시스템을 처리하기 위해 동일한 드라이브와 경로에 배치

  이 선택은 프로덕션 환경에서는 최적이 아닐 수도 있습니다. 

   데이터와 로그 파일은 서로 다른 디스크에 배치하는 것이 좋습니다.

 

 

4. 페이지와 익스텐트

 

(1) 페이지 : 모든 데이터 페이지의 크기는 8kb( 8060 Byte),  1MB에 128개의 페이지 

               SQL Server 데이터 파일의 페이지는 첫째 페이지가 0으로 시작하여 순차적으로 번호가 매겨짐. 

               데이터베이스의 파일마다 고유한 파일 ID 번호가 존재. 

               데이터베이스에서 페이지를 고유하게 식별하려면 해당 파일 ID와 페이지 번호가 모두 필요.

               

 

(2) 익스덴트 : 연속하는 8페이지 64KB. 

  • 균일 익스텐트는 단일 개체가 소유. 또한 익스텐트의 전체 8페이지는 소유하는 개체만 사용할 수 있음.
  • 혼합 익스텐트는 최대 8개의 개체가 공유할 수 있음. 익스텐트의 8페이지를 각각 다른 개체가 소유할 수 있음.

 

출처 : docs.microsoft.com/ko-kr/sql/relational-databases/databases/database-files-and-filegroups?view=sql-server-ver15

1. OLTPOLAP 데이터베이스

 - OLTP : Online Transaction Processing / 주로 트랜잭션 처리를 위한 데이터베이스.

            되도록 중복된 데이터를 제거하고, 빠르게 데이터를 변경할 수 있는 구조고 디자인 되어야 함.

 

 - OLAP : Online Analytical Processing / 대량의 데이터를 체계화하고 요약하여,데이터에 대한 빠른 평가와 분석이 목적.

 

 

2. 시스템 데이터베이스

(1) master

    각종 데이터베이스에 대한 정보를 저장한 특별한 데이터베이스.

    SQL Server의 여러 가지 환경 정보로그인 정보, 관리되는 모든 데이터베이스에 대한 정보들을 저장한다.

    master가 손상되면 SQL Server는 시작 될 수 없다.

 

(2) model

    모든 데이터 베이스의 원형. model 데이터베이스를 복사해서 새로운 데이터베이스를 만든다.

    model 데이터베이스 설정을 변경하면 이후에 만들어지는 새로운 데이터베이스에 그대로 반영된다.

    대부분 model 데이터베이스는 처음의 형태로 유지되며, 관리적인 측면에서도 별로 안봄.

 

(3) msdb

    주로 자동화와 관련된 정보, 백업과 복원 내용을 포함한 각종 정보를 저장하는 데이터베이스. 

    작업(Jobs), 경고(Alerts), 운영자(Operators) 기능으로 유지관리 업무를 자동화 하는데 이 데이터들을 가지고 있다.

 

(4) tempdb

    주로 임시 테이블들이 저장 되는 데이터베이스. 중요한 시스템 데이터 베이스.

    SQL Server 재시작 시 초기화 후 model 데이터베이스를 복사하여 만들어진다.

 

(5) Resource

    SQL Server에 포함된 시스템 개체가 모두 들어 있는 읽기 전용 데이터베이스.

    

 

 

 

 

출처 : SQL Server (운영편,디비로 누리는 특별한 세상)

docs.microsoft.com/ko-kr/sql/relational-databases/databases/system-databases?view=sql-server-ver15

+ Recent posts