1. 데이터 전송

- SQL Server 데이터를 다른 서버로 복사 또는 다른 서버의 데이터를 SQL Server로 복사하는 과정

- 엑셀 워크시트나 텍스트 파일과도 데이터 전송이 가능하다


1) 데이터 전송 시 고려 사항

- 보안 문제

- 성능 문제: 

대량의 데이터를 읽고 전송하는 경우 SQL Server 부하가 생길 수 있기 때문에, 

대량의 데이터 전송은 서버 사용량이 적은 시간에 이루어지도록 일정 관리가 필요하다. 

- 데이터 정합성 문제:

이기종 간 데이터 전송은 서로 다른 데이터 형식으로 인해 전송 불가, 의도하지 않는 형태의 데이터가 될 우려가 있다.


2. 가장 쉬운 데이터 전송

1) SSMS에서 Ctrl+C, Ctrl+V : 모든 데이터가 메모리에 복사된다

2) 다른 이름으로 저장하기 : 결과 형태에 따라 CSV(엑셀), RPT(텍스트) 파일로 저장할 수 있다.  

3) 엑셀에서 데이터 가져가기(엑셀 기능): [엑셀메뉴]-[데이터]-[외부 데이터 가져오기]-[기타 원본에서]-[SQL Server]


3. 가져오기/내보내기 마법사(Import/Export Wizard)

1) SQL Server 간의 데이터 전송

- 데이터 원본선택 -> 대상 선택 -> 테이블 복사/쿼리 지정 -> 원본 테이블 및 뷰 선택 -> 전송 설정 -> 매핑 설정 -> 패키지 실행

2) 엑셀 워크시트로 내보내기

- 대상 DB 선택 -> [태스크] -> [데이터 내보내기] 선택

- 대상선택(Microsoft Excel) -> 첫 행은 열 이름으로 옵션 선택 -> 테이블 선택 -> 엑셀 시트 이름 변경 -> 데이터 형식 매핑 검토 ->  결과확인

- 대상 선택 후, 공급자 오류 발생시 

--> 공급자 파일은 전송받아 설치해야하고 64bit, 32bit 둘 다 설치

--> 엑셀 버전을 Microsoft Excel 97-2003으로 선택 


4. 연결된 서버 (Linked Server)

- 다른 서버의 데이터에 지속적인 접근이 필요한 경우, 대상 서버의 연결 정보를 미리 저장해둔 서버이다. 

 (이기종 DBMS, 엑셀 워크 시트, 텍스트 파일도 설정 가능)


1) OPENDATASOURCE 사용


-- 1) Ad Hoc Distributed Queries 옵션 활성화

EXEC sp_configure 'show advanced options', 1

RECONFIGURE

GO


EXEC sp_configure 'ad hoc distributed queries', 1

RECONFIGURE

GO


-- 2) OPENDATASOURCE 사용

-- Windows 인증으로 연결

SELECT * FROM OPENDATASOURCE('SQLNCI', 'Data Source=TestDB;Integrated Security=SSPI').Test1DB.dbo.TblSample

GO


-- SQL Server 인증으로 연결

SELECT * FROM OPENDATASOURCE('SQLNCLI', 'Data Source=TestDB;User ID = user1;Password= Password13').Test1DB.dbo.TblSample

GO


2) OPENROWSET 사용

- 다른 SQL Server 데이터를 가져오는 기능 외 텍스트 파일, XML 파일, 이미지 파일 등을 읽거나 가져올 수 있다.

-- Windows 인증

SELECT e.* FROM OPENROWSET('SQLNCLI', 'Server=TestDB;Trusted_Connection=yes;', 'SELECT * FROM Test1DB.dbo.TblSample') AS e 

GO


-- SQL Server 인증

SELECT e.* FROM OPENROWSET('SQLNCLI', 'Server=TestDB;UID=user1;PWD=Password12;', 'SELECT * FROM Test1DB.dbo.TblSample') AS e

GO


3) 연결된 서버 만들기

- [서버 개체] - [연결된 서버] - (우클릭) - [새 연결된 서버(N)...]

- 서버 정보 입력: SQL Server 이름(명명된 인스턴스 이름) / IP 주소 입력

- 보안 정보 입력: 

- 로컬 서버 로그인과 원격 서버 로그인 매핑

- 개별적으로 로그인 매핑이 되지 않은 로그인 계정에 대해 로그인 설정

