향상된 프로그래밍 기능(데이터베이스 엔진)

데이터베이스 엔진의 향상된 프로그래밍 기능에는 새로운 데이터 저장소 기능, 새로운 데이터 형식, 새로운 전체 텍스트 검색 아키텍처 및 Transact-SQL에 대한 다양한 개선 사항 및 추가 기능이 포함됩니다.

데이터 저장소

테이블 및 인덱스의 압축된 저장소

SQL Server 2008에서는 테이블, 인덱스 및 인덱싱된 뷰를 디스크 상에서 행 및 페이지 형식으로 압축할 수 있습니다. 분할된 테이블과 인덱스의 압축은 각 파티션에 대해 개별적으로 구성할 수 있습니다. 자세한 내용은 압축된 테이블 및 인덱스 만들기를 참조하십시오.

FILESTREAM 저장소

FILESTREAM 저장소를 사용하면 SQL Server 응용 프로그램에서 문서와 이미지 같은 구조화되지 않은 데이터를 파일 시스템에 저장할 수 있습니다. 이를 통해 클라이언트 응용 프로그램은 파일 시스템의 다양한 스트리밍 API와 성능을 활용할 수 있고 동시에 구조화되지 않은 데이터 및 구조화된 데이터 간에 트랜잭션 일관성을 유지할 수 있습니다. 자세한 내용은 FILESTREAM 저장소 디자인 및 구현을 참조하십시오.

새로운 데이터 정렬

SQL Server 2008은 Windows Server 2008에서 제공하는 데이터 정렬을 완벽하게 지원하는 새로운 데이터 정렬 기능을 제공합니다. 이러한 80개의 새로운 데이터 정렬은 *_100 버전 참조로 표시되어 있습니다. 사용자는 이러한 데이터 정렬을 통해 언어학적으로 정확한 culture별 최신 정렬 규칙을 사용할 수 있습니다. 자세한 내용은 데이터 정렬 및 유니코드 지원데이터 정렬 작업을 참조하십시오.

분할된 테이블 및 인덱스에 대한 파티션 전환

데이터를 분할하면 데이터 하위 집합을 빠르고 효율적으로 관리 및 액세스하고 전체 데이터 컬렉션의 무결성을 유지할 수 있습니다. 이제는 파티션 전환을 사용하여 파티션을 한 테이블에서 다른 테이블로 전환함으로써 데이터 하위 집합을 빠르고 효율적으로 전송할 수 있습니다.

파티션 전환 개념 및 파티션 전환을 구현하는 예제 코드는 파티션 전환을 사용하여 데이터를 효율적으로 전송인덱싱된 뷰가 정의된 경우 파티션 전환을 참조하십시오.

스파스 열 및 열 집합

스파스 열은 null 값에 대해 최적화된 저장소 형식을 가진 일반 열입니다. 열의 값 중 적어도 20 - 40%가 NULL인 경우에는 스파스 열을 사용하는 것이 좋습니다. 자세한 내용은 스파스 열 사용을 참조하십시오.

스파스 열을 사용하는 테이블에서는 테이블의 모든 스파스 열을 반환하는 열 집합을 지정할 수 있습니다. 열 집합은 구조화된 출력으로 테이블의 모든 스파스 열을 결합하는 형식화되지 않은 XML 표현입니다. 자세한 내용은 열 집합 사용을 참조하십시오.

공간 데이터 저장소, 메서드 및 인덱싱

공간 데이터는 기하학적 개체의 물리적 위치와 모양에 대한 정보를 표시합니다. 이러한 개체는 특정 지점의 위치나 국가, 도로 또는 호수와 같은 좀 더 복잡한 개체가 될 수 있습니다.

자세한 내용은 공간 데이터 작업(데이터베이스 엔진), geometry 데이터 형식 메서드 참조geography 데이터 형식 메서드 참조를 참조하십시오.

공간 인덱스는 공간 개체(공간 데이터)에서 특정 집합 지향 작업의 효율성을 향상시킵니다. 공간 인덱스는 상대적으로 비용이 많이 드는 공간 작업을 적용해야 하는 개체 수를 줄여 줍니다. 자세한 내용은 공간 인덱스 작업(데이터베이스 엔진)을 참조하십시오.

넓은 테이블

넓은 테이블은 하나 이상의 열 집합을 포함하는 테이블입니다. 넓은 테이블은 최대 30000개의 열, 1000개의 인덱스 및 30000개의 통계를 포함할 수 있습니다. 자세한 내용은 특수 테이블 유형을 참조하십시오.

