SQL Server/SQL Server Tip 662

Event Session을 이용한 Session Health check

Event Session을 이용한 Session Health check - Version : SQL Server 2012 SQL Server 2012에서는 이벤트를 사용하여 SQL Server의 세션 상태를 확인 할 수 있다. 다음 스크립트를 사용하여 이벤트 정보를 확인한다. SET NOCOUNT ON -- Fetch data for only SQL Server 2012 instances IF (SUBSTRING(CAST(SERVERPROPERTY ('ProductVersion') AS varchar(50)),1,CHARINDEX('.',CAST(SERVERPROPERTY ('ProductVersion') AS varchar(50)))-1) >= 11) BEGIN -- Get UTC time differ..

SQL Server 2012 XML 플랜을 통한 병렬화 되지 않는 이유 살펴보기

SQL Server 2012 XML 플랜을 통한 병렬화 되지 않는 이유 살펴보기 - Version : SQL Server 2012 SQL Server는 2개 이상의 코어를 사용할 때에는 필요에 따라 병렬처리를 통하여 성능을 높인다. 간혹 병렬 처리가 가능한데도 병렬처리가 되지 않았을 때 그 이유를 알기 위해선 다양한 기술적인 지식과 노력이 필요했다. 이번 포스트는 CSS SQL Server Engineer 팀블로그에 게제된 내용으로 필자가 읽고 이해한 내용을 정리하였으며 번역의 오류나 기술적 오류 가능성이 있음을 미리 알려둔다. SQL Server 2012 부터는 XML 플랜에 계획하지 않거나 병렬화 할 수 없는 이유가 포함되도록 설계되었다. SQL Server 2012의 XML 플랜에서 "Query P..

Event Session을 이용한 SQL OS Session Schedule check

