[MSSQL] 자동 백업 스케줄러 설정 (2) - SSMS 활용
·
DB/SQL Server (MSSQL)
SSMS를 활용하여 Maintenance Plan을 만들 때에는, 각 Task마다 스케줄링을 따로 적용하는 방법(서브플랜이 여러 개가 됨.)과 Task를 묶어서 한 스케줄링으로 설정하는 방법이 있다. 예를 들면 이런식이다. Daily로 데이터베이스의 Full백업 및 Transaction Log백업을 진행한다고 할 때, Full백업은 24시간마다 한번, Transaction Log백업은 6시간마다 진행한다고 가정하자. (24시간 지난 백업본은 삭제하도록 CleanUp Task도 지정하여야 한다.) 그렇다면 Maintenance Plan을 만드는 방법은 다음과 같이 두 가지 방법이 있을 것이다. 1) Full백업에 관한 Maintenance Plan 하나, Transaction Log백업에 관한 Mainte..
[MSSQL] 자동 백업 스케줄러 설정 (1) - Task Scheduler 활용
·
DB/SQL Server (MSSQL)
SQL Server는 크게 3가지 에디션으로 나뉜다. Standard, Enterprise, Express 인데, 이 중 Express 는 무료버전이며, 공짜여서 그런지(?) SSMS(SQL Server Management Studio)의 [Maintenance Plans] (유지 관리 계획) 을 활용하여 자동으로 백업 스케줄링 하는 기능을 사용할 수 없다. 그래서 이번 포스팅에서는 Express 에디션으로도 자동 백업 스케줄링을 할 수 있는 방법에 대해 알아보려고 한다! SQL Server Express 에디션에서 자동 백업 스케줄링 하는 방법은 크게 [SQL 쿼리 파일 생성] -> [sqlcmd로 해당 쿼리 파일 정상 작동 확인] -> [윈도우의 Task Scheduler 설정] 의 과정을 거친다. ..
[MSSQL] 인덱스 유지 및 관리, 최적화
·
DB/SQL Server (MSSQL)
본 포스팅에서는 쿼리 성능 향상 및 리소스 소비 감소를 위한 인덱스 최적화에 대해서 알아볼 것이다. DB에서 테이블에 인덱스를 생성하고 나면, 생성한다고 끝나는 것이 아닌, 주기적인 관리가 필요하며 이러한 관리가 제대로 되지 않으면 인덱스를 쓰지 않는것만도 못하게 된다. 따라서 어떤 식으로 관리해야 되는지에 대해 알아보자! 우선 인덱스 관리의 필요성을 알아보기 위해, 인덱스 조각화(Index Fragmentation)에 대해 알아보자! 인덱스 조각화(Index Fragmentation)란? : 디스크 상에 Page들이 연속적으로 위치해 있지 않고(서로 연관된 데이터들이 한 Extent로 묶이지 않는), 공간을 두고 떨어져 있는 현상을 말한다. 인덱스를 처음 생성했을 때에는 연속해서 서로 연관된 데이터들끼..
[MSSQL] 통계(Statistics) (2) - CREATE, UPDATE 시기 및 통계의 효율적 활용
·
DB/SQL Server (MSSQL)
본 포스팅에서는 지난 '[MSSQL] 통계(Statistics) (1)' 포스팅에 이어, MSSQL의 통계에 더 알아볼텐데, Optimizer의 CREATE 및 UPDATE의 시기 설정과 통계를 효율적으로 사용하기 위해 쿼리를 어떤 식으로 작성해야 하는지에 대해 알아볼 것이다. 언제 CREATE STATISTICS 해야 하는가? 먼저 통계가 쿼리 옵티마이저에 의해 자동으로 생성되는 두 가지 경우를 살펴보자. 인덱스가 생성되면, 쿼리 옵티마이저는 테이블 또는 뷰(View)의 인덱스에 대한 통계를 생성. 이때 통계는 인덱스 키 Column에 대해 만들어지며, 필터링된 인덱스(특정 조건에 맞는 데이터에 대해서만 인덱스를 생성한 것)의 경우, 필터링된 인덱스로 지정된 Row의 동일한 Subset에 대해 필터링된..
[MSSQL] LSN을 활용하여 특정 시점으로 데이터 복원하기
·
DB/SQL Server (MSSQL)
지난 포스팅에서 MSSQL에서의 백업의 종류에 대해서 알아봤다! MSSQL에서 백업은 Full 백업, Differential 백업, Transaction Log 백업으로 총 3가지를 지원하는 것을 알았다. 백업의 종류에 관한 내용은 아래 링크를 참고하면 된다. https://co-no.tistory.com/5 [MSSQL] 백업 종류 - Full / Differential / Transaction SQL Server에서의 백업 종류 3가지를 알기 전에, 먼저 MSSQL에서 데이터가 어떤 식으로 저장되는지부터 알아야 할 필요가 있다. MSSQSL은 3가지의 파일형식으로 데이터를 저장한다. 각각 MDF, NDF, LDF 라 co-no.tistory.com 이번 포스팅에서는 백업을 진행하여 생성된 백업 데이터..
[MSSQL] 통계(Statistics) (1) - 정의, 히스토그램, 밀도벡터, 통계옵션
·
DB/SQL Server (MSSQL)
SQL Server라는 DBMS에 대하여 배우려고 왔는데, 갑자기 '통계'라는 내용이 나와서 당황스러울 것이다. 여기서 말하는 '통계'란 교육과정에서 배웠던 따분했던 '확률과 통계'와 같은 내용은 아니니, 안심하길 바란다! 그렇다면 MSSQL에서 말하는 통계란 무엇인지 살펴보자! SQL Server의 통계(Statistics)란? 테이블 또는 인덱스 뷰에서 하나 이상의 컬럼 값들의 분포에 대한 통계 정보를 포함하는 BLOB(Binary Large Objects) 이다. Query Optimizer가 이러한 통계 정보를 활용하여, 쿼리결과의 *카디널리티, 행(Row)의 개수 등을 예측하고, 최적의 Query Plan을 작성한다. => 이러한 *카디널리티 예측치를 활용하여 Query Optimizer가 리소..