데이터 형식

날짜 및 시간 데이터 형식

SQL Server 2008에서는 4가지 새로운 날짜 및 시간 데이터 형식을 제공합니다. 이러한 형식을 통해 응용 프로그램은 날짜 또는 시간, 증가된 연도 범위, 증가된 초 소수점 이하 자리 수 및 표준 시간대 오프셋 지원을 위한 별개의 형식을 사용할 수 있습니다. 자세한 내용은 날짜 및 시간 데이터 사용을 참조하십시오.

hierarchyid 데이터 형식

SQL Server 2008에서는 계층적 관계를 캡슐화하는 새로운 시스템 제공 데이터 형식을 제공합니다. hierarchyid를 데이터 형식으로 사용하여 계층적 구조를 포함하는 테이블을 만들거나 다른 위치에 있는 데이터의 계층적 구조를 참조할 수 있습니다. 또한 계층적 메서드를 통해 Transact-SQL을 사용하여 계층적 데이터를 쿼리하고 관련 작업을 수행할 수 있습니다.

다음은 hierarchyid 형식을 사용하여 계층적 데이터를 보다 쉽게 저장하고 쿼리하는 예를 보여 줍니다.

  • 조직 구조

  • 파일 시스템

  • 프로젝트의 태스크 집합

  • 언어 용어의 분류

  • 웹 페이지 간 링크의 그래프

관련된 SqlHierarchyId CLR 데이터 형식을 클라이언트 응용 프로그램에서 사용할 수 있습니다. 자세한 내용은 hierarchyid 데이터 형식 사용(데이터베이스 엔진)을 참조하십시오.

공간 데이터 형식

SQL Server 2008에서는 geometry 및 geography라는 두 가지 공간 데이터 형식을 제공합니다. geometry 데이터 형식은 평면 또는 유클리드형 데이터(평면 지구)를 지원합니다. geography 데이터 형식은 GPS 위도 및 경도 좌표와 같은 타원형 데이터(둥근 지구)를 저장합니다. 이러한 새 데이터 형식을 사용하면 선, 점 및 다각형 같은 공간 데이터 개체를 저장하고 조작할 수 있습니다. 자세한 내용은 공간 데이터 작업(데이터베이스 엔진)을 참조하십시오.

사용자 정의 테이블 형식

데이터베이스 엔진에서는 저장 프로시저와 함수 또는 저장 프로시저나 함수의 일괄 처리 또는 본문에서 테이블 구조를 매개 변수로 표시할 수 있는 새로운 사용자 정의 테이블 형식을 제공합니다. 사용자 정의 테이블 형식에는 고유한 제약 조건과 기본 키를 만들 수 있습니다.

자세한 내용은 사용자 정의 테이블 형식을 참조하십시오.

UDT(사용자 정의 형식)

UDT의 최대 크기가 2147483647바이트로 늘어났습니다.

전체 텍스트 검색

SQL Server 2008 Enterprise 전체 텍스트 검색에는 새로운 전체 텍스트 아키텍처가 사용됩니다. 이제는 전체 텍스트 검색이 데이터베이스의 기능에 완전히 통합되었습니다. 그 결과 다음과 같은 영역에서 전체 텍스트 검색 기능이 크게 향상되었습니다.

  • 전체 텍스트 카탈로그가 파일 시스템에 저장되는 대신 데이터베이스에 통합되어 있기 때문에 이제 데이터베이스를 이동하면 전체 텍스트 카탈로그도 자동으로 이동합니다.

  • SQL Server 2005의 의미 없는 단어가 중지 단어로 바뀌었습니다. 중지 단어의 구성은 새 중지 목록 개체 집합을 사용하여 관리됩니다. 이러한 개체는 데이터베이스와 연결되며 데이터베이스와 함께 이동합니다. 그 결과 백업/복원, 분리/연결 및 데이터베이스 복사 마법사를 사용한 데이터베이스 복사와 같은 관리 작업을 수행하는 동안 중지 단어 구성이 동일하게 유지됩니다. 자세한 내용은 중지 단어 및 중지 목록을 참조하십시오.

  • 쿼리 및 인덱싱이 쿼리 최적화 프로그램과 같은 다른 중요한 쿼리 구성 요소와 통합되어 일부 특정 시나리오에서 성능이 크게 향상되었습니다. 자세한 내용은 전체 텍스트 인덱스의 성능 튜닝 및 최적화를 참조하십시오.

  • 새로운 도구를 통해 전체 텍스트 인덱스의 원시 콘텐츠 및 지정된 쿼리 용어나 구에서 특정 단어 분리기의 동작을 이해할 수 있습니다. 자세한 내용은 sys.dm_fts_index_keywords(Transact-SQL), sys.dm_fts_index_keywords_by_document(Transact-SQL)sys.dm_fts_parser(Transact-SQL)를 참조하십시오. 이외에도 기타 새로운 동적 관리 뷰와 저장 프로시저를 통해 전체 텍스트 검색의 문제를 쉽게 해결할 수 있습니다. 이러한 문제 해결 리소스에 대한 자세한 내용은 전체 텍스트 검색 문제 해결을 참조하십시오.

  • 새로 추가된 단어 분리기 모음을 통해 단어 분리의 정확성이 높아지고 전체 텍스트 검색에 사용할 수 있는 언어 집합이 확장되었습니다. 자세한 내용은 단어 분리기 및 형태소 분석기를 참조하십시오.

