SQL Server 2008

새로운 기능

Randy Dyess

 

한 눈에 보기:

  • 관리 기능 강화
  • 성능 및 확장성 향상
  • 보안 및 가용성 개선
  • 개발자를 위한 변경 사항

Microsoft는 데이터베이스 관리자의 업무를 효율적으로 개선하는 새로운 버전의 SQL Server를 또 한번 출시했습니다. SQL Server의 최신 버전인 SQL Server 2008은 관리 작업을 혁신적으로 개선하는

광범위한 새로운 기능을 제공합니다.

오래 동안 SQL Server® 2005를 사용한 데이터베이스 관리자라면 그 동안 일상적인 작업에서 사용하던 기능의 대부분이 SQL Server 2008에서 그다지 달라지지 않았지만 이러한 친숙한 도구가 새롭게 향상되었다는 사실을 곧 알게 될 것입니다. 기존 기능을 토대로 개발된 새로운 기능은 복잡한 데이터베이스 환경에서 다양한 기능을 사용하는 데 필요한 여러 가지 사용자 지정이나 문제 해결 작업을 줄이는 데 도움이 됩니다.

SQL Server 2008의 새로운 기능에는 분류하기 어려울 정도의 광범위한 데이터베이스 작업 역할이 포함됩니다. 필자는 다른 기사에서 이러한 기능을 분류한 적이 있는데 이때 명백히 Z라는 범주에 속하는 X라는 기능을 Y라는 범주로 분류해 놓았습니다. 아마 일부 독자는 그 이유를 매우 궁금해할 것 같습니다. 이는 관점의 문제로 독자가 속한 회사의 사업 방식에 따라 달라질 수 있습니다.

데이터베이스 분야에 종사하는 사람들은 대개 많은 다양한 작업 역할을 수행하며 필자도 이 점을 잘 알고 있습니다. 따라서 이 기사에서는 새로운 기능을 관리, 확장성, 성능, 고가용성, 보안, 개발 및 비즈니스 인텔리전스라는 일반 범주로 분류해 보겠습니다.

관리를 위한 새로운 기능

필자와 같은 데이터베이스 관리자에게 SQL Server 2008은 제품에 추가된 관리 기능 덕분에 매우 흥미로운 신제품으로 다가옵니다. 새로운 정책 관리, 다양한 서버 쿼리 기능, 구성 서버 및 데이터 수집기/관리 웨어하우스는 수십, 수백 개가 넘는 서버에 수백, 수천 개의 데이터베이스가 있는 대규모의 복잡한 데이터베이스 환경 관리를 담당하는 데이터베이스 관리자를 위한 강력하고 새로운 기능을 제공합니다.

SQL Server 2008 정책 관리 기능(CTP(Community Technology Previews)에서는 Declarative Management Framework라고 함)을 사용하면 하나 이상의 데이터베이스 서버에 대해 구성 정책을 만들어 실행할 수 있습니다. 이러한 정책을 사용하여 각 대상 서버와 데이터베이스에 표준 구성 설정을 적용하고 유지할 수 있습니다. 그림 1에서 이 기능의 예를 볼 수 있습니다.

그림 1 Data and Log File Location Best Practice(데이터 및 로그 파일 위치 최상의 방법) 정책

그림 1** Data and Log File Location Best Practice(데이터 및 로그 파일 위치 최상의 방법) 정책 **(더 크게 보려면 이미지를 클릭하십시오.)

정책은 미리 정의된 패싯 집합에서 만듭니다. 각 패싯에는 SQL Server 2008 구성 설정 하위 그룹 및 사용자가 제어할 수 있는 기타 이벤트가 포함됩니다. 이러한 패싯에 조건을 연결하여 정책을 만듭니다. 조건은 패싯의 속성, 구성 설정 또는 패싯에 포함된 기타 이벤트에 대해 사용할 수 있는 값입니다.