--> 연결안함 (연결된 서버 쓸 수 없다)

--> 보안 컨텍스트 없이 연결 (연결된 서버 쓸 수 없다)

--> 로그인의 현재 보안 컨텍스트를 사용하여 연결 (로컬과 원격 서버에 동일 계정이 있어야 한다)

--> 다음 보안 컨텍스트를 사용하여 연결 (원격서버에 계정이 있고 접근하고자하는 데이터에 대한 충분한 권한이 필요하다)

4) 연결된 서버 쿼리

- 직접 연결된 서버 쿼리

-- [서버명].[DB명].[스키마명].[테이블명]

SELECT * FROM TestDB.Test1DB.dbo.TblSample

GO

 


- OPENQUERY  사용

SELECT e.* FROM OPENQUERY(TestDB. 'SELECT * FROM TestDB.Test1DB.dbo.TblSample') AS e 


-->  OpenQuery는 연결된 서버에서 대상 데이터를 추출하여 결과만 가져오기 때문에 4 Part Name 사용보다 부하가 적고, 성능이 좋다.


[SQL Server 서비스 팩 설치 시 유의 사항]


1) SQL Server 하나의 인스턴스에 속하는 모든 기능은 동시 업데이트 해야한다. 데이터베이스 엔진 업데이트 시 Analysis Services, Reporting Services 구성요소가 동일한 SQL Server 인스턴스의 일부로 설치되어 있다면 함께 업데이트가 필요하다.

관리도구, SQL Data Tools(SSDT) 및 SQL Server Integration Servies


SQL Server 업데이트 설치 준비

1) SQL Server 시스템 데이터 베이스 백업 

- SQL Server 업데이트 전 master, msdb, model 데이터베이스를 백업한다. 업데이트 시 데이터베이스가 변경되어 이전 버전의 SQL Server와 호환되지 않을 수 있으며, 업데이트를 적용하지 않은채 SQL Server를 재설치하고 이전 데이터베이스를 계속 사용하려면 시스템 데이터 베이스 백업이 필요하다.

또한, 사용자 데이터베이스 백업도 함께 진행하는 것이 좋다.


2) Analysis Services 데이터 베이스, 구성 파일 및 리포지토리 백업 

a. Anlaysis Services 데이터베이스는, C:\Program Files\Microsoft SQL Server\MSAS11.<InstanceId>\OLAP\Data에 설치되어 있다. 

> 현 시스템에 설치 되어 있지 않으면 무관


b. msmdrsv.ini 구성파일의 Analysis Service 구성 설정. 


c. 시스템 데이터베이스에 사용 가능한 공간이 충분한지 확인 

master 및 msdb 시스템 데이터베이스에 대해 자동 증가 옵션을 선택하지 않은 경우 이러한 데이터베이스느 각각에 최소 500KB 이상의 여유 공간이 있어야 한다. 데이터베이스에 공간이 충분하지 확인하려면, master 및 msdb 데이터베이스에 sp_spaceused 시스템 저장 프로시저를 실행한다.

각 데이터베이스의 할당되지 않은 공간이 500KB보다 적은 경우 데이터베이스의 크기를 늘려야 한다.


d. 서비스 및 응용 프로그램 정지

시스템이 다시 시작되지 않도록 하기 위해 SQL Server 업데이트 설치 전 업그레이드 중인 인스턴스에 연결된 모든 응용 프로그램 및 서비스를 중지한다.  SSMS, SQL Server Data Tools 등이 포함된다. 


e. 업데이트 설치 후 컴퓨터를 다시 시작해야 할 필요가 없도록 설치 프로그램에 파일을 잠그는 프로세스 목록이 표시된다. 업데이트 설치 프로그램이 설치 중에 특정 서비스를 종료해야 할 경우 설치를 마친 후 해당 서비스를 재 시작한다.


f. 설치 중에 잠겨 있는 파일이 발견될 경우 설치가 끝난 후 컴퓨터를 다시 시작해야 할 수도 있다. 필요의 경우 다시 시작하라는 메시지가 표시된다.



[SQL Server 업데이트 설치]


1) SQL Server 업데이트 시작

누적 업데이트 패키지(CU): <SQLServer2012>-KBxxxxxx-PPP.exe

서비스 팩 패키지(PCU): <SQLServer2012><SPx> -KBxxxxxx-PPP-LLL.exe

