분류 전체보기 1385

XEvent를 사용하여 Auto tuning 작업 모니터링

XEvent를 사용하여 Auto tuning 작업 모니터링 · Version : SQL Server 2017 SQL Server 2017 부터 Auto tuning 기능이 도입되어 사용자 쿼리에 대해 SQL plan change regression방식으로 쿼리의 플랜이 변경되었을때 변경 사항을 감지하고 더 나은 플랜을 사용하도록 자동 조정한다. SQL Server는 각 쿼리에 대해 마지막으로 성공한 플랜을 추적하고 기존의 플랜과 비교하여 마지막 실행 플랜이 더 좋다고 판단되는 경우 강제로 마지막 플랜으로 변경 한다. 이번 포스트에서는 XEvent를 활용하여 Auto tuning이 적용되어 강제로 플랜이 변경 되었을때 추적하는 방법에 대해서 알아본다. Automatic tuning process는 변경된 ..

SQL Server In-Memory OLTP에 ASP.NET 세션 상태 저장하기

SQL Server In-Memory OLTP에 ASP.NET 세션 상태 저장하기 · Version : SQL Server, ASP.NET SQL Server In-Memory OLTP에 ASP.NET의 세션 상태를 저장하는 방법에 대해서 알아본다. ASP.NET 에서 세션 상태를 사용하면 사용자가 웹 응용 프로그램을 구성하는 다른 ASP.NET 페이지를 탐색할때, 사용자 값을 저장하고 검색할 수 있다. 현재 ASP.NET에는 Microsoft ASP.NET 세션 상태 모듈과 세션 상태 데이터 원본 간의 인터페이스를 제공하는 세 가지 세션 공급자가 있다. · InProcSesstionStateStore : ASP.NET 작업자 프로세스의 메모리에서 세션 상태를 저장 · OutOfProcSesstionSa..

SQL Server에서 JSON 데이터 저장하기

SQL Server에서 JSON 데이터 저장하기 · Version : SQL Server, Azure SQL SQL Server 및 Azure SQL에는 표준 SQL 언어를 사용하여 JSON 데이터에 대한 구문을 분석할 수 있는 네이티브 JSON 함수가 있다. 그래서 SQL Server에 JSON 데이터를 저장하고 NoSQL 데이터베이스와 동일하게 JSON 데이터를 쿼리할 수 있다. 이번 포스트에서는 SQL Server에 JSON 데이터를 저장하는 옵션에 대해서 알아본다. SQL Server에 JSON 데이터를 저장하는 가장 간단한 방법은 고유한 키값과 데이터를 저장하는 2개의 컬럼을 가진 간단한 테이블을 생성하여 사용하는 것이다. create table WebSite.Logs ( _id bigint p..

Azure SQL에서 네트워크를 구성하는 방법

Azure SQL에서 네트워크를 구성하는 방법 · Version : Azure SQL Azure SQL Managed Instance는 Azure 클라우드에서 호스팅되고 Azure 가상 네트워크를 사용하는 완전히 관리되는 SQL Server 인스턴스이다. Managed Instance는 가상 네트워크를 사용하기 때문에 Azure 관리 서비스에서 사용자가 네트워크 액세스 규칙을 정의할 수 있다. 잘못된 네트워크 구성은 Managed Instance를 배포할때 오류가 발생하므로 아래 순서에 따라서 네트워크 환경을 구성하여 사용한다. 일반적으로 인스턴스용 가상 네트워크를 구성할 때 기본 5가지 단계로 정리할 수 있다. 1. Managed Instance가 사용할 가상 네트워크를 구성 2. Managed Ins..

SQL Server 네이티브 컴파일된 저장 프로시저 성능 모니터링

SQL Server 네이티브 컴파일된 저장 프로시저 성능 모니터링 · Version : SQL Server, Azure SQL SQL Server 및 Azure SQL에서 네이티브 컴파일된 저장 프로시저에 대한 성능 모니터링 옵션이 추가되었다. 이 옵션은 Azure SQL 및 SQL Server에서 사용할 수 있다. 새로 추가된 모니터링 옵션은 XTP_PROCEDURE_EXECUTION_STATISTICS 및 XTP_QUERY_EXECUTION_STATISTICS으로 In-Memory OLTP를 사용하는 데이터베이스의 네이티브 컴파일된 프로시저에 대한 모니터링 및 문제 해결에 대한 정보를 제공한다. 이 옵션을 활성화 하여 Query Store와 sys.dm_exec_query_stats및 sys.dm_e..

SQL Server 2017 소규모 시스템에서 향상된 리소스 사용

SQL Server 2017 소규모 시스템에서 향상된 리소스 사용 · Version : SQL Server 2017 CU4 SQL Server는 소규모 컴퓨터에서 엔터프라이즈 서버까지 확장 할 수 있도록 설계된 데이터베이스이다. 일반적으로 데이터베이스는 많은 자원을 필요로 한다. 특히 CPU 및 메모리는 데이터베이스의 성능에 매우 중요한 요소이다. (물론 디스크 성능도 중요하다.) SQL Server 2017 CU4에서는 작은 메모리(2GB)에서도 SQL Server 성능이 향상될 수 있도록 개선 되었다. · Improvement: Improves the performance of SQL Server 2017 on smaller systems : https://support.microsoft.com/en..

클러스터 컬럼스토어 인덱스(Clusterd Columnstore Index)에서 대량 인서트 작업시 발생하는 래치 경합 최소화 트릭

클러스터 컬럼스토어 인덱스(Clusterd Columnstore Index)에서 대량 인서트 작업시 발생하는 래치 경합 최소화 트릭 · Version : SQL Server Clustered Columnstore Index(CCI)에서 데이터를 로드 하는 일반적인 시나리오는 오버헤드가 적은 시간 (일반적으로 야간 시간)을 활용해서 수백만개의 행이 포함된 데이터 파일을 로드하는 것이다. 권장 되는 배치 사이즈는 batchsize >= 102400으로 데이터를 로드 하는것이다. 배치 사이즈에 대한 내용은 아래 링크를 참고 한다. · 컬럼스토어 인덱스 대용량 데이터 로드 : http://sqlmvp.kr/220135847446 CCI는 동시 데이터 스트림을 동일한 델타 행 그룹으로 허용한다. 그러나 동시성을 ..

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에도 적용될 예정이다. 복제는 에이전트 추적이라는 몇 가지 독립실행형 프로그램을 사용하여 변경 내용을 추적 및 데이터 배포와 관련된 작업을 수행 한다. 예를 들어 트랜잭션 복제와 함께 사용되는 로그 판독기 에이전트는 게시자의 트랜잭션 로그에서 복제용으로 표시된 트랜잭션을 배포 데이터베이스로 이동한다. 트랜젝션 복제를 사용하여 게시된 ..