또한 조건은 정책 필터에 사용되는 값이기도 합니다. 특정 데이터베이스에 대해서만 정책을 실행하기를 원한다고 가정해 보겠습니다. 이 경우 데이터베이스 이름이 포함된 조건을 만든 다음 이 조건을 정책에 추가합니다. 그러면 정책이 해당 데이터베이스에만 적용됩니다. SQL Server 2008 정책 관리는 다소 복잡하게 느껴질 수 있지만 한번만 사용해 보면 매우 쉽다는 것을 알 수 있을 것입니다.

새로운 Multiple Server Interaction(다중 서버 상호 작용) 및 구성 서버 기능은 여러 서버에 대해 동시에 쿼리를 실행해야 하는 경우 유용합니다. Management Studio에서 여러 서버를 등록한 후 이러한 서버를 한 그룹에 포함할 수 있습니다. 이렇게 하면 그룹에 포함된 모든 서버에 대해 정책이나 쿼리를 실행해야 할 경우 해당 그룹을 마우스 오른쪽 단추로 클릭하고 정책이나 쿼리를 실행하기만 하면 됩니다.

서버별로 하나의 결과 집합을 반환하거나 모든 결과 집합을 하나의 큰 결과 집합으로 병합하도록 이 기능을 구성할 수 있다는 추가적인 장점도 있습니다. 또한 각 서버의 개별 결과를 쉽게 알아볼 수 있도록 서버 및 데이터베이스 이름을 결과에 포함할지 여부도 지정할 수 있습니다. 등록된 서버를 각각의 Management Studio 대신 구성 서버에 저장할 수 있는 것도 큰 장점입니다.

유용한 다른 새로운 관리 기능으로는 데이터 수집기가 있습니다. 데이터베이스 관리자는 대개 다수의 서버에서 관리 데이터를 수집해야 하며 대부분의 데이터베이스 관리자는 이를 수행하기 위해 고유의 사용자 지정 솔루션을 만듭니다. 데이터 수집기는 관리 관련 데이터 수집 작업을 용이하게 하는 기본 제공 메커니즘입니다. 데이터 수집기를 사용하면 SQL Server 에이전트와 SSIS(SQL Server Integration Services)를 통해 데이터를 수집하고 저장하는 동시에 오류 처리, 감사 및 수집 기록 기능을 제공하는 프레임워크를 만들 수 있습니다.

타사 도구 및 사용자 지정 작업과 달리 데이터 수집기는 데이터의 연결, 수집 및 저장을 처리하기 위한 일련의 작업 및 패키지를 만드는 데 SQL Server 에이전트와 SSIS를 사용하므로 대부분의 데이터베이스 관리자가 쉽게 파악할 수 있습니다(그림 2 참조). 이 데이터를 관리 웨어하우스라고 하는 중앙 위치에 저장하면 일련의 T-SQL 문 및 SQL Server 2008 Reporting Services 보고서를 통해 데이터를 보고 구성할 수 있습니다. 이 중앙 데이터 저장소를 사용하면 데이터베이스 환경에 대한 전반적인 관리 메트릭을 훨씬 쉽게 분석하고 검토할 수 있습니다.

그림 2 데이터 수집기 디스크 사용 로그 파일

그림 2** 데이터 수집기 디스크 사용 로그 파일 **(더 크게 보려면 이미지를 클릭하십시오.)

확장성을 위한 새로운 기능

시간이 지나면서 SQL Server 데이터베이스 관리자는 자신이 관리하는 데이터베이스 환경이 점점 커진다는 사실을 깨달았습니다. 데이터베이스 환경의 규모가 커지면 대부분의 엔터프라이즈에 요구되는 확장성을 달성하기 위해 새로운 방법과 도구가 필요합니다. SQL Server 2008에는 이를 지원하는 몇 가지 새로운 기능이 도입되었습니다.

SQL Server 2008에는 데이터베이스 파일 및 해당 데이터베이스와 관련된 트랜잭션 로그 파일을 압축할 수 있는 기본 제공 압축 기능이 있습니다. SQL Server 2005에도 읽기 전용 파일이나 파일 그룹에 데이터를 압축하는 기능이 도입되었지만 이 압축 기능은 단순히 Windows® NTFS의 압축 기능을 사용하는 데 그쳤습니다. SQL Server 2008은 행 수준 및 페이지 수준 압축 기능을 모두 제공하므로 데이터 파일 수준에서 압축을 수행할 필요가 없습니다.