Event Session을 이용한 SQL OS Session Schedule check - Version : SQL Server 2012 SQL Server 2012에서 이벤트를 사용하여 SQL Server의 SQL OS Schedule 상태에 대한 정보를 확인하여보자. 다음 스크립트를 사용하여 이벤트 정보를 확인한다. 이벤트는 QUERY_PROCESSING 정보이다. SET NOCOUNT ON -- Fetch data for only SQL Server 2012 instances IF (SUBSTRING(CAST(SERVERPROPERTY ('ProductVersion') AS varchar(50)),1,CHARINDEX('.',CAST(SERVERPROPERTY ('ProductVersion') AS..

Event Session을 이용한 Memory Health check

Event Session을 이용한 Memory Health check - Version : SQL Server 2012 SQL Server 2012에서 이벤트를 사용하여 SQL Server의 Memory 사용률에 대한 정보를 확인하여보자. 다음 스크립트를 사용하여 이벤트 정보를 확인한다. SET NOCOUNT ON IF (SUBSTRING(CAST(SERVERPROPERTY ('ProductVersion') AS varchar(50)),1,CHARINDEX('.',CAST(SERVERPROPERTY ('ProductVersion') AS varchar(50)))-1) >= 11) BEGIN -- Get UTC time difference for reporting event times local to se..

Event Session을 이용한 CPU Health check

Event Session을 이용한 CPU Health check - Version : SQL Server 2012 SQL Server 2012에서는 이벤트를 사용하여 SQL Server 프로세스의 CPU 사용률과 시스템의 CPU 사용률에 대한 분단위의 정보를 얻을 수 있다. 또한 SQL Server에서 프로세스의 (소프트 및 하드)페이지 폴트 발생과 인스턴스 메모리의 사용량 변화, locked page 및 large page 할당 값을 얻을 수 있다. 다음 스크립트를 사용하여 이벤트 정보를 확인한다. SET NOCOUNT ON IF (SUBSTRING(CAST(SERVERPROPERTY ('ProductVersion') AS varchar(50)),1,CHARINDEX('.',CAST(SERVERPROP..

DMV를 이용한 I/O Health check

DMV를 이용한 I/O Health check - Version : SQL Server 2012 SQL Server를 운영할 때 디스크의 I/O는 DB의 성능과 매우 밀접한 관련이 있다. SQL Server 2012에서 I/O와 관련 래치 대기 시간 지속 시간 등을 sp_server_diagnostics 값을 이용하여 지속적인 I/O 자료를 수집하여 분석함으로써 SQL Server I/O 서브시스템의 상태를 확인 할 수 있다. 다음 스크립트는 DMV를 이용하여 성능을 수집한다. SET NOCOUNT ON -- Fetch data for only SQL Server 2012 instances IF (SUBSTRING(CAST(SERVERPROPERTY ('ProductVersion') AS varchar(..

CONCAT 함수 (문자열 연결하기)와 주의 사항

CONCAT 함수 (문자열 연결하기)와 주의 사항 - Version : SQL Server 2012 SQL Server 2012부터 도입된 CONCAT 함수는 둘 이상의 문자열 값을 연결한 결과를 반환하는 기능을 한다. CONCAT 함수는 다양한 개수의 문자열 인수를 가져와 단일 문자열로 연결한다. 최소 두 개의 입력 값이 필요하며 그렇지 않은 경우 오류가 발생 한다. 모든 인수는 문자열 형식의 암시적으로 변환된 다음 연결 된다. NULL 값은 암시적으로 빈 문자열로 변환되며 모든 문자가 NULL인 경우 varchar(1)형식의 빈 문자열로 반환된다. 변환 형식은 인수의 형식에 따라 달라진다. 인수가 nvarchar

SQL Server 2012 Columnstore Index

SQL Server 2012 Columnstore Index - Version : SQL Server 2012 SQL Server 2012 부터는 데이터베이스 테이블에 columnsotre 인덱스를 정의 할 수 있다. 클러스터형 인덱스와 비클러스터형의 rowstore(columnar) 인덱스 저장 데이터를 기존의 B-tree 구조와 달리 column-wise(in row) 형식으로 columnstore 인덱스를 저장한다. Columnstore 인덱스는 인덱스를 형성하기 위해 여러 열이 함께 결합되어 구성된다. 이 구조는 많은 양의 데이터를 요약하여 쿼리 할 때 상당한 성능 향상을 제공한다. 일반적으로 BI 및 DW 환경에서 많이 사용된다. [columnstore 구조] Columnstore 인덱스는 xV..

SQL Server 2012 File Stream / Table 관련 DMV

SQL Server 2012 File Stream / Table 관련 DMV - Version : SQLServer 2012 DMV는 SQL Server의 다양한 정보를 확인 할 수 있는 동적관리 뷰 이다. 파일스트림은 SQL Server 2012에 도입된 새로운 기능으로 SQLServer 기반의 응용 프로그램에서 문서 및 이미지와 같은 구조화 되지 않은 데이터파일을 시스템에 저장할 수 있는 기능이다. 응용 프로그램은 풍부한 스트리밍 API및 파일 시스템의 성능을 활용할 수 있고 동시에 구조화되지 않은 데이터와 해당되는 구조화된 데이터 간에 트랜잭션 일관성을 유지할 수있다. 파일스트림에 대한 자세한 내용은 다음 링크를 참고 한다 파일스트림 : http://msdn.microsoft.com/ko-kr/li..

SQL Server2012 DMV – 메모리 덤프, 서비스, 구성 확인

SQL Server2012 DMV – 메모리 덤프, 서비스, 구성 확인 - Version : SQL Server 2008 SP1, SQL Server 2008R2, SQL Server 2012 SQL Server 2005 부터 추가된 DMV는 SQL Server의 다양한 정보를 제공한다. 버전이 올라 갈수록 새로운 DMV가 제공되고 있으며 이번 시간에는 SQL Server 2012에서 새롭게 추가된 DMV를 이용하요 메모리덤프, 구성 등의 정보를 확인해 보자. SQL Server 2008의 경우SP1 이상 설치하면 사용가능 하다. [메모리 덤프] Sys.dm_server_memory_dumps는 SQL Server 데이터베이스 엔진에 의해 생성된 각 메모리 덤프 파일에 대한 정보를 반환한다. 여기에서 메..