Database 24

MSSQL Msg 22050 오류

Msg 22050, Level 16, State 1, Line 0 Failed to initialize sqlcmd library with error number -2147467259 메세지 22050, 수준 16, 상태1, 줄 0 -2147467259 오류로 인해 sqlcmd 라이브러리를 초기화하지 못했습니다. msdb.dbo.sp_sendmail sp 실행 시 @query 실행 시 변수가 포함된 dynamic 쿼리가 실행 되서 발생한 에러 였음. ex) SET @query = 'select @date as date, id from table' 실제 Trace를 실행하면 msdb.dbo.sp_sendmail 실행 시 @query 부분과 sp_sendmail이 다른 SPID로 실행되는 것을 확인할 수 있..

Database/MSSQL 2019.05.02

Index Fragmentation

아래 내역은 Pro SQL Server Internals 의 내용과 google 검색 이미지를 추가, 편집한 내용입니다. What's the Index Fragmentation? 인덱스 정보가 조각화 되어 Key 값을 기준으로 인덱스의 논리적 페이지 순서가 데이터 파일 내의 물리적 순서와 일치 하지 않음 심하게 조각화된 인덱스는 Query 성능을 저하시키고 Application 응답을 늦출 수 있음 Type of Fragmentation Internal Fragmentation : Data pages in the index have an excessive amount of free space. 실제 사용량 보다 더 많은 공간이 할당 되었을 경우 It increases number of logical re..

Database/MSSQL 2019.04.12

Plan Cache

Query Optimization 는 CPU load를 일으킬 수 있는 리소스에 영향을 많이 받는 프로세스 Caching Plan으로 이 영향을 줄일 수 있음 Compiled plan : 전체 배치와 배치의 각 statement에 대한 plan Execution plan : Query 가 실행될 때마다 Compiled Plan으로 부터 생성 * Execution plan은 runtime마다 실행되기 때문에 각 query 실행 마다 다르다. 만약 여러 개의 세션을 같은 compiled plan으로 실행한다면 세션마다 각각 execution plan이 생성된다. Plan Chache는 memory를 사용하기 때문에 buffer pool 사이즈를 줄일 수 있다. 다시말하면 physical read 가 늘어나서..

Database/MSSQL 2019.03.28

MySQL 백업, 복원 비교 (xtrabackup/mysqldump)

MySQL 백업/복원 방식특징장점/단점 핫 백업 (Hot Backup/Open Backup) DB 서버를 온라인 상태로 유지한 채 데이터 백업 - 데이터베이스 서버를 중지하지 않고 백업 가능 - 트랜잭션, 스냅샷, 로그 등을 이용하여 실시간 백업 - Archive Log 모드에서만 백업을 수행할 수 있음 - 디스크 용량이 추가로 요구될 수 있음 - 핫 백업 도구를 사용할 때의 비용이 발생할 수 있음 콜드 백업 (Cold Backup/Close Backup) DB 서버를 중지한 후 데이터 백업 - 쉬운 백업이 가능함 - 데이터 백업을 요청한 시기 이후의 데이터는 백업할 수 없음 (따라서 일부 데이터 손실이 발생할 수 있음) 논리 백업 (Logical Backup) 각 오브젝트를 SQL문 등으로 저장 - 데..