> x는 서비스 팩 번호를 나타낸다.

> PPP는 특정 플랫폼을 나타낸다.

> LLL은 SQL Sever 언어의 문자 약어이면 영어는 ENU, 국문은 KOR 이다.

2) 설치 마법사를 통해 설치 진행

3) 성공적인 설치 확인

> SQL Server 서비스가 온라인 상태인지 확인

> @@version 쿼리에서 반환된 버전 정보를 확인




'일하면서 정리하기 > MSSQL' 카테고리의 다른 글

[11/29] SQL Server 운영 - 소개 및 설치  (0) 2017.12.03
SQL Server Error Log 관리  (0) 2017.08.17
SQL Server Version List  (1) 2017.08.14
SQL Server 2016 설치(2) - 기능 설명  (0) 2017.08.14
SQL Server 2016 설치(1)  (1) 2017.07.11

SQL Server Error Log


오류 로그는 서비스가 시작할 때부터 서비스가 중지될 때까지 계속 메시지를 기록한다. 로그는 심각도 수준이 19 ~ 25의 값을 가진 모든 오류를 기록하고, 모니터링 시 오류 로그에서 심각도 수준 19 ~ 25 사이의 값을 가진 오류는 반드시 체크해야 한다. 해당 심각도 수준의 오류는 트랜잭션을 실패하고, 응용 프로그램이 운영에 문제가 된다. 심각도 수준이 20 ~ 25 오류는 치명적이며, 클라이언트 연결은 오류 메시지를 받고 종료된다. 


SQL Server Error Log 포함된 사항


No 

 Contents

 1

 SQL Server 버전 

 2

 운영체제 버전 

 3

 서비스 시작 시간 

 4

 서버 프로세스 ID

 5 

 Error Log 파일 경로 

 6

 서버 실행 모드 (Tread/Fiber) 

 7 

 수신 프로토콜 및 포트 

 8 

 시스템 및 사용자 데이터 베이스의 인스턴스 복구  프로세스 정보 

 9 

 서버 옵션 변경 정보

 10 

 SQL Server에서 발생한 오류 



SQL Server Error Log 읽기

sp_readerrorlog 실행 

 Parameters

Type 

 에러 로그 파일 번호 

0 = Current(현재), 1 =Archive #1, 2 = Archive #2, ...

 로그 파일 종류

1 또는 null = Error Log, 2 = SQL Agent Log 

 검색인자 1

AND 연산자 

 검색인자 2  

AND 연산자 

 검색 시작 시간 

Date

 검색 끝 시간 

Date

 결과 정렬 

 ascending(N'asc') , decending (N'desc')


--실행 예시 

EXEC sp_readerrorlog 0, 1, '2017', 'backup', '2017-08-16', '2017-08-17', N'asc'






SQL Server Error Log 관리하기

테이블로 관리하기


A. SQL Server Error Log 및 Agent Log 관리용 테이블 생성


--SQL Server Error Log Table

IF NOT EXISTS (SELECT * FROM sys.objects From object_id = OBJECT_ID(N'[dbo].[SQLERRORLOG]') AND type in (N'U'))

BEGIN

CREATE TABLE [dbo].[SQLERRORLOG] (

       [mRegDate] [datetime] NULL,

       [mProcessInfo] [varchar](10) NULL,

       [mText] [varchar](max) NULL

) ON [PRIMARY]

END

GO


--Agent Log Table

IF NOT EXISTS (SELECT * FROM sys.objects From object_id = OBJECT_ID(N'[dbo].[SQLAGENTLOG]') AND type in (N'U'))

BEGIN

CREATE TABLE [dbo].[SQLAGENTLOG] (

       [mRegDate] [datetime] NULL,

       [mProcessInfo] [varchar](10) NULL,

       [mText] [varchar](max) NULL

) ON [PRIMARY]

END

GO



B. 데이터 저장하기


--현재 시점까지 Error Log 저장

INSERT INTO [dbo].[SQLERRORLOG]

EXEC ('sp_readerrorlog')

GO


EXEC msdb.dbo.sp_cycle_errorlog

GO


--현재 시점까지 Agent Log 저장 (Agent Service가 반드시 작동 중이어야 한다.)

INSERT INTO [dbo].[SQLAGENTLOG]

EXEC ('sp_readerrorlog -1, 2')

GO


EXEC msdb.dbo.sp_cycle_agent_errorlog