행 및 페이지 수준에서 압축하면 데이터 공간 사용량이 줄어들 뿐만 아니라 데이터가 압축된 상태로 메모리에 유지되기 때문에 필요한 메모리 공간도 줄어듭니다. 따라서 메모리 사용률이 높아지며 이는 대부분의 시스템에 확장성 향상이라는 이점을 가져다 줍니다.

또한 SQL Server 2008에는 백업 수준 압축 기능도 도입되었습니다. 데이터베이스 백업은 데이터베이스의 활성 부분만 백업하지만 이러한 백업은 여전히 수백 기가바이트, 심지어는 수십 테라바이트까지 이를 수 있습니다. 수 테라바이트에 이르는 백업 파일의 복사본이 두 개 이상 있는 데이터베이스 환경에서는 이러한 백업으로 인해 보다 효과적으로 사용될 수 있는 귀중한 저장소 공간이 낭비됩니다. SQL Server 2008은 데이터베이스 관리자가 백업 파일을 압축하여 저장소 공간을 확보하고 이를 라이브 데이터에 사용할 수 있도록 지원합니다.

또한 리소스 관리자라는 기능도 있습니다. 이 새로운 기능을 사용하면 개별 작업이나 작업 그룹이 작업 실행 중 사용할 수 있는 리소스의 양을 정의할 수 있습니다. 리소스 관리자를 사용하면 여러 개의 다양한 작업을 한 서버에서 실행할 수 있으며 이 중 하나 이상의 작업이 해당 서버의 용량을 초과하여 다른 작업의 성능을 저하하지 않을까 염려할 필요가 없습니다.

이 기능의 장점은 데이터베이스 서버의 총 가용 리소스를 보다 효과적으로 사용할 수 있다는 데 있습니다. 그림 3에서는 리소스 관리자를 사용하여 서버의 작업을 제한하는 예를 보여 줍니다.

Figure 3 리소스 관리자를 사용하여 작업 제한

USE master
go

--Drop 함수
IF OBJECT_ID('rgclassifier_demo','Function') IS NOT NULL
DROP FUNCTION rgclassifier_demo
go

--보고 그룹에 대한 분류자 함수 만들기
CREATE FUNCTION rgclassifier_demo() RETURNS SYSNAME 
WITH SCHEMABINDING
AS
BEGIN
    DECLARE @group_name AS SYSNAME
  IF (USER_NAME() LIKE '%Launch_Demo%')
         SET @group_name = 'demogroup'
    RETURN @group_name
END
GO

--Management Studio에서 가져온 모든 항목에 대한 작업 그룹 삭제
IF EXISTS (SELECT name FROM sys.resource_governor_workload_groups 
  WHERE name = 'demogroup')
BEGIN
  DROP WORKLOAD GROUP demogroup
END
GO

--작업 그룹 만들기
CREATE WORKLOAD GROUP demogroup
GO

--리소스 관리자에
--분류자 함수 등록
ALTER RESOURCE GOVERNOR WITH (CLASSIFIER_FUNCTION= dbo.rgclassifier_demo)
GO

--각 작업 요청에 대해 10%의 CPU만 허용하도록
--dbogroup 작업 그룹 변경
ALTER WORKLOAD GROUP demogroup
WITH (REQUEST_MAX_CPU_TIME_SEC = 10)
GO

--새 리소스 풀을 만들고 모든 작업에 대한 최대 CPU 제한 설정
IF EXISTS (SELECT name FROM sys.resource_governor_resource_pools
  WHERE name = 'pooldemo')
DROP RESOURCE POOL pooldemo
GO
  
CREATE RESOURCE POOL pooldemo
WITH (MAX_CPU_PERCENT = 40)
GO

