SQL Server 818

SSMS – AlwaysOn Group Latency report

SSMS – AlwaysOn Group Latency report · Version : SQL Server 2014 SP2 later, SSMS 17.4 later SQL Server에서 AlwaysOn가용성에 대한 Latency 분석을 하려면 XEvent(확장이벤트) 및 Performance Counter(성능 모니터)를 사용하여 데이터를 캡처하고 분석하는 과정이 필요했다. 이러한 작업은 설정에 많은 시간이 소요되었을 뿐만 아니라 XEvent에 대한 광범위한 지식이 필요하였다. SQL Server의 관리도구인 SQL Server Management Studio (SSMS) 17.4 버전 부터는AlwaysOn 가용성 그룹에 대한 Latency 대시보드 기능이 추가되었다. 이 대시보드에서는 데이터베이스 관..

SQL Server 백업 압축의 압축률 확인

SQL Server 백업 압축의 압축률 확인 · Version : SQL Server 2008 later SQL Server의 백업 압축은 SQL Server 2008부터 지원되며 압축된 백업은 동일한 데이터의 압축되지 않는 백업보다 작으므로 일반적으로 I/O에 대한 비용이 절약되며 백업속도가 크게 향상된다. 하지만 압축을 하기 위한 추가 연산으로 약간의 CPU 오버헤드가 발생한다. 하지만 시스템 중에 가장 느린 부분은 디스크 이므로 CPU의 오버헤드를 감안하여도 충분히 이점이 있는 작업이다. 백업 압축 알고리즘은 사전 할당 알고리즘을 사용하여 실제 백업이 완료 되기 전까지 파일의 크기를 알수 없다. · 백업 압축과 추적플래그 3042 : http://sqlmvp.kr/220356963341 단, 인덱스..

SQL Server 교착 상태 모니터링 (-T1222)

SQL Server 교착 상태 모니터링 (-T1222) · Version : SQL Server SQL Server에서 추적 플래그 –T1222를 사용하면 오류 로그에 XML 스키카 형식(XSD) 를 따르지 않는 XML 형식으로 교착 상태 정보가 기록된다. XML형식에는 3가지 주요 섹션이 있다. · 첫번째 섹션은 교착 상태의 희생자를 선언한다. · 두번째 섹션은 교착 상태와 관련된 각 프로세스에 대해 설명 한다. · 세번째 섹션은 리소스를 설명 한다. · 교착 상태 모니터링 : http://sqlmvp.kr/140164120810 교착 상태를 모니터링 할 경우 오버헤드가 추가되어 잠금 모니터 속도가 느려지고 더 긴 블록킹 시나리오가 발생할 수도 있다. 그래서 이러한 오버헤드를 줄이기 위해 교착 상태를 ..

SQL Operations Studio - Linux, MAC에서 사용할 수 있는 SQL DBMS 툴

SQL Operations Studio - Linux, MAC에서 사용할 수 있는 SQL DBMS 툴 · Version : Preview SQL Server를 관리하기 위한 Microsoft 툴은SQL Server Management Studio(SSMS)가 있다. 이 툴은 Windows 환경에서 실행되며 막강한 기능을 가지고 있다. 아마 SQL Server를 운영하는 대부분의 관리자는 타 DBMS를 운영하는 관리자와는 달리 서드파티의 툴을 사용하지 않고 대부분 SSMS를 사용하고 있을 것이다. 그만큼 SSMS의 기능은 엄청나다. 최근 Microsoft가 오픈소스 친화적인 정책을 지향하면서 다양한 툴들이 Linux 또는 Windows가 아닌 운영체제에서 실행될 수 있게 되었다. 그 중 대표적인 툴이 Vi..

SQL Server 2016 Large RAM 및 Checkpoint

SQL Server 2016 Large RAM 및 Checkpoint · Version : SQL Server 2016, 2014, 2012 SQL Server의 Checkpoint는 현재 데이터베이스의 buffer pool에 있는 커밋되지 않는 데이터 페이지를 디스크로 플러시하는 작업이다. 하드웨어 사양이 고급화 되면서 수 TB이상의 메모리를 사용하는 경우가 늘어나고 있는데, 많은 양의 메모리가 버퍼캐시로 할당되어 실행될 때 SQL Server에서 발생할 수 있는 DB 체크포인트와 관련한 내용에 대해서 알아본다. 이 포스트는 CSS SQL Server Engineers 내용을 정리한것으로 자세한 내용은 원문을 참고하길 바란다. · SQL Server : large RAM and DB Checkpoint..