GO



C. 데이터 확인 


테이블 생성 후 주기적으로 테이블에 데이터를 저장하여 관리하면, 로그를 빠르게 볼 수 있으며 오류 로그 크기가 커져서 디스크 공간을 크게 차지

하는 것을 예방 할 수 있다.


SELECT * FROM dbo.SQLERRORLOG WHERE mRegDate >= '2017-08-17'


참고: https://blogs.msdn.microsoft.com/repltalk/2011/01/05/how-to-archive-your-sql-errorlogs-into-a-table/



※데이터베이스 엔진 오류 심각도


Level of Severity

DESC

0~9 상태 정보를 반환하거나, 심각하지 않은 오류를 보고
데이터 베이스엔진에서 심각도 0~9인 경우 시스템 오류 발생시키지 않음
10 상태 정보를 반환하거나, 심각하지 않은 오류를 보고
호환성을 위해 오류 정보를 호출 응용 프로그램으로 반환하기 전에 심각도 10을 0으로 변환
11 ~ 16 사용자가 해결할 수 있는 오류
11 지정한 개체 또는 엔터티가 없음 
12 특수한 쿼리 힌트로 인해 잠금을 사용하지 않는 쿼리에 대한 특수 심각도
일관성을 유지하는 기능인 잠금을 사용하지 않는 문으로 읽기 작업 수행 시 데이터 일관성 손상 가능
13 트랜잭션 교착 상태 오류 (DeadLock)
14 거부된 권한 등의 보안 관련 오류
15 T-SQL 명령의 구문 오류
16 사용자가 해결할 수 있는 일반 오류
17 ~ 19 사용자가 해결 할 수 없는 소프트웨어 오류. 시스템 관리자에게 알림
17 Statement가 실행되어 SQL Server에서 데이터베이스에 사용되는 디스크 공간, 메모리 또는 잠금등의 리소스 부족이거나, 시스템 관리자가 설정한 일정한 한계를 초과한 오류
18 데이터베이스 엔진 소프트웨어에 문제가 있지만, 문이 원료되고 데이터베이스 엔진 인스턴스에 대한 연결이 유지됨. 심각도가 18이면 시스템 관리자에게 알려야함
19 구성할 수 없는 데이터베이스 엔진 한계를 초과하여 현재 일괄처리가 종료 됨
심각도가 19 이산인 오류 메시지는 현재 일괄처리 실행이 중지된다.
거의 발생하지 않지만, 시스템 관리자 또는 주 지원 공급자를 통해 해결
19 ~ 25 오류 메시지를 오류 로그에 기록
20 ~ 24 시스템 문제 및 심각한 오류를 의미. 일괄 처리를 실행하는 데이터베이스 엔진 테스크가 더 이상 수행하지 않음. 태스크는 발생한 문제 정보를 기록하고 종료된다. 대부분의 경우 데이터베이스 엔진 인스턴스와 응용 프로그램과의 연결도 끊어지며, 다시 연결하지 못함
데이터 베이스 또는 개체 손상을 의미한다.
20 일괄처리에 문제가 발생함. 현재 테스크에만 영향을 주므로 데이터베이스 자체 손상은 되지 않는다.
21 현재 데이터베이스의 모든 태스크에 영향을 미치는 문제 발생. 데이터 베이스 자체 손상은 아니다.
22 메시지에서 지정된 테이블 또는 인덱스가 소프트웨어 또는 하드웨어 문제로 인해 손상됨 거의 발생하지 않으나, 오류 발생 시 DBCC CHECKDB 실행으로 데이터베이스 내 다른 개체 손상도 확인해야한다. 문제가 버퍼 캐시에 한정되고 디스크 자체에는 아무 이상이 없을 수도 있고 이 경우 데이터베이스 엔진 인스턴스 다시 시작하면 문제가 해결한다. 다시 시작해도 문제가 발생한다면 디스크 문제이다.  가끔 오류 메시지에 지정된 개체를 제거하여 문제를 해결 할 수 있다.
23 하드웨어 또는 소프트웨어 문제로 인해 전체 데이터베이스의 무결성이 의심됨
거의 발생하지 않으나. 문제가 캐시에 한정되고 디스크 자체 아무 이상 없을 수도 있다.
경우에 따라서는 데이터베이스 복원이 될 수도 있다.
24 미디어 오류. 시스템 관리자가 데이터베이스 복원 또는 하드웨어 공급업체에 문의해야 하는 경우



