SQL Server 123

SQL Server 2016 향상된 복제 기능 – 배포 데이터베이스 클린업 향상

SQL Server 2016 향상된 복제 기능 – 배포 데이터베이스 클린업 향상 · Version : SQL Server 2016 SP2, 2012 SP4 이후 SQL Server 2016 SP2 에서 복제 기능 향상으로 배포 데이터베이스를 클린업 할때 사용자가 일괄 삭제에 대한 입력 값을 정의할 수 있으며 대량 삭제 작업시 시스템이 자동으로 삭제 비율을 조정 할 수 있도록 변경되었다. 복제의 배포 데이터베이스는 전체 복제 토폴로지에서 매우 중요한 구성요소이다. 트랜잭션 복제의 경우 배포 에이전트는 복제 에이전트에 대한 복제 메타 데이터와 기록을 저장하는 것 외에도 구독자에게 전달 될 트랜잭션과 명령에 대한 중간 저장소를 제공한다. 이러한 트랜잭션과 명령은 MSRepl_Transactions및 MSRep..

SQL Server 2017향상된 복제 기능 – 배포 데이터베이스의 AG 지원

SQL Server 2017향상된 복제 기능 – 배포 데이터베이스의 AG 지원 · Version : SQL Server 2017 CU6 SQL Server 2017 CU6부터 SQL Server 복제 기능 향상으로 배포 데이터베이스가 가용성 그룹(AG)에 포함이 가능하게 되었다. 이 개선 사항은 향후 SQL Server 2016 및 2014에도 적용될 예정이다. SQL Server는 가용성 그룹(AG)를 사용하여 SQL Server 인스턴스간에 데이터베이스 그룹에 대한 실시간 데이터 복제 기능을 제공한다. 가용성 그룹은 복제할 모든 데이터베이스가 하나의 가용성 단위로 포함되어 동작한다. AG 페일오버가 발생해도 SQL Server는 복제가 정상적으로 작동한다. 복제 게시 및 구독 데이터베이스는 가용성 그..

SQL Server 2017 향상된 복제 기능 - 복제에이전트 프로필 매개변수의 동적 새로 고침

SQL Server 2017 향상된 복제 기능 - 복제에이전트 프로필 매개변수의 동적 새로 고침 · Version : SQL 2017 SQL Server 2017 CU3부터 SQL Server 복제 기능 향상으로 에이전트를 다시 시작하지 않고도 복제 에이전트 매개 변수의 변경 내용을 동적으로 다시 로드할 수 있다. 이 개선 사항은 향후 SQL Server 2016 및 2014에도 적용될 예정이다. 복제는 에이전트 추적이라는 몇 가지 독립실행형 프로그램을 사용하여 변경 내용을 추적 및 데이터 배포와 관련된 작업을 수행 한다. 예를 들어 트랜잭션 복제와 함께 사용되는 로그 판독기 에이전트는 게시자의 트랜잭션 로그에서 복제용으로 표시된 트랜잭션을 배포 데이터베이스로 이동한다. 트랜젝션 복제를 사용하여 게시된 ..

MSSQL-CLI를 활용한 크로스플랫폼에서 SQL Server 관리하기

MSSQL-CLI를 활용한 크로스플랫폼에서 SQL Server 관리하기 - 다양한 플랫폼에서 SQL Server 명령을 사용 l Version : All Verison Microsoft는 SQL Server와 상호작용할 수 있는 크로스플랫폼 명령줄 도구인 MSSQ-CLI를 출시하였다. 이번 포스트에서는 MSSQL-CLI 설치 및 기능에 대해서 살펴본다. MSSQL-CLI는 새로 도입된 대화형 명령줄 도구로 SQL Server 데이터베이스에서 사용하는 많은 기능의 쿼리를 실행한다. 또한 MSSQL-CLI는다양한 플랫폼에서 작동하는 오픈소스 도구이다. MSSQL-CLI는 Python으로 작성되었으며 command line interface 프로젝트인 pgcli와 mycli 기반으로 한다. MSSQL-CLI ..

SSMS – Search for execution plan

SSMS – Search for execution plan - 실행계획에서 검색 기능을 활용하여 원하는 항목 찾기 · Version : SSMS 17.2 later SQL Server에서 실행계획은 쿼리를 튜닝할때 참고해야하는 매우 중요한 정보이다. 복잡한 쿼리의 경우 실행계획도 매우 복잡하게 표현되어 원하는 부분을 빠르게 찾아서 보기 힘든경우가 많다. SSMS 17.2 이전 버전에서는 실행계획을 XML 형식으로 표시한 다음 검색 기능을 활용하여 원하는 항목을 찾아 볼 수 있었다. 하지만 이 방법은 매우 직관적이지 않으며 복잡한 경우 다시 그래픽 환경의 실행계획을 참고하며 보아야하는 불편함이 있었다. SSMS 17.2 이후 버전에서는 그래픽 실행계획에서 마우스 오른쪽 버튼을 클릭하여 나타난 팝업 메뉴에서..

SQL Server Parallelism and Wait change (CXAPCKET, CXCONSUMER)

SQL Server Parallelism and Wait change (CXAPCKET, CXCONSUMER) - 병렬처리에 발생하는 대기 종류 변경 · Version : SQL Server 2016 SP2 later, SQL Server 2017 CU3, Azure SQL SQL Server에서 CPU를 두개 이상 사용하는 컴퓨터에서는 운영체제의 다중 스레드로 쿼리나 인덱스 작업을 병렬로 수행하여 빠르고 효율적으로 요청 작업을 완료할 수 있다. 쿼리가 병렬로 실행될때 가장 이상적인 동작은 모든 작업이 생산자 스레드에 균등하게 분산되어 모두 같은 시간에 작업이 끝나서 결과를 소비자 스레드로 넘기는 것이다. 이때 모든 생성자가 완료되기를 기다리는동안 CXPACKET 대기(이때 발생하는 대기는 정상이다.)가..

SQL Server Statistics Update row sampling rate and histogram step

SQL Server Statistics Update row sampling rate and histogram step - 통계 업데이트 행 샘플링 비율과 히스토그램 단계 · Version : SQL Server SQL Server에서 통계(statistics)정보는 데이터를 조회할때 검색 조건에 따라 옵티마이저가 해당 컬럼으로 구성되는 인덱스를 사용할지 여부를 결정하는 중요한 참고 정보이다. 통계는 데이터가 있는 컬럼에 대해 인덱스가 만들어질 때 이 컬럼값의 히스토그램 및 관련정보를 이용해서 만들어 진다. · SQL Server Statistics : http://sqlmvp.kr/140165557766 통계에 대한 샘플링 비율이 높을 수록 통계 정보의 신뢰도는 높아진다. 그렇다면 통계에 대한 행 샘플링..

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 교착 상태를 모니터링 할 경우 오버헤드가 추가되어 잠금 모니터 속도가 느려지고 더 긴 블록킹 시나리오가 발생할 수도 있다. 그래서 이러한 오버헤드를 줄이기 위해 교착 상태를 ..