자세한 내용은 SQL Server 2008 전체 텍스트 검색의 동작 변경, SQL Server 2008에서 사용되지 않는 전체 텍스트 검색 기능, SQL Server 2008 전체 텍스트 검색의 주요 변경 내용전체 텍스트 검색 아키텍처를 참조하십시오.

Transact-SQL

호환성 수준

데이터베이스 호환성 수준을 설정할 때 sp_dbcmptlevel 대신 ALTER DATABASE SET COMPATIBILITY_LEVEL을 사용합니다. 자세한 내용은 ALTER DATABASE 호환성 수준(Transact-SQL)을 참조하십시오.

복합 연산자

SET @x += 2와 같이 연산을 수행하고 결과를 변수에 설정하는 연산자를 사용할 수 있습니다. 자세한 내용은 복합 연산자(Transact-SQL)를 참조하십시오.

CONVERT 함수

CONVERT 함수는 이진 및 문자 16진수 값 사이의 변환을 지원하도록 개선되었습니다. 자세한 내용은 CAST 및 CONVERT(Transact-SQL)를 참조하십시오.

날짜 및 시간 기능

SQL Server 2008에서는 ISO 주-일 시스템을 지원합니다. 자세한 내용은 DATEPART(Transact-SQL)를 참조하십시오.

GROUPING SETS

GROUP BY 절에 GROUPING SETS, ROLLUP 및 CUBE 연산자가 추가되었습니다. 새 함수인 GROUPING_ID()는 기존의 GROUPING() 함수보다 많은 그룹화 수준 정보를 반환합니다. ISO와 호환되지 않는 WITH ROLLUP, WITH CUBE 및 ALL 구문은 더 이상 지원되지 않습니다. 자세한 내용은 ROLLUP, CUBE 및 GROUPING SETS에 GROUP BY 사용을 참조하십시오.

MERGE 문

새로 추가된 이 Transact-SQL 문은 원본 테이블과의 조인 결과에 따라 대상 테이블에서 INSERT, UPDATE 또는 DELETE 작업을 수행합니다. 이 구문을 사용하면 대상 테이블 또는 뷰에 데이터 원본을 조인한 다음 이 조인 결과에 따라 여러 동작을 수행할 수 있습니다. 자세한 내용은 MERGE(Transact-SQL)를 참조하십시오.

SQL 종속성 보고

SQL Server 2008에서는 일관적이고 안정적인 SQL 종속성 보고를 제공하기 위한 새로운 카탈로그 뷰와 시스템 함수를 제공합니다. sys.sql_expression_dependencies, sys.dm_sql_referencing_entitiessys.dm_sql_referenced_entities를 사용하여 스키마 바운드 개체 및 비스키마 바운드 개체 모두에 대해 서버 간, 데이터베이스 간 및 데이터베이스 SQL 종속성을 보고할 수 있습니다. 자세한 내용은 SQL 종속성 보고를 참조하십시오.

테이블 반환 매개 변수

데이터베이스 엔진에서는 사용자 정의 테이블 형식을 참조할 수 있는 새로운 매개 변수 형식을 제공합니다. 테이블 반환 매개 변수는 임시 테이블을 만들지 않고도 저장 프로시저 또는 함수와 같은 SQL Server 문이나 루틴에 여러 데이터 행을 보낼 수 있습니다. 자세한 내용은 테이블 반환 매개 변수(데이터베이스 엔진)를 참조하십시오.

Transact-SQL 행 생성자

INSERT 문 하나에 값을 여러 개 삽입할 수 있도록 Transact-SQL 기능이 향상되었습니다. 자세한 내용은 INSERT(Transact-SQL)를 참조하십시오.