SQL Server 2016 JSON 형식을 일반 ROW 형식으로 반환하기

SQL Server 2016 JSON 형식을 일반 ROW 형식으로 반환하기 · Version : SQL Server 2016 SQL Server 2016 부터 지원되는 JSON 형식은 쿼리 결과를 JSON 형식으로 반환 할 수 있으며 JSON 형식의 데이터를 일반 ROW로 데이터를 반환할 수도 있다. 이번 포스트에서는 JSON 형식의 데이터를 일반 ROW형식으로 반환하는 방법에 대해서 알아본다. JSON 형식의 텍스트를 구문 분석하여 일반 ROW 형식으로 데이터를 반환하는 함수는 OPENJSON 이다. OPENJSON 함수를 사용하여 JSON 컬렉션을 행 집합으로 변환한 후 데이터에 대해서 SQL 쿼리를 실행하거나 SQL Server 테이블에 삽입할 수 있다. OPEN JSON 함수는 단일 JSON 개체..

model Database 손상시 발생하는 영향 및 복구 방법

model Database 손상시 발생하는 영향 및 복구 방법 · Version : SQL Server SQL Server에서 사용되는 system database에는 master, model, msdb, temp 4가지가 있다. master 경우 SQL Server에 대한 속성 정보를 가지고 있기 때문에 중요성에 대해서 많은 사람들이 인지하고 있다. 이번 시간에는 model 데이터베이스의 중요성에 대해서 알아보고 model 데이터베이스가 손상되었을때 어떤 영향이 있는지, 그리고 복구 방법에 대해서 알아본다. model 데이터베이스는 SQL Server 인스턴스에서 생성된 모든 사용자 데이터베이스의 템플릿으로 사용된다. 새로운 데이터베이스를 생성하면 데이터베이스 옵션을 포함하여 model 데이터베이스 전..

In-Memory OLTP 사용시 메모리 할당량 초과 오류

In-Memory OLTP 사용시 메모리 할당량 초과 오류 · Version : SQL Server 2014, 2016 SQL Server 에서 In-Memory OLTP를 사용하는 환경에서 아래와 같은 오류가 에러로그에 기록되어 있다면 현재 적용되어 있는 In-Memory 용량을 초과한 것이다. [INFO] HkDatabaseTryAcquireUserMemory(): Database ID: [7]. Out of user memory quota: requested = 131200; available = 74641; quota = 34359738368; operation = 1. 오류 로그에 기록된 내용은 아래와 같다.· requested = 131200 : 요청된 바이트 수· available = 746..

SQL Server 2016 쿼리 실행에 대한 각 스레드(오퍼레이터) 성능 통계

SQL Server 2016 쿼리 실행에 대한 각 스레드(오퍼레이터) 성능 통계 · Version : SQL Server 2014 SP2, 2016 SQL Server 2016에서 쿼리 성능 문제를 해결할 때 참고 할 수 있는 몇 가지 정보가 추가 되었다. 그 중 대표적인 것이 라이브 쿼리 통계 이다.· SQL Server 2016 라이브 쿼리 통계 : http://sqlmvp.kr/220453033961 하지만 아직도 많은 쿼리 성능 문제를 해결하기 위한 메트릭은 부족한 편이다. 이번에 소개하는 기능은 showplan XML을 활성화하고 쿼리를 실행하였을때 각 스레드(오퍼레이터)에서 실행한 결과를 확인할 수 있는 기능이다. 예를 들어 SQL Server2014까지는 쿼리 실행결과 행결과를 반환하지만 스..

Multisubnet환경의 AG 그룹에서 링크드 서버 사용시 주의점

Multisubnet환경의 AG 그룹에서 링크드 서버 사용시 주의점 · Version : SQL Server 2012, 2014, 2016 SQL Server 2012부터 도입된 가용성 그룹(AG)은 SQL Server에서 제공할 수 있는 최고의 가용성을 보장하지만 구성이 까다로울 수 있다. 특히 다중 서브넷 환경에서 장애 조치를 구성하는 경우 예상치 못한 문제를 많이 겪을 수 있다. 필자 또한 단일 서브넷에서의 AG 경험은 있었지만 다중 서브넷 환경에서 구성 및 운영은 처음이어서 (Cloud VM으로 다중 서브넷(Multi Region구성) 다양한 이슈를 겪고 있다.(기술적 이슈는 아님) 이번 이슈는 Multisubnet AG구성을 구성한 환경에서 링크드 서버를 구성할때, Native Client를 사..