--새 리소스 풀을 사용하도록
--작업 그룹 구성
ALTER WORKLOAD GROUP demogroup
USING pooldemo
GO

--리소스 관리자 메모리 내 구성에
--변경 사항 적용
ALTER RESOURCE GOVERNOR RECONFIGURE
GO

성능을 위한 새로운 기능

SQL Server 2008에서는 데이터베이스의 전반적인 성능이 향상됩니다. SQL Server 2008의 몇 가지 새로운 기능 덕분에 데이터베이스 및 데이터베이스에 대해 실행하는 응용 프로그램의 성능을 제어하고 모니터링할 수 있습니다.

초당 실행되는 트랜잭션의 수가 매우 많을 경우 트랜잭션 중에 일반적으로 발생하는 잠금이 데이터베이스 응용 프로그램의 성능에 좋지 않은 영향을 줄 수 있습니다. SQL Server는 소규모의 행 수준 및 페이지 수준 잠금에서 대규모의 테이블 수준 잠금으로 잠금을 에스컬레이션하여 한 프로세스에서 보유하는 총 잠금 수를 줄이도록 설계되었습니다. 단, 이 잠금 에스컬레이션은 몇 가지 문제를 야기할 수 있습니다. 예를 들어 단일 트랜잭션이 전체 테이블을 잠가서 다른 트랜잭션이 해당 테이블을 사용할 수 없게 될 수 있습니다.

SQL Server 2008은 SQL Server 2005에 도입된 테이블 파티션 메커니즘을 사용하여 SQL Server 엔진이 테이블 수준 잠금에 앞서 파티션 수준으로 잠금을 에스컬레이션할 수 있도록 합니다. 이 중간 잠금 수준은 초당 수백, 수천 개의 트랜잭션을 처리해야 하는 시스템에서 잠금 에스컬레이션이 주는 문제를 눈에 띄게 줄입니다.

SQL Server 2008은 분할된 테이블에 쿼리를 사용하는 경우 활용할 수 있는 몇 가지 새로운 향상된 쿼리 프로세서를 제공합니다. 이제 쿼리 최적화 프로그램이 개별 인덱스에 대해서와 마찬가지로 파티션에 대해서도 테이블 수준의 파티션 메커니즘을 사용하지 않고 파티션 ID만 사용하여 쿼리 검색을 수행할 수 있습니다.

고가용성을 위한 새로운 기능

데이터베이스 환경이 복잡해지고 데이터베이스의 크기가 커질수록 데이터베이스의 가용성을 보장하는 일도 점점 어려워지고 있습니다. 과거에 고가용성을 달성하기 위해 사용했던 친숙한 메커니즘이 SQL Server 2008에서도 제공됩니다. 그러나 SQL Server 2008에서는 이러한 기존 기능 중 일부가 향상되고 몇 가지 새로운 기능이 추가되었습니다.

SQL Server 2005에서 대부분의 관리자는 고가용성을 달성하기 위해 데이터베이스 미러링을 구현하기 시작했습니다. SQL Server 2008은 데이터베이스 미러링을 보다 쉽게 수행할 수 있도록 다양한 향상된 기능을 제공합니다. 예를 들어 이전에는 데이터베이스 미러링을 수행할 때 트랜잭션 로그 데이터를 주 데이터베이스에서 미러된 데이터베이스로 이동하는 것과 관련하여 성능 문제가 가끔 있었습니다. 이를 해결하기 위해 이제 SQL Server 2008에서는 정보를 미러 데이터베이스의 트랜잭션 로그로 보내기 전에 압축함으로써 네트워크를 통해 주 데이터베이스의 트랜잭션 로그에서 미러 데이터베이스의 트랜잭션 로그로 이동되는 정보의 양을 줄입니다.

이제 주 데이터베이스에서 손상된 데이터 페이지를 복구할 수 있습니다. 주 데이터베이스에서 오류 823 및 824로 인해 데이터 페이지 손상이 발생할 경우 주 데이터베이스는 해당 데이터 페이지의 새 복사본을 미러된 서버에 요청할 수 있습니다. 이러한 올바른 데이터 페이지를 요청하는 작업은 현재 주 데이터베이스에 액세스하는 어떤 사용자도 알지 못하게 이루어지는 자동화된 프로세스입니다.