SQL Server Version & Service Packs List


Version 

Default 

SP1 

SP2

SP3 

SP4 

 SQL Server 2000

8.0.194 

8.0.384 

8.0.532 

8.0.760 

8.0.2039 

 SQL Server 2005

9.0.1399.06 

9.0.2047 

9.0.3042 

9.0.4035 

9.0.5000 

 SQL Server 2008 

10.0.1600.22 

10.0.2531.0

10.1.2531.0 

10.0.4000.0

10.2.4000.0 

10.0.5500.0

10.3.5500.0 

10.0.6000.29

10.4.6000.29 

 SQL Server 2008 R2 

10.50.1600.1 

10.50.2500.0

10.51.2500.0 

10.50.4000.0

10.52.4000.0 

10.50.6000.34

10.53.6000.34 

 

 SQL Server 2012 

11.0.2100.60 

11.0.3000.0

11.1.3000.0 

11.0.5058.0

11.2.5058.0 

11.0.6020.0

11.3.6020.0 

 

 SQL Server 2014 

12.0.2000.8 

12.0.4100.1

12.4100.1 

12.0.5000.0

12.2.5000.0 

 

 

 SQL Server 2016

13.0.1601.5 

13.0.4001.0

13.1.4001.0 

 

 

 

 SQL Server 2017 

 

 

 

 

 


SQL Server 2016 설치 시   기능 선택 부가 설명

※첨부 파일 참고

SQL Server 설치 기능 선택 설명.docx



- SQL Server 2016 구성요소


데이터베이스 엔진

Reporting Service

Integration Service

Analysis Service

복제

전체 텍스트 검색







1. 인스턴스 기능: SQL Server 인스턴스에 대한 각 인스턴스 기능의 구성과 작업은 다른 SQL Server 인스턴스와 격리된다

SQL Server 인스턴스는 동일한컴퓨터에서 함께 작동될 수 있다.


(1)   데이터베이스 엔진 서비스 (Database Engine Service)

-       데이터 저장, 처리 및 보안 설정을 위한 핵심 서비스이다. 데이터베이스 엔진은 데이터 소비형 응용프로그램에 대한 요구사항을 충족하기 위해 액세스 제어 및 빠른 트랜잭션 처리를 제공한다.


-       OLTP 또는 OLAP 데이터에 사용할 관계형 데이터베이스를 만들 수 있고, 데이터 저장할 테이블과 데이터 보기, 관리 및 보안을 위한 인덱스, , 저장 프로시저 등의 데이터베이스 개체를 만드는 작업이 포함된다.


-       SSMS를 이용하여 데이터베이스 개체를 관리하고, SQL Server 프로파일러를 사용하여 서버 이벤트를 캡처할 수 있다.


-       SQL Server 복제: 특정 데이터베이스에서 다른 데이터베이스로 데이터 및 데이터베이스 개체를 복사 및 배포하고 데이터베이스가 일치하도록 동기화하는 기술 집합을 포함한다. 복제를 사용하여 LANWAN, 전화 접속 연결, 무선 연결, 인터넷을 통해 데이터를 다른 위치와 원격 및 모바일로 사용자에게 배포 가능하다.


-       데이터베이스 내 R Service: 표준 T-SQL문을 사용하여 R 언어와 통합할 수 있는 고급 분석 확장을 포함한다.


-       검색을 위한 전체 텍스트 및 의미 체계 검색: 빠른 텍스트 검색을 위한 전체 텍스트 검색 뿐만 아니라 태그와 같은 핵심 단어에 대한 의미 체계 검색 및 SQL Server에 저장된 콘텐츠에 대한 유사성 검사를 지원하는 검색 엔진을 포함한다.


참고 사이트: https://docs.microsoft.com/ko-kr/sql/relational-databases/search/full-text-search


-       Data Quality Service: DQS 기술자료는 데이터 관리자나 IT 전문가가 데이터 정리 및 데이터 일치를 통해 데이터 품질 향상을 위해 만든 메타데이터 리포지토리이다. DQS 기술 자료 관리에는 컴퓨터 기반은 물론 대화형으로도 기술 자료를 만들고 관리하는데 사용되는 프로세스가 포함된다.


참고 사이트: https://docs.microsoft.com/ko-kr/sql/data-quality-services/data-quality-services-concepts


