SQL Server 818

SQL Server 2012 사용자 정의 서버 역할 만들기 - 서버 역할을 지정하여 접근 제어 하기

SQL Server 2012 사용자 정의 서버 역할 만들기 - 서버 역할을 지정하여 접근 제어 하기 - Version : SQL Server 2012 SQL Server 2012에서 사용자 정의 서버 수준 역할을 만들어 본다. 아래 스크립트를 사용하여 SQL Server 로그인 계정을 생성 한다. USE [master] GO CREATE LOGIN [Test] WITH PASSWORD=N'Test!@#$', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO 서버 역할을 생성 한다. 개체 탐색기에서 [보안] – [서버 역할]에서 마우스 오른쪽을 클릭하여 [새 서버 역할]을 선택 한다. 새 서버 역할에서 아래 그림과 같이 설정 한다. ..

SQL Server 2012 데이터 변환 함수 - PARSE, TRY_PARSE, TRY_CONVERT

SQL Server 2012 데이터 변환 함수 - PARSE, TRY_PARSE, TRY_CONVERT - Version : SQL Server 2012 SQL Server 2012에서 제공하는 데이터 변환 함수 PARSE, TRY_PARSE 및 TRY_CONVERT 기능에 대해서 알아 본다. 변환함수는 .NET Framework CLR이 설치 되어 있어야 사용할 수 있다. 또한 원격 서버에서 호출 시 오류가 발생 한다. [PARSE] 요청한 데이터 형식으로 변환된 식 결과를 반환 한다. PARSE는 문자열에서 날짜/시간 및 숫자 형식으로 변환하는 경우에만 사용한다. 일반 형식 변환의 경우 이전처럼 CAST나 CONVERT를 사용한다. 문자열 값을 구문 분석 할 경우 성능에 영향을 주게 된다. State..

SQL Server 2012 논리 함수(IIF, CHOOSE)

SQL Server 2012 논리 함수(IIF, CHOOSE) - Version : SQL Server 2012 SQL Server 2012에서 제공되는 스칼라 논리 함수인 CHOOSE와 IIF에 대해서 알아 본다. [CHOOSE] CHOOSE 함수는 값 목록에서 지정된 인덱스에 있는 항목을 반환 한다. CHOOSE는 배열에서 인덱스와 같은 역할을 하며 배열은 index 인수 다음에 나오는 인수로 구성된다. Index 인수는 다음 중 반환된 값을 결정한다. [구문] CHOOSE ( index, val_1, val_2 [, val_n ] ) 다음 예를 살펴보면 제공된 값인 3번쨰 항목을 반환한다. SELECT CHOOSE ( 3, 'Manager', 'Director', 'Developer', 'Teste..

SQL Server 2012 새로운 날짜 및 시간 함수

SQL Server 2012 새로운 날짜 및 시간 함수 - Version : SQL Server 2012 SQL Server 2012에서 도입된 새로운 시간 함수에 대해서 알아 본다. 1. DATEFROMPARTS Function 2. TIMEFROMPARTS Function 3. DATETIMEFROMPARTS Function 4. DATETIME2FROMPARTS Function 5. SMALLDATETIMEFROMPARTS Function 6. DATETIMEOFFSETFROMPARTS Function 7. EOMONTH Function [DATEFROMPARTS Function] 지정된 년, 월, 일 기본값으로 날짜를 반환한다. --SYNTAX: - DATEFROMPARTS (YEAR, MONTH..

SQL Server 2012 FORMAT 함수와 CONCAT 함수

SQL Server 2012 FORMAT 함수와 CONCAT 함수 - Version : SQL Server 2012 SQL Server 2012에서 도입된 새로운 FORMAT 함수의 기능과 어떻게 사용될 수 있는지 실습을 통해 알아 본다. [FORMAT] SQL Server 2012에서 사용할 수 있는 포맷 함수이다. 포맷 형식에 따라 지정된 값을 반환 한다. DECLARE @TodaysDate DATETIME = GETDATE() SELECT FORMAT ( @TodaysDate, 'd', 'en-US' ) AS [Using 'en-US' Culture] SELECT FORMAT ( @TodaysDate, 'd', 'de-DE' ) AS [Using 'de-DE' Culture] SELECT FORMA..

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

하위 쿼리 사용시 공간 인덱스 사용 불가 - 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..