다른 새로운 기능인 Hot Add CPU를 사용하면 데이터베이스 서버에 있는 데이터베이스의 가용성에 영향을 주지 않고 데이터베이스 서버에 CPU를 추가할 수 있습니다. 그러나 Hot Add CPU 기능에는 64비트 Itanium 기반 Windows Server® 2008 Enterprise Edition이나 Datacenter Edition을 실행하는 경우에만 이 기능이 유용하며 SQL Server 2008 Enterprise Edition을 사용해야 하는 등 몇 가지 제한이 있습니다.

보안을 위한 새로운 기능

SQL Server 2005에는 데이터 암호화 형태의 데이터 보안이 도입되었습니다. SQL Server 2008에서는 확장 가능 키 관리와 투명한 데이터 암호화라는 두 가지 기능이 도입되어 암호화가 크게 향상되었습니다.

확장 가능 키 관리는 암호화 인프라에 사용되는 키를 데이터베이스 자체뿐 아니라 데이터베이스 외부의 타사 소프트웨어 모듈이나 하드웨어 보안 보듈에 안전하게 저장할 수 있는 향상된 구조를 지원합니다.

투명한 데이터 암호화는 암호화가 단순히 한 줄의 코드로 된 함수의 결과가 아니라 데이터베이스의 속성이 되도록 지원함으로써 보다 융통성 있는 데이터 암호화 방법을 제공합니다. 따라서 관리자는 데이터베이스 구조나 응용 프로그램 코드를 변경할 필요 없이 데이터 수준에서 암호화를 수행할 수 있습니다. 그림 4의 코드는 투명한 데이터 암호화를 사용하여 데이터베이스를 암호화하는 방법을 보여 줍니다.

Figure 4 투명한 데이터 암호화 사용

USE master;
GO

--마스터 키 만들기
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'YouWillNeedToCreateAStrongPassword';
GO

--TDE에 사용할 인증서 만들기
CREATE CERTIFICATE TDECERT WITH SUBJECT = 'TDECert'
GO

--암호화할 데이터베이스 변경
USE AdventureWorks
GO

--데이터베이스 마스터 키 만들기
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_128 --강력한 알고리즘 사용
ENCRYPTION BY SERVER CERTIFICATE TDECERT
GO

--마스터 데이터베이스 키를 사용하여 데이터베이스가 암호화되도록
--데이터베이스 변경
ALTER DATABASE AdventureWorks
SET ENCRYPTION ON
GO

개발자를 위해 제공되는 기능

SQL Server 2008의 변경을 통해 데이터베이스 관리자만 직접적인 혜택을 보는 것은 아닙니다. 데이터베이스 개발자를 지원하도록 설계된 새로운 기능도 많이 있습니다. 여기에는 여러 가지 향상된 새로운 T-SQL에서 개발자가 데이터베이스 쿼리를 만들고 활용하는 데 도움이 될 수 있는 새로운 구성 요소까지 다양한 기능이 포함됩니다.

대부분의 데이터베이스 개발자는 응용 프로그램에 필요한 데이터를 반환하는 쿼리를 만드는 작업을 담당합니다. 데이터베이스 개발자가 일반 T-SQL 문 대신 Microsoft® .NET 기반 프로그래밍 언어를 사용하여 데이터베이스에 대해 쿼리를 실행할 수 있도록 지원하는 LINQ(Language Integrated Query) 도구에 대해서는 잘 알고 있을 것입니다. SQL Server 2008에서는 개발자가 SQL Server 테이블 및 열에 대해 직접 LINQ 명령을 실행할 수 있도록 허용하는 새로운 LINQ to SQL 공급자를 제공함으로써 LINQ 기능을 향상합니다. 따라서 새 데이터 쿼리를 만드는 데 걸리는 시간이 줄어듭니다.