-       외부 데이터용 PolyBase: 표준 T-SQL문을 사용하여 Hadoop 비 관계형 데이터 및 SQL Server 관계형 데이터 간의 쿼리를 완전히 통합하는 PolyBase 기술을 포함한다.


(2)   Analysis Service

-        Analysis ServicesOLAP(온라인 분석 처리) 및 데이터 마이닝을 지원하는데 사용되는 도구를 포함한다. 데이터베이스 엔진 서비스와 Analysis Services 만 클러스터링 가능하다.


-       사용자가 관계형 데이터베이스와 같은 다른 데이터 원본으로부터 집계된 데이터를 포함하는 다차원 구조를 디자인, 생성 및 관리할 수 있도록 OLAP를 지원한다. 데이터 마이닝 응용프로그램의 경우 Analysis Services를 통해 사용자가 다양한 산업 표준 데이터 마이닝 알고리즘을 사용하여 다른 데이터 원본으로부터 생성되는 데이터 마이닝 모델을 디자인, 생성 및 시각화 할 수 있다.


(3)   Reporting Service

-       관계형 및 다차원 데이터 원본에서 보고하는 포괄적인 데이터를 제공하는 서버 기반 보고 플랫폼이다. Reporting Services에는 처리 구성 요소, 보고서를 만들고 관리하는데 사용할 수 있는 전체 도구 집합, 개발자가 데이터 및 보고서를 처리를 사용자 지정 응용 프로그램으로 통합하거나 확장할 수 있게 해주는 API 등이 포함되어 있다.


-       사용자가 보고서를 열 때 예약된 간격으로 또는 요청 시 데이터를 검색하는 대화형, 테이블 형식 또는 자유 형식 보고서를 만들 수 있다.

2.     공유 기능

: 각 공유 기능은 정의된 범위 내에 한번 설치되어 해당 범위 내에서 작동한다. 정의된 범위는 컴퓨터의 모든 SQL Server 버전을 포함하거나, 특정 주 버전의 SQL Server로 격리되거나 하나 이상의 부 버전으로 격리될 수 있다.


(1)   Reporting Service-SharePoint: 전자 메일, 여러 파일 형식 및 대화형 웹 기반 형식의 보고서를 작성, 관리 및 배달할 수 있는 서버 기반 응용 프로그램인 Reporting ServiceSharePoint 통합 모드에서는 보고서 서버를 SharePoint 제품과 통합한다. 보고서 보기와 보고서 관리가 SharePoint 사이트 및 라이브러리와 통합되며, Reporting Services를 클러스터링 할 수 없다.


(2)   SharePoint 제품용 Reporting Services 추가 기능: 관리 및 사용자 인터페이스 구성 요소를 포함하여 SharePoint 통합 모드에서는 SharePoint 제품을 SSRS 보고서 서버와 통합한다. 추가 기능은 SharePoint 제품을 실행하고 있는 서버에서만 설치 해야한다.


(3)   데이터 품질 클라이언트: 데이터 품질 클라이언트 개체를 포함한다.


(4)   클라이언트 도구 연결: 클라이언트와 서버 간 통신을 위한 구성 요소를 포함한다.


(5)   Integration Services: 데이터 저장소 간의 데이터를 이동, 통합 및 변환 할 수 있는 디자이너, 런타임 및 유틸리티를 포함한다.


(6)   클라이언트 도구 이전 버전과의 호환성: 클라이언트 도구 이전 버전과의 호환성


(7)   클라이언트 SDK: 프로그래머용 리소스가 들어 있는 소프트웨어 개발 키트를 포함한다.


(8)   설명서 구성요소: SQL Server 2016에 대한 설명서를 보고 관리하는데 사용하는 구성요소만 설치한다. 기본적으로 온라인 라이브러리를 사용하며, SQL Server 설치한 후 도움말 라이브러리 관리자 구성요소를 사용하여 로컬 컴퓨터로 설명서를 다운로드 할 수 있다.


(9)   Distributed Replay Controller:  SQL Server Distributed Replay Controller라는 Windows 서비스를 실행하는 컴퓨터. Distributed Replay Controller Distributed Replay Client의 동작을 조정한다.. Distributed Replay 환경에는 컨트롤러 인스턴스가 하나만 있을 수 있다.


