전체 글 1383

하위 쿼리 사용시 공간 인덱스 사용 불가

하위 쿼리 사용시 공간 인덱스 사용 불가 - Version : SQL Server 2012 SQL Server 2012 부터는 공간 인덱스를 지원한다. 공간 인덱스는 공간 열을 인덱싱 할 수 있는 확장된 인덱스의 유형이다. 공간 열은 Geometry 또는 Geography와 같은 공간 데이터를 포함하는 테이블 열이다. l 공간 인덱스 : http://sqlmvp.kr/140201241880 이번 포스트는 CSS SQL Server Engineers 블로그에 게시된 내용으로 필자가 읽고 이해한 내용을정리 하였으며 번역의 오류나 기술적 오류가 있음을 미리 알려둔다. 이번 포스트의 팁을 활용하여 SQL Server 쿼리 처리의 공간 인덱스를 사용하여보자. 이 팁은 공간 인덱스 뿐만 아니라 일반적인 쿼리에도 적..

Spatial Data Type (공간 데이터 형식)

Spatial Data Type (공간 데이터 형식) - Version : SQL Server 2008, 2008R2, 2012 공간 데이터 형식은 두 가지가 있다. l Geometry 데이터 형식 : 평면 데이터 지원 (유클리드 데이터), OGC(Open Geospatial Consotium)의 Simple Features for SQL Specification 버전 1.1.0을 따르며 SQL MM(ISO 표준)과 호환. l Geopraphy : GPS 및 위도 경도 좌표등의 타원(둥근 표면) 데이터를 저장하는 데이터 형식 Geometry 및 geography 데이터 형식은 16개가 있으며 이들 중 11개의 유형만 인스턴스화 할 수 있다. 인스턴스는 GeometryCollection에서 Point, L..

Spatial Index (공간 인덱스) 생성, 수정, 삭제

Spatial Index (공간 인덱스) 생성, 수정, 삭제 - Version : SQL Server 2008, 2008R2, 2012 Spitial Indedx(공간 인덱스)는 geometry 또는 geography 데이터 형식의 열(공간 열)에서 특정 작업을 좀 더 효율적으로 수행 할 수 있다. 하나의 공간 열에 두 개 이상의 공간 인덱스가 지정될 수 있다. 예를 들어 하나의 단일 열에 다른 공간 분할 매개 변수를 인덱싱할 경우 유용하다. [Spatial Index(공간 인덱스) 제한 사항] 공간인덱스 만들기 위해서는 몇 가지 제한 사항이 있다. 다음 목록을 통해 알아 보자. l 공간 인덱스는 geometry 또는 geography 유형의 열에서만 만들 수 있다. l 공간 인덱스는 기본 키가 있는 테..

Spatial Indexing 개요 (공간 인덱스)

Spatial Indexing 개요 (공간 인덱스) - Version : SQL Server 2008, 2008R2, 2012 SQL Server 2008부터 지원되는 공간인덱스는 공간 열을 인덱싱할 수 있는 확장된 인덱스의 유형이다. 공간 열은 geometry 또는 geography와 같은 공간 데이터 형식의 데이터를 포함하는 테이블 열이다. SQL Server에서 공간 인덱스는 B-tree를 사용하여 구성된다. 즉 인덱스가 2차원 공간 데이터를 B-tree의 선형 순서로 나타내야 한다는 뜻이다. 따라서 데이터를 공간 인덱스로 읽기 전에 SQL Server에서는 공간을 계층적으로 균일하게 분해하는 작업을 구현해야 한다. 인덱스 생성 프로세스에서는 공간을 계층 구조로 분해한다. 이러한 수준을 최상 위부터..

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(..