데이터베이스 개발자는 데이터베이스를 개발할 때 개별 데이터베이스 테이블과 열에 매핑되는 높은 수준의 개체를 사용합니다. 엔터티라고도 하는 이러한 개체는 데이터베이스 응용 프로그램에 필요한 데이터를 나타내므로 개발자는 데이터의 실제 저장소 구조 및 데이터베이스 스키마를 이해할 필요가 없습니다. 이제 개발자는 새로운 ADO.NET Entity Framework를 통해 이러한 엔터티를 사용하여 데이터베이스 쿼리를 만들 수 있습니다. 또한 기본 데이터베이스 구조의 추상화를 통해 개발자의 생산성이 높아집니다.

SQL Server 2008에서는 데이터베이스 개발자의 업무 효율성을 높이도록 T-SQL의 많은 기능이 향상되었습니다. 한 가지 예로 개발자가 데이터를 삽입하기 전에 해당 데이터가 있는지 확인하는 데 사용할 수 있는 새로운 MERGE 문을 들 수 있습니다. INSERT 문 실행 전에 이 검사를 수행하면 데이터를 업데이트할 수 있습니다. 따라서 이제 기존 데이터를 업데이트하고 없는 데이터를 삽입하기 위해 복잡한 조인을 만들 필요가 없습니다. 모든 작업을 하나의 문에서 수행할 수 있습니다.

뿐만 아니라 시간 및 날짜 데이터를 결합된 형태의 날짜/시간 데이터 형식에서 분리하는 작업도 더욱 쉬워졌습니다. SQL Server 2008에는 날짜 및 시간 데이터를 처리하기 위한 별도의 두 데이터 형식이 도입되었습니다. 별도의 데이터 형식이 도임됨으로써 데이터에 대해 별도의 작업을 수행할 필요 없이 곧바로 쿼리에 데이터를 사용할 수 있기 때문에 대부분의 쿼리 성능이 향상됩니다.

데이터베이스 개발자는 새로운 데이터베이스 구조를 만들 때 대개 매핑 응용 프로그램을 구현하기 위해 데이터베이스 구조를 확장합니다. SQL Server 2008은 새로운 공간 데이터 형식을 통해 이 문제를 해결할 수 있도록 지원합니다. 이제 개발자는 두 개의 공간 데이터 형식인 GEOGRAPHY와 GEOMETRY를 사용하여 데이터 요소를 다른 표준 데이터 형식에 맞는 형식으로 나눌 필요 없이 위치 데이터를 직접 데이터베이스에 저장할 수 있습니다. 그림 5의 코드는 단순한 공간 테이블을 보여 주는 예제입니다.

Figure 5 단순한 공간 테이블

IF OBJECT_ID ( 'Demo_SpatialTable', 'Table' ) IS NOT NULL 
    DROP TABLE Demo_SpatialTable
GO

--공간 데이터를 유지할 테이블 만들기
CREATE TABLE Demo_SpatialTable 
    ( SpatialID int IDENTITY (1,1),
    SpatialInputCol geography, 
    SpatialOutputCol AS SpatialInputCol.STAsText() )
GO

--테이블에 데이터 삽입
INSERT INTO Demo_SpatialTable (SpatialInputCol)
VALUES (geography::STGeomFromText('LINESTRING(47.656 -122.360, 47.656 -122.343)', 4326));

INSERT INTO Demo_SpatialTable (SpatialInputCol)
VALUES (geography::STGeomFromText('POLYGON((47.653 -122.358, 47.649 -122.348, 47.658 -122.348, 47.658 -122.358, 47.653 -122.358))', 4326));
GO

--변환되어 l2열에 저장되었는지 데이터 확인
SELECT * FROM Demo_SpatialTable

이전에 데이터베이스 개발자가 흔히 겪었던 문제는 문서 및 미디어 파일 같은 BLOB를 저장하고 사용하는 방법이었습니다. 파일은 데이터베이스 외부에 저장하고 이 외부 파일에 대한 포인터만 데이터베이스에 저장하는 방법이 일반적으로 사용되었습니다. 그러나 이 방법을 사용할 경우 파일을 이동하면 포인터도 업데이트해야 합니다.