(10)  Distributes Relay Client: SQL Server Distributed Replay Client라는 Windows 서비스를 실행하는 하나 이상의 컴퓨터(실제 또는 가상). Distributed Replay Client 인스턴스가 함께 작동하여 SQL Server 인스턴스에 대한 작업을 시뮬레이션 한다. Distributed Replay 환경에 하나 이상의 클라이언트가 있을 수 있다.


(11)  SQL 클라이언트 연결 SDK: 데이터베이스 응용 프로그램 개발을 위한 SQL Server Native Client (ODBC/OLE DB) SDK를 포함한다.

 

 

Distributed Replay의 이점

SQL Server 프로파일러와 마찬가지로 Distributed Replay를 사용하면 캡처된 추적을 업그레이드된 테스트 환경에 대해 재생할 수 있다. SQL Server 프로파일러와 달리 여러 컴퓨터에서 작업을 재생 할 수 있다. 또한, 프로파일러보다 확장성이 뛰어난 솔루션을 제공하고 여러 컴퓨터의 작업을 재생하고 중요한 작업을 효율적으로 시뮬레이션 가능하다.   참고: https://msdn.microsoft.com/ko-kr/library/ff878183(v=sql.120).aspx

 



 

3.     재배포 가능 기능

: 필요에 따라 오류 및 사용 보고, SQL Server Native Client, MSXML 버전 6.0, Sync Services for ADO.NET SQL Server Browser와 같은 재배포 가능 기능 및 공유 기능이 설치된다.

 

 


'일하면서 정리하기 > MSSQL' 카테고리의 다른 글

SQL Server Error Log 관리  (0) 2017.08.17
SQL Server Version List  (1) 2017.08.14
SQL Server 2016 설치(1)  (1) 2017.07.11
Chapter 08 Knowing Temp DB (1)  (0) 2017.07.10
SQL Server 버전 비교  (1) 2017.07.03

Raid 정리


è  여러 개의 하드 디스크에 데이터를 나눠서 저장하는 기술이며데이터를 나누는 레벨에 따른 저장 장치의 신뢰성을 높이거나 전체적인 성능 향상 등 목적에 따라 달라질 수 있다Raid는 여러 개의 디스크를 하나로 묶어 하나의 논리적인 디스크로 작동하게 된다


구분

Raid 0

Raid 1

Raid 3

Raid 4

Raid 5

Raid 6

Raid 7

구조

Striping

Mirroring

Parity

Parity

Parity

Parity

Parity

최소 디스크

2

2

4

4

3

4

5

데이터 보호

X

단일

드라이브

단일

드라이브

단일

드라이브

단일

드라이브

2

드라이브

2

드라이브

용량 활용

100%

50%

75%

75%

67%~94%

50%~88%

 

읽기 성능

High

High

 

 

High

High

Very High

쓰기 성능

High

Medium

 

 

Low

Low

High

용량 계산

디스크 수*용량

(디스크/2)* 용량

(디스크-1)*용량

(디스크-1)*용량

(디스크-1)*용량

(디스크-2)*용량

 


Raid Level별 장단점


1)     Raid 0

장점: 읽기/쓰기 성능 매우 빠르며, 데이터는 여러 개의 spindles로 스토리지에서 읽고 쓴다. 디스크를 추가할수록 성능이 향상될 수 있다.

단점: 드라이브 하나가 고장 나면 복구가 불가하다.

2)     Raid 1

장점: 드라이브를 미러링 하기 때문에, 고장이 나도 복구가 가능하다. 읽기 성능은 단일 드라이브의 읽기 성능과 동일하거나 더 좋다.

단점: 각 드라이브가 미러링 되기 때문에 전체 용량의 절반 가량 밖에 사용할 수 없고, 동일한 데이터를 2번 써야하기 때문에 쓰기 성능이 떨어질 수 있다.

3)     Raid 3

장점: 하나의 드라이브가 고장 나도 복구가 가능하다. 데이터가 바이트 단위로 모든 디스크에 균등하게 나누어 저장하기 때문에 순차적 쓰기 및 읽기 성능이 우수하다.

단점: 패리티를 저장하는 전용 디스크를 갖기 때문에, 해당 디스크가 고장 나면 다른 디스크 복구 필요 시 지원이 불가하다. 랜덤 쓰기 성능이 나쁘다.

4)     Raid 4

         장점: 하나의 드라이브가 고장 나도 복구가 가능하다. 모든 파일이 블록으로 나누어 여러 디스크에 저장하기 때문에 Block Read 성능이 우수하다.

단점: 쓰기 성능을 떨어진다.

 

Raid 0+1

1)     Raid 0: 디스크를 스트라이핑(Stiping) 방식으로 구성한다.

2)     Raid 1: Raid 0로 구성한 디스크 집합을 미러링으로 구성한다.


Raid 1+0

1)     Raid 1: 디스크를 미러링으로 구성한다.

Raid 0: 미러링 된 디스크를 스트라이핑으로 구성한다.




DB Server Setting


 구분

내용 

 용도

부하 테스트 

 OS 

Windows 2008 R2 Standard 

 DB 

SQL Server 2016 Standard 


| SQL Server 2016 설치

※설치 시 첨부된 파일 참고


- SQL Server Installation Center

1) SQL Server 2016 Standard Edition iso 파일을 마운트 한다.

2) [설치] 에서 새 SQL Server 독립 실행형 설치 또는 기존 설치에 기능 추가 를 선택한다.


- SQL Server Install Program

3) [제품 키] 탭에서 제품 키 입력 확인 후 [다음] 으로 이동한다.


4) [사용 조건] 탭에서 동의함(A) 체크 후 [다음] 으로 이동한다.


5) [Microsoft Update] 탭에서 업데이트 항목을 검사하나, 인터넷이 연결되지 않은 환경에서 선택하지 않는다.


6) [설치 파일 설치] 탭에서 [다음] 버튼이 활성화 되면 이동한다.


7) [설치 규칙] 탭에서는 규칙의 상태를 보여주며 성공/경고 외 실패 항목이 있으면 확인 후 수정하고 재진행 한다.

  특이 사항 없다면 [다음] 으로 이동한다.


8) [기능 선택] 탭에서 필요한 인스턴스 및 기능을 선택할 수 있다. 기본적으로 데이터 베이스 엔진 서비스를 선택하며, 추가로 Integration Service 를 선택했다.

※기능 선택 시 "SQL Server 2016 설치(2)- 기능 설명" 참고


9) [기능 규칙] 탭에서 규칙과 상태를 확인하고, 실패내역이 없다면 [다음] 을 눌러 이동한다.


10) [인스턴스 구성] 탭에서 SQL Server 인스턴스의 이름 및 인스턴스 ID를 지정할 수 있다. 신규 설치라면 기본 인스턴스를 선택한다.


11) [서버 구성] 탭에서 서비스 별 계정 및 시작 유형을 설정할 수 있다. SQL Server 에이전트가 Default로 "수동"으로 되어 있므로, "자동" 으로 바꿔준다.

또한, 2016 부터는 하단에 본륨 유지 관리 작업 수행 권한 부여를 체크 박스 형태로 제공하여 설치 후 별도의 설정을 하지 않아도 되므로 체크 해주도록 한다. [다음] 으로 이동한다.


12) [데이터베이스 엔진 구성] 탭에서 [서버구성] 에서는 인증 모드를 혼합 모드로 변경하고, 암호 입력란에 암호를 입력한다. 이는 sa 계정의 암호이며 설치 이후 변경 가능하나 가급적 설치 시 설정한다. 또한 하단의 "현재 사용자 추가" 버튼을 클릭하여 현재 Windows 사용자를 추가한다.

[데이터 디렉터리] 에서는 Data, Log, Backup 파일 경로 설정이 필요하다. 기본으로 C 드라이브로 설정되어 있으나, C 드라이브는 운영체제의 사용이 많기 때문에 보통 D 드라이브에 분리한다. 혹은 Data 파일은 D 드라이브, Log 파일은 E 드라이브로 분리하기도 한다.

[Temp DB] 에서는 Temp DB의 데이터 파일과 로그 파일을 분리하여 지정할 수 있다. 위에서 설정한 D\Data /  D\Log 와 동일한 경로로 지정해준다. Temp DB의 데이터 파일은 현재 시스템의 Core 수 만큼 생성한다.

 



'일하면서 정리하기 > MSSQL' 카테고리의 다른 글

SQL Server Error Log 관리  (0) 2017.08.17
SQL Server Version List  (1) 2017.08.14
SQL Server 2016 설치(2) - 기능 설명  (0) 2017.08.14
Chapter 08 Knowing Temp DB (1)  (0) 2017.07.10
SQL Server 버전 비교  (1) 2017.07.03

+ Recent posts