SQL Server 2008에서는 새로운 FILESTREAM 데이터 형식을 사용하여 이 문제를 해결합니다. 이 데이터 형식을 사용할 경우 파일을 여전히 데이터베이스 외부에 저장할 수 있지만 트랜잭션 일관성을 위해 데이터가 데이터베이스의 일부로 간주됩니다. 이를 통해 데이터베이스의 성능 및 보안상의 이점은 그대로 유지하면서 일반적인 파일 작업을 수행할 수 있습니다.

비즈니스 인텔리전스를 위한 기능

지난 몇 년 간의 SQL Server 사용량 증가는 비즈니스 인텔리전스 전략의 채택이 뒷받침된 결과입니다. 비즈니스 인텔리전스 기능이 SQL Server의 새로운 기능은 아니지만 SQL Server 2008은 테이블에 사용할 수 있는 몇 가지 새로운 비즈니스 인텔리전스 기능을 제공합니다.

예를 들어 데이터가 데이터 웨어하우스에 저장될 때 NULL 값으로 인해 공간이 낭비되는 경우가 많습니다. NULL 값을 저장하는 열은 열에 정의된 허용되는 가장 큰 데이터 크기에 해당하는 공간을 사용합니다. 이는 수천 개의 NULL 값이 있는 한 개의 열이 실제로 어떠한 데이터도 저장하지 않은 채 수 MB의 공간을 사용할 수 있음을 의미합니다.

SQL Server 2008에는 디스크의 실제 공간을 차지하지 않고 NULL 값을 저장할 수 있는 스파스 열이 도입되었습니다. 스파스 열은 실제로 공간을 사용하지 않으므로 스파스 열이 포함된 테이블의 경우 1,024개의 열 제한을 초과할 수 있습니다.

또한 SQL Server 2008에는 데이터 웨어하우스에 로드해야 하는 증분 변경을 관리하기 위한 변경 데이터 캡처라는 새로운 메커니즘이 도입되었습니다. 이 메커니즘은 변경된 데이터를 캡처하여 변경 테이블 집합에 저장합니다. 쉽게 사용되는 저장소 스키마에서 업데이트되고, 삭제되고, 삽입된 데이터를 캡처함으로써 데이터를 해당 테이블에서 데이터 웨어하우스로 증분 로드할 수 있으며 이는 데이터 웨어하우스를 업데이트하기 전에 기존 데이터 행에 수행된 변경을 추적하기 위해 사용자 지정 insert 문을 작성해야 하는 기존의 방법과 대조됩니다.

결론

이 기사에서는 SQL Server 2008이 제공하는 새로운 기능에 대해 간단히 살펴보았습니다. SQL Server 2008은 데이터베이스 관리자와 데이터베이스 개발자 모두의 업무를 효율적으로 개선하는 광범위한 새로운 기능 및 기존 기능에 대한 업데이트를 제공합니다. 궁극적으로 SQL Server 2008은 오늘날의 요구 사항이 많은 데이터베이스를 위한 대폭 향상된 성능과 확장성을 제공할 것입니다.

Randy Dyess는 Solid Quality Mentors의 강사이며 SQL Server OLTP 시스템을 전문적으로 담당하고 있습니다. Randy는 TransactSQL Language Reference Guide의 저자이자 *MCTS Self-Paced Training Kit: Microsoft SQL Server 2005 Implementation and Maintenance (Exam 70-431)*를 비롯한 다양한 잡지와 뉴스레터 기사의 공동 저자이며, 텍사스 북부 SQL Server 사용자 그룹의 프로그램 담당 이사이자 SQL Server MVP입니다. blogs.solidq.com/EN/rdyess/default.aspx에 있는 Randy의 블로그를 방문해 보십시오.

© 2008 Microsoft Corporation 및 CMP Media, LLC. All rights reserved. 이 문서의 전부 또는 일부를 무단으로 복제하는 행위는 금지됩니다..