SlideShare a Scribd company logo
1 of 24
데이터베이스 개발자를 위한 SQL Server 2005

개요


Matt                                                             Nunn

Microsoft Corporation

적용                                                               대상:

  Microsoft                                            SQL Server 2005

  SQL               Server                   데이터베이스               개발

  Microsoft                                            .NET Framework

  Microsoft                         Visual                 Studio 2005

  Microsoft ADO.NET 2.0


요약: 이 기사에서는 Microsoft SQL Server 2005 의 새로운 데이터베이스 개발

기능에 대한 개요를 제공합니다


목차



데이터베이스                  개발의              새로운          패러다임

.NET                    Framework                통합

XML                                    기술

새로운              응용             프로그램             프레임워크

향상된                                     언어

결론
데이터베이스 개발의 새로운 패러다임


Microsoft SQL Server 2005 Beta 2 의 릴리스와 함께 데이터베이스 개발 분야

가 새롭게 변화하고 있습니다. 데이터베이스 개발자는 이제 코드를 기능에 맞도

록 적절하게 배치하여 XML 같은 원시 형식의 데이터에 액세스하거나 데이터베

이스 서버 중심의 복잡한 시스템을 구축할 수 있습니다. 데이터베이스 개발은

그 어느 때보다 효율적으로 통합되고 있으며, 개발자는 필요한 모든 도구를 편

리하게 사용할 수 있습니다.

이 기사에서는 개발자가 새로운 클래스의 데이터베이스 응용 프로그램을 구축

할 수 있는 SQL Server 2005 의 새 기능 중 몇 가지에 대해 설명합니다.



.NET Framework 통합


Microsoft SQL Server 2005 Beta 2 가 출시됨으로써 데이터베이스 프로그래머

는 Microsoft .NET Framework 클래스 라이브러리와 최신 프로그래밍 언어를

최대한 활용하여 서버 내에서 기능을 구현할 수 있게 되었습니다. 데이터베이스

개발자는 CLR(공용 언어 런타임) 통합을 사용하여 저장 프로시저, 함수 및 트리

거를 선택한 .NET Framework 언어로 코드화할 수 있습니다. Microsoft Visual

Basic .NET 및 C# 프로그래밍 언어는 모두 개체 지향 구문, 구조적 예외 처리,

배열, 네임스페이스 및 클래스를 제공합니다. 뿐만 아니라 .NET Framework 는

서버 쪽에서 쉽게 사용할 수 있는 광범위한 기본 제공 기능을 갖춘 수천 개의 클

래스 및 메서드를 제공합니다. Transact-SQL 에서는 수행하기 곤란했거나 어

려웠던 여러 가지 작업을 관리되는 코드를 사용하여 보다 효율적으로 완수할 수

있습니다. 또한 새로운 두 가지 데이터베이스 개체 형식(집계 및 사용자 정의 형
식)을 사용할 수 있습니다. 개발자는 이미 습득한 지식 및 기술을 보다 효율적으

로 사용하여 in-process 코드를 작성할 수 있게 되었습니다. 요약하자면 SQL

Server 2005 Beta 2 를 통해 개발자는 데이터베이스 서버를 확장하여 백엔드에

서 적절한 계산 및 작업을 보다 쉽게 수행할 수 있습니다.

SQL Server 와 CLR 간의 이러한 통합으로 인해 여러 가지 주요 이점이 제공됩

니다.


  •   향상된 프로그래밍 모델: .NET Framework 와 호환되는 프로그래밍 언어

      는 여러 가지 면에서 Transact-SQL 보다 풍부하므로 SQL 개발자가 이전

      에는 사용할 수 없었던 구문 및 기능을 제공합니다.


  •   향상된 안전성 및 보안: 관리되는 코드는 데이터베이스 엔진이 호스트하

      는 CLR 환경에서 실행됩니다. 따라서 .NET Framework 데이터베이스 개

      체는 이전 버전의 SQL Server 에서 사용할 수 있었던 확장된 저장 프로시

      저보다 안전하고 보안이 강화되어 있습니다.

  •   사용자 정의 형식 및 집계: CLR 을 호스트함으로써 SQL Server 의 저장

      소 및 쿼리 기능을 확장하는 두 개의 새 데이터베이스 개체를 사용할 수

      있습니다.


  •   공용 개발 환경: 데이터베이스 개발은 Microsoft Visual Studio 2005 개

      발 환경에 통합됩니다. 개발자는 중간 계층 또는 클라이언트 계층 .NET

      Framework 구성 요소 및 서비스를 작성할 때 사용하는 것과 동일한 도

      구를 사용하여 데이터베이스 개체 및 스크립트를 개발 및 디버깅할 수 있

      습니다.

  •   성능 및 확장성: 관리되는 코드는 실행 이전에 네이티브 코드로 컴파일되

      므로 일부 시나리오에서 성능이 크게 향상될 수 있습니다.
개발자는 CLR 통합을 사용함으로써 Visual Basic .NET 및 C# 같은 언어를 사

용하여 논리가 좀 더 복잡하며 계산 작업에 보다 적합한 코드를 작성할 수 있습

니다. 또한 Visual Basic .NET 및 C#은 캡슐화, 상속 및 다형성 같은 개체 지향

기능을 제공합니다. 이제 관련 코드를 클래스와 네임스페이스로 쉽게 구성할 수

있습니다. 즉, 매우 많은 양의 코드로 작업을 할 때 소요되는 시간을 보다 쉽게

구성 및 유지할 수 있습니다. 코드를 어셈블리 및 네임스페이스로 논리적, 물리

적으로 구성할 수 있는 기능은 매우 큰 이점이며, 이를 통해 대형 데이터베이스

구현에서 서로 다른 코드 조각을 좀 더 효과적으로 찾아 연결할 수 있습니다.


관리되는 코드는 숫자 처리 및 복잡한 실행 논리 관리 면에서 Transact-SQL 보

다 훨씬 효율적이며 문자열 처리, 정규식 등을 광범위하게 지원합니다. 또한

.NET Framework 클래스 라이브러리에서 사용할 수 있는 기능을 통해 데이터베

이스 개발자는 저장 프로시저, 트리거 또는 사용자 정의 함수에서 쉽게 액세스

할 수 있는 미리 구성된 수천 가지 클래스 및 루틴에 모두 액세스할 수 있게 되

었습니다. 향상된 문자열 처리 함수, 수학 함수, 날짜 연산, 시스템 리소스 액세

스, 고급 암호화 알고리즘, 파일 액세스, 이미지 처리 및 XML 데이터 조작에 이

르기까지 모든 항목을 관리되는 저장 프로시저, 함수, 트리거 및 집계에서 쉽게

액세스할 수 있습니다.

관리되는 코드의 주요 이점 중 하나는 형식 안전성입니다. 관리되는 코드가 실

행되기 전에 CLR 은 "확인"이라는 프로세스를 통해 여러 가지 검사를 수행하여

코드를 실행하는 것이 안전한지 확인합니다. 예를 들어 코드를 검사하여 쓰여지

지 않은 메모리를 읽는 일이 없도록 확인합니다.



Transact-SQL 과 관리되는 코드 중에서 선택
이제 저장 프로시저, 트리거 및 사용자 정의 함수를 작성하는 경우 개발자는 일

반 Transact-SQL 을 사용할 것인지 아니면 Visual Basic .NET 또는 C# 같은

.NET Framework 와 호환되는 프로그래밍 언어를 사용할 것인지 결정해야 합니

다. 이 결정은 상황에 따라 달라집니다. Transact-SQL 을 사용하는 것이 좋은

경우가 있는 반면, 관리되는 코드를 사용하는 것이 좋은 경우도 있습니다.


코드가 기본적으로 수행하는 작업이 절차 논리가 없거나 적은 데이터 액세스일

경우에는 Transact-SQL 을 사용하는 것이 적절합니다. .NET Framework 와 호

환되는 프로그래밍 언어는 컴퓨팅이 많이 필요한 함수 및 복잡한 논리가 포함된

프로시저, 또는 .NET Framework 클래스 라이브러리를 활용하려는 상황에 적합

합니다.


코드 배치도 중요합니다. Transact-SQL 및 관리되는 코드는 모두 서버에서 실

행됩니다. 따라서 기능과 데이터가 서로 밀접하게 배치되며 사용자가 서버의 처

리 능력을 활용할 수 있습니다. 이는 데이터와 중간 계층 사이의 트래픽을 줄이

므로 유용합니다. 데이터와 근접한 위치에서 컴퓨팅 작업을 간단히 수행할 수

있으므로, I/O 가 많은 시스템에서는 이러한 방법이 매우 유용합니다. CLR 함수

는 실행을 병렬 처리 및 최적화할 수 있는 SQL Server 쿼리 프로세서를 활용할

수도 있습니다. 반면에 프로세서를 많이 사용하는 작업을 데이터베이스 서버에

배치하지 않을 수도 있습니다. 오늘날 대부분의 클라이언트 컴퓨터는 성능이 매

우 뛰어나므로 클라이언트에 최대한 많은 코드를 배치하여 이 처리 능력을 활용

할 수도 있습니다. 어떤 선택을 하든 모든 경우를 만족할 수는 없습니다.


웹 서비스
SQL Server 2005 에서 개발자는 SQL Server 를 HTTP 수신기로 만들어 데이터

베이스 계층에서 XML 웹 서비스를 개발할 수 있습니다. 이는 웹 서비스 중심 응

용 프로그램에 대한 새로운 유형의 데이터 액세스 기능을 제공합니다.

Microsoft SQL Server 2005 Beta 2 에서는 Microsoft IIS(인터넷 정보 서비스)

같은 중간 계층 수신기를 사용하지 않고도 HTTP 를 사용하여 SQL Server 에 직

접 액세스할 수 있습니다. SQL Server 는 웹 서비스 인터페이스를 통해 SQL 문

을 실행하고 함수 및 프로시저를 호출할 수 있도록 합니다. 쿼리 결과는 XML 형

식으로 반환되며 Visual Studio 의 웹 서비스 인프라를 활용할 수 있습니다 .


ADO.NET


다음 버전의 ADO.NET 에는 여러 가지 새로운 기능이 있습니다. 새로운 쿼리 변

경 알림 지원에서 MARS(다중 활성 결과 집합)에 이르기까지, ADO.NET 은 데이

터 집합 액세스 및 조작을 발전시켜 더욱 뛰어난 확장성과 융통성을 달성합니

다.



ADO.NET 알림 지원



SQL Server 2005 Beta 2 에서는 SQL Server 쿼리에 대한 알림을 지원합니다.

이 지원을 사용하여 SQL Server 에 명령을 보내고, 동일한 명령을 다시 실행할

때 처음 얻은 결과와 다른 결과가 나오는 경우 알림을 생성하도록 요청할 수 있

습니다. 이는 원본 데이터가 변경되는 때를 감지하는 종속성 개체를 사용하여

가능하도록 할 수 있습니다. ADO.NET, OLE DB, ODBC(Open Database

Connectivity), Microsoft ADO(ActiveX Data Objects) 또는 SOAP 같은 클라이

언트 API 를 통해 서버로 보내진 명령에는 알림이 필요한 태그가 포함되어 있을

수 있습니다. 요청의 일부분으로 실행된 각 문에 대해 서버는 요청에 포함된 각
문마다 한 번만 실행되는 "알림 구독"을 만듭니다. 알림은 응용 프로그램이 폴링

할 수 있는 SQL Service Broker(서비스 브로커) 대기열을 통해 배달되며 알림

을 사용할 수 있을 때마다 반환되는 활성화 서비스 또는 차단 문을 사용합니다.

쿼리 알림은 데이터베이스 중심 웹 사이트 같은 응용 프로그램에서 결과를 캐싱

하는 데 유용합니다.


다중 활성 결과 집합



MARS(다중 활성 결과 집합)는 요청당 여러 개의 보류 요청이 있을 수 있도록

합니다. 특히 연결당 여러 개의 기본 결과 집합이 열려 있을 수 있습니다. 기본

결과 집합은 전달 전용/읽기 전용 결과 집합입니다. 기본 결과 집합의 경우 클라

이언트 드라이버는 대형 청크(테이블 형식 데이터 스트림 버퍼 크기 청크)에서

데이터를 있는 그대로 검색하여 서버 커서의 경우처럼 서버와 정보를 주고 받지

않고도 응용 프로그램 요청이 충족되도록 합니다. 응용 프로그램은 성능 저하

없이도 한 번에 한 행씩 프로그래밍하는 간단한 모델을 사용할 수 있습니다.

다중 활성 결과 집합 기능은 열린 기본 결과 집합이 전체 결과 집합이 사용될 때

까지 드라이버가 서버에 요청을 보내지 못하도록 차단하는 현재 제한을 제거합

니다.


스냅숏 격리 지원



SQL Server 2005 Beta 2 에서는 새로운 스냅숏 격리 수준을 제공합니다. 스냅

숏 격리는 데이터 판독기를 위해 데이터 버전을 저장하는 행 버전 지정 메커니

즘입니다. 이 새로운 격리 수준은 다음과 같은 이점을 제공합니다.
•   읽기 전용 응용 프로그램을 위한 데이터 가용성 향상. OLTP 환경에서 차

      단되지 않은 읽기 작업이 가능합니다.

  •   쓰기 트랜잭션을 위한 필수적인 자동 충돌 감지

  •   Oracle 에서 SQL Server 로의 응용 프로그램 마이그레이션 단순화



예를 들어 잠금 작업을 수행하면 동일한 데이터를 동시에 읽고 쓰는 중인 응용

프로그램들이 서로 차단될 수 있습니다. 한 트랜잭션이 행을 변경하는 경우 다

른 트랜잭션은 쓰기가 커밋될 때까지 그 행을 읽을 수 없습니다. 스냅숏 격리를

사용하면 판독기가 이전에 커밋된 행 값에 액세스할 수 있습니다.

스냅숏 격리 수준은 ADO, OLE DB, SQLOLEDB, Shape Provider, SQLODBC,

OLE DB Managed Provider 및 SQL Managed Provider 를 통해 지원되고 노출

됩니다.


SQL Management Objects


SMO(SQL Management Objects) 모델은 SQL Server 2005 의 관리 개체 모델

로서 SQL Server 관리 개체 모델이 디자인 및 아키텍처 면에서 크게 향상된 것

입니다. 이는 사용은 쉬우면서도 .NET Framework 관리되는 코드를 기반으로

하는 풍부한 개체 모델입니다. SMO 는 .NET Framework 를 사용하는 데이터베

이스 관리 응용 프로그램을 개발하기 위한 기본 도구입니다. SMO 는 SQL

Server Management Studio 의 모든 대화 상자에서 사용되며 SQL Server

Management Studio 에서 수행할 수 있는 모든 관리 작업은 SMO 를 사용하여

수행할 수도 있습니다.
새 SMO 개체 모델 및 Microsoft WMI(Windows Management Instrumentation)

API 는 SQL-DMO 를 대체합니다. 가능한 경우 SMO 는 사용하기 쉽도록 비슷한

개체를 SQL-DMO 로 통합합니다. SQL Server 2005 Beta 2 에서 SQL-DMO 를

계속 사용할 수도 있지만 SQL-DMO 는 SQL Server 2005 고유의 기능을 관리

하도록 업데이트되지 않습니다.


SMO 및 SQL-DMO



SMO 개체 모델은 SQL-DMO 에서 수행한 작업이 논리적으로 이어지는 것입니

다. SMO 는 SQL-DMO 와 기능이 호환되며 다수의 동일 개체를 포함하고 있습

니다. 가능한 경우 원래 SQL-DMO 디자인을 따르지만, SMO 에는 SQL-DMO

보다 더 뛰어난 여러 가지 추가 기능이 있습니다. SQL Server 2005 의 최대

DDL(데이터 정의 언어) 및 관리 범위를 달성하기 위해 SMO 에는 150 개 이상의

새 클래스가 추가되었습니다.


SMO 의 주요 장점은 성능과 확장성입니다. SMO 에는 캐시된 개체 모델이 있으

므로 개체의 여러 가지 속성을 변경해 본 후에 변경 내용을 SQL Server 에 적용

할 수 있습니다. 따라서 SMO 에서는 서버와 정보를 주고 받는 양이 적으므로 개

체를 더욱 융통성 있게 사용할 수 있습니다. 또한 SMO 의 인스턴스 생성 작업은

최적화되어 있습니다. 즉, 개체를 전체적 또는 부분적으로 인스턴스화할 수 있

습니다. 개체의 모든 속성을 인스턴스화하지 않으므로 많은 개체를 빨리 로드할

수 있습니다.

만들어진 모든 서버 개체에 대한 참조를 유지하는 응용 프로그램 루트 디렉터리

가 하나인 SQL-DMO 와 달리 SMO 에서는 새 연결을 설정하지 않고도 서버에

여러 루트를 설정할 수 있습니다. SMO 는 SQL-DMO 스타일 스크립팅을 지원

할 뿐 아니라 고급 다중 위상 스크립팅도 구현합니다. 변경 내용을 서버에 실제
로 적용하지 않으면서 개체를 캡처 모드로 전환하고 해당 개체에 대해 내보내는

모든 DDL 을 캡처할 수도 있습니다.

SQL-DMO 에는 SMO 개체 인터페이스를 통해 WMI 모니터링 및 서버 구성을

지원하기 위해 WMI 에 대한 인터페이스를 단순화하는 관리되는 컴퓨터 개체도

있습니다.



XML 기술


XML 은 데이터를 저장하고 전송하는 일반적인 형식이 되었으며 마크업, 구조적

또는 반구조적 정보에 널리 사용되고 있습니다. 이러한 종류의 데이터에 대한

예로는 텍스트(문서 구조 및 강조를 식별하도록 마크업), 포함된 개체(구조적),

한 인스턴스에서 다른 인스턴스로 구조를 변경할 수 있는 유형이 다른 데이터

(반구조적)를 들 수 있습니다. 또한 XML 은 로컬 네트워크 및 인터넷을 통해 서

로 다른 응용 프로그램 간에 데이터를 보급하는 중요한 표준으로 널리 인정받고

있습니다.

Microsoft SQL Server 2000 은 관계형 데이터를 XML 형식으로 변환할 수 있도

록 하고 XML 데이터를 관계형 테이블에 저장하는 Microsoft SQLXML 을 통해

XML 의 사용을 지원합니다. Microsoft SQL Server 2005 Beta 2 는 XML 을 최

고급 데이터 형식으로 지원하는 것은 물론 XML 문서의 새 쿼리 언어를 제공하

고 현재 위치에서의 수정을 허용함으로써 이 기능을 기반으로 빌드되어 있습니

다.


XML 데이터를 사용하여 작업하는 사용자의 요구를 보다 잘 지원할 수 있도록

새로운 XML 데이터 형식이 도입되었습니다. 이 데이터 형식에는 현재 마지막

호출에 있는 XQuery(XML Query)의 중요한 하위 집합을 구현하는 query(),
exist(), value(), nodes() 및 modify() 메서드가 있습니다. 사실, 이 사양

은 SQL Server 2005 Beta 2 에서 XML 데이터 수정 구문이 추가됨으로써 더욱

확장되었습니다. XML 입력을 지원하도록 XML 스키마 등록 및 관리를 위한 키

워드가 추가되었습니다. SQL Server 2000 에서 관계형 데이터로부터 XML 을

생성하거나 XML 로부터 관계형 데이터를 생성하기 위해 도입된 두 기능인 FOR

XML 및 OPENXML 에도 변화가 있습니다. XML 데이터 형식에 대한 지원 덕분

에 기능이 향상되었습니다.


XML 데이터 형식


XML 은 SQL Server 에서 지원하는 스칼라 형식에 국한되지 않은 복잡한 데이터

를 모델링할 수 있습니다. 따라서 char 또는 varchar 같은 문자열 기반의 기본

제공 데이터 형식은 XML 의 강력한 기능과 여러 가지 이점을 모두 효율적으로

활용하기에는 부족합니다. 예를 들어 XML 이 문자열로 저장된 경우 전체 문서

를 삽입 또는 선택하거나 전체 문서에서 연속된 바이트를 검색할 수는 있지만

문서 자체의 내용을 쿼리할 수는 없습니다. XML 데이터 형식을 제공함으로써

SQL Server 2005 는 사용자가 XML 문서의 일부분을 쿼리하고, 문서가 XML 스

키마를 준수하는지 확인하고, XML 문서의 내용을 현재 위치에서 수정할 수도

있도록 합니다. SQL Server 2000 에서는 불가능한 방법으로 일반적인 관계형

데이터를 비구조적 또는 반구조적 XML 문서의 데이터와 통합하기도 합니다.

SQL Server 2005 에서는 효율적으로 구문을 다시 분석할 수 있고 어느 정도의

압축이 가능한 내부 표시에서 XML 데이터가 BLOB(이진 대형 개체)로 저장됩니

다.


XML 스키마의 집합을 XML 형식의 열에 연결할 수 있습니다. 그러면 제약 조

건, 삽입 및 업데이트에 대한 유효성 검사와 저장된 XML 내부의 값 입력은 물론
저장소 및 쿼리 처리에 대한 최적화 작업도 수행할 수 있습니다. SQL Server

2005 에서는 서버에서 스키마를 관리하기 위한 여러 가지 DDL 문도 제공합니

다.


XML 검색 및 쓰기



SQL Server 2005 Beta 2 에서는 SQL Server 2000 에서 처음 도입된 FOR XML

및 OPENXML 기능도 여러 가지로 향상되었습니다.

FOR XML

SQL Server 2000 에서 FOR XML 절은 서버에서 XML 결과를 사용할 수 있는 방

법을 제공하지 않습니다. XML 결과를 먼저 클라이언트에 반환하지 않고는 테이

블에 저장하거나 변수에 할당할 수 없습니다. SQL Server 2005 Beta 2 에서는

XML 데이터 형식에 대한 지원이 추가되고 서버에서 XML 을 사용할 수 있게 됨

으로써 FOR XML 이 향상되었습니다. 이는 FOR XML 에 TYPE 지시문이 추가

되었기 때문입니다. 예를 들어 SELECT...FOR XML TYPE 문의 결과는 로컬

또는 XML 변수에 할당할 수 있거나 후속 INSERT 문에 사용하여 XML 데이터

형식 열을 채울 수 있는 XML 데이터 형식 인스턴스를 생성합니다. PATH 모드

는 XML 트리에서 열의 값이 표시되어야 하는 경로를 지정합니다. FOR XML 에

포함된 TYPE 옵션과 PATH 옵션은 복잡한 XML 생성 작업을 단순화하며 FOR

XML EXPLICIT 쿼리보다 사용하기 편리합니다. FOR XML 은 SQL Server 2005

Beta 2 의 XML 데이터 형식 열에서도 사용할 수 있습니다.

OPENXML


SQL Server 2000 은 기본적으로 FOR XML 절과 OPENXML rowset 함수를 상

반되는 하나의 짝으로 처리했습니다. 즉, FOR XML 로는 관계형 데이터를 XML

로 검색할 수 있고 OPENXML 로는 XML 을 관계형 데이터로 변환하여 관계형 데
이터에 대해 SQL 조인을 설정하거나 쿼리를 실행할 수 있습니다. SQL Server

2005 Beta 2 에서는 OPENXML 의 기능이 향상되었습니다. XML 데이터 형식 이

외에도 UDT(사용자 정의 형식) 등 여러 가지 새 데이터 형식이 지원됩니다.

OPENXML WITH 절에서 이 형식을 사용할 수 있으며 XML 데이터 형식 인스턴

스를 sp_preparedocument 로 전달할 수도 있습니다.


XQuery 지원


XML 쿼리 언어, 즉 XQuery 는 모든 형식의 XML 데이터를 쿼리할 수 있게 최적

화된 지능적이고 뛰어난 언어입니다. XQuery 를 사용하면 XML 데이터 형식과

연결된 메서드를 사용하여 XML 데이터 형식의 변수와 열에 대한 쿼리를 실행

할 수 있습니다. 여러 XML 표준과 마찬가지로 W3C(World Wide Web

Consortium)에서 XQuery 의 개발을 감독합니다. XQuery 는 XPath(XML Path

Language) 버전 1.0, XQL 및 SQL 같은 여러 가지 다른 쿼리 언어를 기반으로

하는 Quilt 라는 쿼리 언어에서 발전한 것입니다. XPath 2.0 이 하위 집합으로 포

함되어 있기도 합니다. 따라서 XPath 1.0 을 사용한 경험이 있으면 그 기술을 사

용할 수 있으며 새 쿼리 언어를 전부 다 배우지 않아도 됩니다. XQuery 에는 입

력, 특수 함수, 그리고 효과적인 반복, 결과 정렬 및 구성 지원 등 XPath 1.0 보

다 훨씬 향상된 기능이 들어 있습니다.


SQL Server 2005 Beta 2 에는 데이터 계층에서 XML 개체 조작을 가능하게 하

는 고급 XQuery 기능이 함께 제공됩니다. 이는 2003 년 11 월 15 일의 XQuery

1.0 Working Draft 정적 형식 하위 집합을 지원합니다.


DML 확장
XQuery 사양에는 현재 쿼리를 위한 구문은 포함되어 있지만 XML 문서 수정을

위한 구문은 포함되어 있지 않습니다. XML DML(Data Modification Language)

은 데이터 수정을 위한 XQuery 기능의 확장입니다. SQL Server 2005 Beta 2

에는 insert, update 및 delete 의 세 가지 키워드가 추가되었습니다. 이 세

키워드를 각각 XML 데이터 형식의 modify() 메서드 내에서 사용할 수 있습니

다.




새로운 응용 프로그램 프레임워크


SQL Server 2005 에서는 새로운 SQL Server 응용 프로그램 프레임워크인

Service Broker(서비스 브로커)를 사용합니다. Service Broker(서비스 브로커)

는 데이터베이스 대 데이터베이스 수준에서 신뢰할 수 있는 비동기 메시징을 제

공하는 분산 응용 프로그램 프레임워크입니다.



SQL Service Broker(서비스 브로커)


지난 10 년 동안 전자 상거래 응용 프로그램이 널리 사용되기 시작함에 따라 데

이터베이스 응용 프로그램 간의 워크플로 관리를 향상시킬 필요성이 생겼습니

다. 온라인 고객이 책을 주문한 경우 이 주문은 재고, 출하 및 신용 카드 시스템

에 트랜잭션을 커밋하고 다른 웹 응용 프로그램을 통해 주문 확인도 보내야 합

니다. 이러한 각각의 프로세스가 순서대로 진행되는 것을 기다리는 것은 비생산

적인 일입니다. SQL Server 2005 는 비동기 메시지 라우팅을 구성하기 위해 확

장 가능한 새 아키텍처를 제공합니다.
Service Broker(서비스 브로커) 기술을 사용하면 내부 또는 외부 프로세스가 일

반 Transact-SQL 데이터 조작 언어의 확장 언어를 사용하여 신뢰할 수 있는 비

동기 메시지 스트림을 주고 받을 수 있습니다. 메시지는 보낸 사람과 동일한 데

이터베이스에 있는 대기열, 동일한 SQL Server 인스턴스에 있는 다른 데이터베

이스 또는 동일한 서버나 원격 서버에 있는 다른 SQL Server 인스턴스로 보내

집니다.



Reporting Services


Microsoft SQL Server 2005 릴리스를 통해 Microsoft 는 통합 BI(Business

Intelligence) 플랫폼의 새로운 주요 구성 요소를 확장합니다. SQL Server

Reporting Services 는 어느 비즈니스 환경에서나 필요한 사람이 필요한 정보를

쉽게 얻을 수 있도록 함으로써 Microsoft BI 비전을 확장합니다.

Reporting Services 는 일반적인 대화형 보고서를 만들고 관리하고 배달하기 위

한 완벽한 서버 기반 플랫폼입니다. 보고서를 만들고 배포하고 관리하는 데 필

요한 모든 기능이 포함되어 있습니다. 동시에 라우팅 서비스의 모듈식 디자인

및 광범위한 API(응용 프로그램 프로그래밍 인터페이스) 덕분에 소프트웨어 개

발자, 데이터 공급자 및 엔터프라이즈는 기존 시스템 또는 타사 응용 프로그램

과 보고를 통합할 수 있습니다.


Reporting Services 는 SQL Server 2005 와 함께 제공되며 다음을 포함합니다.



  •   보고서를 만들고 관리하고 보기 위한 완벽한 도구 집합

  •   보고서를 호스트하고 처리하기 위한 엔진
•   다양한 IT 환경에서 보고서를 포함하거나 솔루션을 통합하기 위한 확장

      가능한 아키텍처 및 공개 인터페이스


Notification Services


Microsoft SQL Server Notification Services 는 알림을 생성하여 사용자에게 보

내는 응용 프로그램을 개발하고 배포하기 위한 플랫폼입니다. 알림이란 정해진

시간에 여러 장치로 보낼 수 있는 사용자 지정된 메시지를 말합니다.


알림은 구독자의 기본 설정을 반영합니다. 구독자는 구독을 입력하여 특정 정보

에 대해 관심이 있다는 것을 표출합니다. 예를 들어 "Adventure Works 주식 시

세가 $70.00 에 도달하면 알림" 또는 "내 팀에서 작성 중인 전략 문서가 업데이

트되는 경우 알림"과 같습니다.

알림은 트리거 이벤트가 발생하는 즉시 생성하여 사용자에게 보낼 수도 있고,

사용자가 지정한 미리 결정된 일정에 따라 생성하여 보낼 수도 있습니다. 사용

자의 구독은 알림을 생성하여 보낼 시점을 지정합니다.


알림은 다양한 장치, 즉 사용자의 휴대폰, PDA(개인용 정보 단말기), Microsoft

Windows Messenger 또는 전자 메일 계정 등으로 보낼 수 있습니다. 이러한 장

치의 경우 사용자가 거의 항상 바로 확인할 수 있으므로 알림은 우선 순위가 높

은 정보를 보내는 데 적합합니다.



SQL Server Mobile Edition
SQL Server 2000 Windows CE Edition 과 함께 제공되는 SQL Server 2000 은

이제 SQL Server Mobile Edition 버전 3.0 이 되었습니다. SQL Server Mobile

Edition 에는 개발자를 위한 여러 가지 새로운 주요 기능이 있습니다.


  •   SQL Server Management Studio 에서 직접 데스크톱 또는 장치에 SQL

      Server Mobile Edition 데이터베이스를 만들 수 있습니다. 데이터베이스

      가 모바일 장치에 있든, 데스크톱에 있든 관계없이 Management Studio

      에서 바로 SQL Server Mobile Edition 데이터베이스의 스키마를 조작할

      수도 있습니다. SQL Server Management Studio 를 사용하여 장치 또는

      데스크톱에서 SQL Server Mobile Edition 데이터베이스를 대상으로 하

      는 쿼리를 실행할 수 있습니다. 원시 SQL Server 처럼 GUI 형식으로 렌

      더링되는 XML 실행 계획을 포함하는 새로운 SQL Server Mobile Edition

      기능과 SQL Server Mobile Edition 의 쿼리 최적화 프로그램을 재정의하

      는 쿼리 힌트를 사용할 수도 있습니다. 처음으로 개발자가 장치에서 최적

      화 계획을 제어할 수 있습니다.

  •   이제 DTS(데이터 변환 서비스) 개체에 대해 코드화하여 데이터를 교환할

      수 있습니다.

  •   새 SqlCeResult 집합은 SQL Server 2005 에 있는 SqlCeResult 집합

      에서 파생된 것으로서 SQL Server Mobile Edition 에서 커서를 완벽하게

      스크롤 및 업데이트할 수 있도록 합니다. 또한 장치에 있는 데이터 개체

      에 대한 바인딩을 가능하게 합니다.

  •   주 응용 프로그램을 열어 놓은 상태에서 응용 프로그램을 코드화하여 데

      이터를 동기화하고, 별도의 두 응용 프로그램이 동시에 장치에 있는 동일

      한 데이터베이스에 액세스하도록 할 수 있습니다.
•   동기화 상태를 표시하는 상태 표시줄로 코드화할 수 있는 알림을 받을 수

      있습니다. 이전에는 동기화 상태가 얼마나 진행되었는지 알지 못했기 때

      문에 장치의 응답이 멈춘 것이 아니라는 것을 사용자에게 알릴 수 없었습

      니다.

  •   좀 더 적극적인 페이지 교정 정책(page reclamation policy)을 통해 데이

      터베이스의 크기를 작게 유지할 수 있습니다.

  •   SQL Server 구문을 사용하여 매개 변수화된 쿼리 코드를 공유할 수 있습

      니다.



향상된 언어


향상된 Transact-SQL


Transact-SQL 은 오랫동안 SQL Server 의 모든 프로그래밍에 대한 기초였습니

다. SQL Server 2005 Beta 2 는 확장 가능한 데이터베이스 응용 프로그램을 개

발하기 위한 여러 가지 새 언어 기능을 제공합니다. 향상된 기능에는 오류 처리,

새로운 재귀적 쿼리 기능 및 새 SQL Server Database Engine 기능에 대한 지

원이 포함됩니다. SQL Server 2005 Beta 2 의 향상된 Transact-SQL 은 사용자

의 쿼리 작성 능력을 향상시켜 코드의 성능을 높이고 오류 관리 기능을 확장할

수 있도록 합니다. Transact-SQL 을 향상시키기 위해 이렇게 지속적으로 노력

하는 것은 SQL Server 에서 Transact-SQL 이 매우 중요하다고 확신하기 때문

입니다.



재귀적 쿼리 및 공용 테이블 식
공용 테이블 식(common table expression)은 정의하는 문이 참조할 수 있는

임시 명명된 결과 집합입니다. CTE 는 형태가 간단하므로 비영구적인 유형의

뷰와 보다 비슷한 파생된 테이블의 향상된 버전으로 생각할 수도 있습니다. 파

생된 테이블 및 뷰를 참조하는 것과 비슷한 방법으로 쿼리의 FROM 절에서

CTE 를 참조합니다. CTE 는 단 한 번만 정의하며 쿼리에서 여러 번 참조할 수

있습니다. CTE 정의에서는 동일한 배치에 정의된 변수를 참조할 수 있습니다.

뷰를 사용하는 것과 비슷한 방법으로 INSERT, UPDATE, DELETE 및

CREATE VIEW 문에서 CTE 를 사용할 수도 있습니다. 그러나 CTE 에서 가장

유용하게 사용할 수 있는 기능은 CTE 자체에 참조를 포함하고 있는 재귀적 기

능입니다. 쿼리 결과를 테이블처럼 참조하려 할 때 데이터베이스에 영구적인 뷰

를 만들지 않으려면 파생된 테이블을 사용합니다. 그러나 파생된 테이블에는

CTE 에 의해 완화되는 제한이 있습니다. 파생된 테이블을 쿼리에서 한 번 정의

한 다음에 여러 번 사용할 수는 없습니다. 대신 같은 쿼리에 여러 개의 파생된

테이블을 정의해야 합니다. 또는 CTE 를 한 번 정의한 다음 데이터베이스에서

영구적으로 만들지 않으면서 쿼리에서 여러 번 사용할 수 있습니다.


비재귀적 CTE 는 사용자의 표현 능력을 향상시킵니다. 그러나 비재귀적 CTE 를

사용하는 각 코드 부분의 경우에는 일반적으로 파생된 테이블과 같은 다른

Transact-SQL 구문을 사용하여 동일한 결과를 얻는 좀 더 긴 코드를 작성할 수

있습니다. 이 경우는 재귀적 CTE 와 다릅니다. CTE 가 자신을 참조하는 경우 재

귀적인 것으로 간주됩니다. 재귀적 CTE 는 적어도 다음과 같은 두 개의 쿼리 부

분 또는 재귀적 쿼리 언어 멤버로 구성됩니다. 하나는 비재귀적 쿼리 부분으로

서 AM(앵커 멤버)이라고도 합니다. 다른 하나는 재귀적 쿼리 부분으로서 RM(재

귀적 멤버)이라고도 합니다. 두 쿼리 부분은 UNION ALL 연산자를 통해 하나

의 CTE 로 조인됩니다.
PIVOT 및 UNPIVOT 연산자



SQL Server 2005 Beta 2 는 쿼리의 FROM 절에서 사용되는 두 개의 새 관계형

연산자, PIVOT 및 UNPIVOT 을 제공합니다. 이 연산자는 입력 테이블 반환 식

에서 값을 조작하여 출력 테이블을 결과로 표시합니다. PIVOT 연산자는 행을

열로 바꾸면서 가능하면 그 과정에서 값을 집계하며, 피벗 열의 각 고유 값에 대

한 열이 있는 출력 테이블을 생성하는 주어진 피벗 열을 기준으로 입력 테이블

식을 넓힙니다.

PIVOT 연산자는 공개 스키마 시나리오를 처리하고 크로스 탭 보고서를 생성하

는 데 유용합니다. 공개 스키마 시나리오에서는 아직 알려지지 않았거나 각 엔

터티 유형마다 다른 특성의 집합으로 엔터티를 유지합니다. 특성은 응용 프로그

램 사용자가 동적으로 정의합니다. 여러 열을 미리 정의하고 테이블에 여러

NULL 을 저장하는 대신 특성을 서로 다른 행으로 분할하고 각 엔터티 인스턴스

에 대한 관련 특성만 저장하면 됩니다.PIVOT 을 사용하면 행을 열로 바꾸면서

가능하면 그 과정에서 집계를 계산하고 데이터를 유용한 형태로 표시하는 공개

스키마 및 기타 시나리오에 대한 크로스 탭 보고서를 생성할 수 있습니다.


UNPIVOT 연산자는 PIVOT 의 반대 연산, 즉 열을 행으로 바꾸며 피벗 열을 기

준으로 입력 테이블 식을 좁힙니다. UNPIVOT 연산자를 사용하면 이전에 피벗

한 데이터를 표준화할 수 있습니다.


APPLY 연산자



APPLY 연산자를 사용하면 SQL Server 2005 Beta 2 에서 상호 관련 하위 쿼리

의 테이블 반환 함수를 참조할 수 있습니다. APPLY 관계형 연산자를 통해 사

용자는 외부 테이블 식의 각 행에 대해 지정된 테이블 반환 함수를 한 번 호출할
수 있습니다. JOIN 관계형 연산자를 사용하는 것과 비슷한 방법으로 쿼리의

FROM 절에서 APPLY 를 지정합니다. APPLY 는 CROSS APPLY 및 OUTER

APPLY 의 두 가지 형태로 제공됩니다.


CROSS APPLY 는 외부 테이블 식에 있는 각 행에 대해 테이블 반환 함수를

호출합니다. 외부 테이블의 열을 테이블 반환 함수에 대한 인수로 참조할 수 있

습니다. CROSS APPLY 는 테이블 반환 함수의 개별 호출에 의해 반환된 모든

결과로부터 컴파일한 통합된 결과 집합을 반환합니다. 테이블 반환 함수가 주어

진 외부 행에 대해 빈 집합을 반환하는 경우 해당 외부 행은 결과에 반환되지 않

습니다.


OUTER APPLY 는 OUTER APPLY 와 매우 비슷하지만 테이블 반환 함수가

빈 집합을 반환하는 외부 테이블에서도 행을 반환합니다. 테이블 반환 함수의

열에 해당하는 열 값으로 NULL 이 반환됩니다.


트랜잭션의 예외 처리



이전 버전의 SQL Server 에서는 Microsoft Visual Basic 6.0 에서와 유사하게 오

류가 있을지도 모르는 모든 문 뒤에 오류 처리 코드를 포함시켜야 했습니다. 오

류 검사 코드를 중앙에서 처리하기 위해 레이블과 GOTO 문을 사용해야 했습

니다. 더구나 데이터 형식 변환 오류 같은 오류는 배치를 종료시키므로

Transact-SQL 로 잡아낼 수 없었습니다. SQL Server 2005 Beta 2 에서는

Visual Basic .NET 및 C#에 있는 것과 거의 마찬가지로 TRY/CATCH

Transact-SQL 구문의 형태로 된 단순하지만 강력한 예외 처리 메커니즘의

도입을 통해 이러한 문제 중 다수를 해결합니다. 이전에는 문, 수준, 배치 또는

트랜잭션을 종료시키던 오류도 연결에 심각한 피해를 입힐 정도만 아니라면 찾

아서 처리할 수 있게 되었습니다.
오류 처리를 구현하려면 실행할 코드를 BEGIN TRY/END TRY 블록 안에 쓴

다음 BEGIN CATCH /END CATCH 블록 안에 오류 처리 코드를 쓰기만 하

면 됩니다. TRY 블록은 대응하는 CATCH 블록이 있어야 합니다. 그렇지 않으

면 구문 오류가 발생합니다.



DDL 이벤트 알림


SQL Server 2005 Beta 2 에서는 DDL 및 시스템 이벤트를 캡처하고 이벤트 알

림을 Service Broker(서비스 브로커) 서비스로 보낼 수 있습니다. 동기적으로

처리되는 트리거와 반대로 이벤트 알림은 비동기 소비가 가능한 이벤트 메커니

즘입니다. 이벤트 알림은 지정된 Service Broker(서비스 브로커) 서비스로 XML

데이터를 보내고 이벤트 소비자가 이를 비동기적으로 소비합니다. 이벤트 소비

자는 Service Broker(서비스 브로커) Receive 문의 WAITFOR 절에 확장 기능을

사용하여 새 데이터가 도착할 때까지 기다릴 수 있습니다.


향상된 전체 텍스트 검색


SQL Server 2005 에서는 뛰어난 전체 텍스트 응용 프로그램을 지원합니다. 카

탈로그 만들기 기능은 카탈로그로 만들어지는 내용을 보다 융통성 있게 처리할

수 있도록 향상되었습니다. 쿼리 성능과 확장성이 크게 향상되었으며, 새 관리

도구를 사용하면 전체 텍스트 구현을 좀 더 깊이 있게 이해할 수 있습니다.



향상된 보안
SQL Server 2005 는 보안, 개인 정보 보호, 신뢰성 및 비즈니스 무결성 분야에

서 고객 환경을 향상시키기 위한 Microsoft 의 "Trustworthy Computing" 모토

로부터 여러 가지 이점을 얻습니다. 2002 년 1 월부터 전사적으로 도입된 이 모

토의 일환으로 Microsoft 는 현재 디자인부터 배포에 이르기까지 기본적으로 제

품과 제품 배포의 보안을 보장하는 데 도움이 되는 개발 프로세스를 따르고 있

습니다. Microsoft SQL Server 개발 팀은 SQL Server 2005 의 개발에 이러한

프로세스를 통합했습니다. 배포 후에도 Microsoft 는 보안 문제에 대해 지속적

으로 고객 및 파트너의 의견을 수용할 예정입니다. 그 결과 SQL Server 2005 에

는 현재까지의 그 어느 SQL Server 릴리스보다 광범위한 보안 기능이 통합될

것입니다.


일반적으로 다음과 같은 면에서 기능이 향상되었습니다.



  •   SQL 서버에 대한 사용자 액세스 제한: SQL Server 에 대한 향상된

      액세스 제어 기능과 메커니즘에 대한 투자 덕분에 관리자가 정책을 통해

      SQL Server 에 대한 액세스를 제어할 수 있게 되었습니다.


  •   서비스 해제 및 서비스 구성 제한: SQL Server 내에서 관리자가 자신

      이 지정한 범위와 세분화 정도에 따라 리소스에 대한 액세스를 제한할 수

      있도록 하며, 최소 권한의 원칙을 위반하지 않으면서 보다 관리하기 쉬운

      시스템을 구현할 수 있도록 합니다. 새 서버 설치를 위해 일부 서비스가

      기본적으로 해제되므로 고객은 이제 사용하고자 하는 특정 추가 서비스

      를 보다 자유롭게 선택할 수 있게 되었습니다.

  •   새 기능에 대한 공격 지점 축소 :SQL Server 의 설치와 설정부터 시작

      하여 공격 당할 수 있는 지점이 최소화되었습니다. 제품 개발 주기 전반
에 걸쳐 공격 지점을 줄이기 위해 새 기능에 대해 보안을 검토하고 테스

    트했습니다.



결론


Microsoft SQL Server 2005 는 개발자가 새로운 클래스의 데이터베이스 응용

프로그램을 빌드하는 데 필요한 도구를 제공합니다. 코드 실행 및 저장소 위치

에 대한 장애 요소를 없애고 XML 같은 표준을 통합함으로써 SQL Server 2005

는 데이터베이스 개발자에게 새로운 가능성을 열어 줍니다. 이 기사에 포함된

내용은 SQL Server 2005 에서 가능한 작업에 대한 소개일 뿐입니다.

More Related Content

Similar to Sql Server 2005 개요

손쉬운 데이터 연결 방법(라이브바인딩 활용)
손쉬운 데이터 연결 방법(라이브바인딩 활용)손쉬운 데이터 연결 방법(라이브바인딩 활용)
손쉬운 데이터 연결 방법(라이브바인딩 활용)Devgear
 
MANTL을 MANTL답게! ELK로 만들어갑니다
MANTL을 MANTL답게! ELK로 만들어갑니다MANTL을 MANTL답게! ELK로 만들어갑니다
MANTL을 MANTL답게! ELK로 만들어갑니다CiscoKorea
 
No sql survey report
No sql survey reportNo sql survey report
No sql survey reportGichan Lee
 
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017Amazon Web Services Korea
 
보다 빠른 SQL튜닝과 분석을 위한 새로운 툴
보다 빠른 SQL튜닝과 분석을 위한 새로운 툴보다 빠른 SQL튜닝과 분석을 위한 새로운 툴
보다 빠른 SQL튜닝과 분석을 위한 새로운 툴Devgear
 
MySQL operator for_kubernetes
MySQL operator for_kubernetesMySQL operator for_kubernetes
MySQL operator for_kubernetesrockplace
 
[Uws] enterprise application architecture, msa, java9, spring 소개
[Uws] enterprise application architecture, msa, java9, spring 소개[Uws] enterprise application architecture, msa, java9, spring 소개
[Uws] enterprise application architecture, msa, java9, spring 소개HYUN-JOO LEE
 
2015 Open Cloud Engine Handbook
2015 Open Cloud Engine Handbook2015 Open Cloud Engine Handbook
2015 Open Cloud Engine HandbookuEngine Solutions
 
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021Amazon Web Services Korea
 
[스프링 스터디 1일차] 템플릿
[스프링 스터디 1일차] 템플릿[스프링 스터디 1일차] 템플릿
[스프링 스터디 1일차] 템플릿AnselmKim
 
LucideWorks Banana 소개
LucideWorks Banana 소개 LucideWorks Banana 소개
LucideWorks Banana 소개 SuHyun Jeon
 
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더Amazon Web Services Korea
 
마이크로소프트웨어2014년1월 s dx_ian
마이크로소프트웨어2014년1월 s dx_ian마이크로소프트웨어2014년1월 s dx_ian
마이크로소프트웨어2014년1월 s dx_ianIan Choi
 
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기Amazon Web Services Korea
 
SQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case StudySQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case Studyrockplace
 
AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017
AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017
AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017Amazon Web Services Korea
 
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713테크데이타
 
Vertica New Features - 8.1에서 9.2까지
Vertica New Features - 8.1에서 9.2까지Vertica New Features - 8.1에서 9.2까지
Vertica New Features - 8.1에서 9.2까지Kee Hoon Lee
 
신규 시장 개척과 클라우드 Offering을 위한 AWS 데이터베이스 서비스 이해 (최유정 데이터베이스 솔루션즈 아키텍트, AWS) :: ...
신규 시장 개척과 클라우드 Offering을 위한 AWS 데이터베이스 서비스 이해 (최유정 데이터베이스 솔루션즈 아키텍트, AWS) :: ...신규 시장 개척과 클라우드 Offering을 위한 AWS 데이터베이스 서비스 이해 (최유정 데이터베이스 솔루션즈 아키텍트, AWS) :: ...
신규 시장 개척과 클라우드 Offering을 위한 AWS 데이터베이스 서비스 이해 (최유정 데이터베이스 솔루션즈 아키텍트, AWS) :: ...Amazon Web Services Korea
 

Similar to Sql Server 2005 개요 (20)

손쉬운 데이터 연결 방법(라이브바인딩 활용)
손쉬운 데이터 연결 방법(라이브바인딩 활용)손쉬운 데이터 연결 방법(라이브바인딩 활용)
손쉬운 데이터 연결 방법(라이브바인딩 활용)
 
MANTL을 MANTL답게! ELK로 만들어갑니다
MANTL을 MANTL답게! ELK로 만들어갑니다MANTL을 MANTL답게! ELK로 만들어갑니다
MANTL을 MANTL답게! ELK로 만들어갑니다
 
No sql survey report
No sql survey reportNo sql survey report
No sql survey report
 
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
AWS DMS를 통한 오라클 DB 마이그레이션 방법 - AWS Summit Seoul 2017
 
보다 빠른 SQL튜닝과 분석을 위한 새로운 툴
보다 빠른 SQL튜닝과 분석을 위한 새로운 툴보다 빠른 SQL튜닝과 분석을 위한 새로운 툴
보다 빠른 SQL튜닝과 분석을 위한 새로운 툴
 
MySQL operator for_kubernetes
MySQL operator for_kubernetesMySQL operator for_kubernetes
MySQL operator for_kubernetes
 
[Uws] enterprise application architecture, msa, java9, spring 소개
[Uws] enterprise application architecture, msa, java9, spring 소개[Uws] enterprise application architecture, msa, java9, spring 소개
[Uws] enterprise application architecture, msa, java9, spring 소개
 
2015 Open Cloud Engine Handbook
2015 Open Cloud Engine Handbook2015 Open Cloud Engine Handbook
2015 Open Cloud Engine Handbook
 
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
Oracle DB를 AWS로 이관하는 방법들 - 서호석 클라우드 사업부/컨설팅팀 이사, 영우디지탈 :: AWS Summit Seoul 2021
 
[스프링 스터디 1일차] 템플릿
[스프링 스터디 1일차] 템플릿[스프링 스터디 1일차] 템플릿
[스프링 스터디 1일차] 템플릿
 
LucideWorks Banana 소개
LucideWorks Banana 소개 LucideWorks Banana 소개
LucideWorks Banana 소개
 
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
[Retail & CPG Day 2019] 마켓컬리 서비스 AWS 이관 및 최적화 여정 - 임상석, 마켓컬리 개발 리더
 
마이크로소프트웨어2014년1월 s dx_ian
마이크로소프트웨어2014년1월 s dx_ian마이크로소프트웨어2014년1월 s dx_ian
마이크로소프트웨어2014년1월 s dx_ian
 
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
 
SQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case StudySQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case Study
 
AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017
AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017
AWS 상에서 Microsoft 워크로드 구축 및 운영 - AWS Summit Seoul 2017
 
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
테크데이타 - MS workload migration to aws 웨비나 발표자료 20210713
 
Vertica New Features - 8.1에서 9.2까지
Vertica New Features - 8.1에서 9.2까지Vertica New Features - 8.1에서 9.2까지
Vertica New Features - 8.1에서 9.2까지
 
신규 시장 개척과 클라우드 Offering을 위한 AWS 데이터베이스 서비스 이해 (최유정 데이터베이스 솔루션즈 아키텍트, AWS) :: ...
신규 시장 개척과 클라우드 Offering을 위한 AWS 데이터베이스 서비스 이해 (최유정 데이터베이스 솔루션즈 아키텍트, AWS) :: ...신규 시장 개척과 클라우드 Offering을 위한 AWS 데이터베이스 서비스 이해 (최유정 데이터베이스 솔루션즈 아키텍트, AWS) :: ...
신규 시장 개척과 클라우드 Offering을 위한 AWS 데이터베이스 서비스 이해 (최유정 데이터베이스 솔루션즈 아키텍트, AWS) :: ...
 
One ASP.NET
One ASP.NETOne ASP.NET
One ASP.NET
 

Sql Server 2005 개요

  • 1. 데이터베이스 개발자를 위한 SQL Server 2005 개요 Matt Nunn Microsoft Corporation 적용 대상: Microsoft SQL Server 2005 SQL Server 데이터베이스 개발 Microsoft .NET Framework Microsoft Visual Studio 2005 Microsoft ADO.NET 2.0 요약: 이 기사에서는 Microsoft SQL Server 2005 의 새로운 데이터베이스 개발 기능에 대한 개요를 제공합니다 목차 데이터베이스 개발의 새로운 패러다임 .NET Framework 통합 XML 기술 새로운 응용 프로그램 프레임워크 향상된 언어 결론
  • 2. 데이터베이스 개발의 새로운 패러다임 Microsoft SQL Server 2005 Beta 2 의 릴리스와 함께 데이터베이스 개발 분야 가 새롭게 변화하고 있습니다. 데이터베이스 개발자는 이제 코드를 기능에 맞도 록 적절하게 배치하여 XML 같은 원시 형식의 데이터에 액세스하거나 데이터베 이스 서버 중심의 복잡한 시스템을 구축할 수 있습니다. 데이터베이스 개발은 그 어느 때보다 효율적으로 통합되고 있으며, 개발자는 필요한 모든 도구를 편 리하게 사용할 수 있습니다. 이 기사에서는 개발자가 새로운 클래스의 데이터베이스 응용 프로그램을 구축 할 수 있는 SQL Server 2005 의 새 기능 중 몇 가지에 대해 설명합니다. .NET Framework 통합 Microsoft SQL Server 2005 Beta 2 가 출시됨으로써 데이터베이스 프로그래머 는 Microsoft .NET Framework 클래스 라이브러리와 최신 프로그래밍 언어를 최대한 활용하여 서버 내에서 기능을 구현할 수 있게 되었습니다. 데이터베이스 개발자는 CLR(공용 언어 런타임) 통합을 사용하여 저장 프로시저, 함수 및 트리 거를 선택한 .NET Framework 언어로 코드화할 수 있습니다. Microsoft Visual Basic .NET 및 C# 프로그래밍 언어는 모두 개체 지향 구문, 구조적 예외 처리, 배열, 네임스페이스 및 클래스를 제공합니다. 뿐만 아니라 .NET Framework 는 서버 쪽에서 쉽게 사용할 수 있는 광범위한 기본 제공 기능을 갖춘 수천 개의 클 래스 및 메서드를 제공합니다. Transact-SQL 에서는 수행하기 곤란했거나 어 려웠던 여러 가지 작업을 관리되는 코드를 사용하여 보다 효율적으로 완수할 수 있습니다. 또한 새로운 두 가지 데이터베이스 개체 형식(집계 및 사용자 정의 형
  • 3. 식)을 사용할 수 있습니다. 개발자는 이미 습득한 지식 및 기술을 보다 효율적으 로 사용하여 in-process 코드를 작성할 수 있게 되었습니다. 요약하자면 SQL Server 2005 Beta 2 를 통해 개발자는 데이터베이스 서버를 확장하여 백엔드에 서 적절한 계산 및 작업을 보다 쉽게 수행할 수 있습니다. SQL Server 와 CLR 간의 이러한 통합으로 인해 여러 가지 주요 이점이 제공됩 니다. • 향상된 프로그래밍 모델: .NET Framework 와 호환되는 프로그래밍 언어 는 여러 가지 면에서 Transact-SQL 보다 풍부하므로 SQL 개발자가 이전 에는 사용할 수 없었던 구문 및 기능을 제공합니다. • 향상된 안전성 및 보안: 관리되는 코드는 데이터베이스 엔진이 호스트하 는 CLR 환경에서 실행됩니다. 따라서 .NET Framework 데이터베이스 개 체는 이전 버전의 SQL Server 에서 사용할 수 있었던 확장된 저장 프로시 저보다 안전하고 보안이 강화되어 있습니다. • 사용자 정의 형식 및 집계: CLR 을 호스트함으로써 SQL Server 의 저장 소 및 쿼리 기능을 확장하는 두 개의 새 데이터베이스 개체를 사용할 수 있습니다. • 공용 개발 환경: 데이터베이스 개발은 Microsoft Visual Studio 2005 개 발 환경에 통합됩니다. 개발자는 중간 계층 또는 클라이언트 계층 .NET Framework 구성 요소 및 서비스를 작성할 때 사용하는 것과 동일한 도 구를 사용하여 데이터베이스 개체 및 스크립트를 개발 및 디버깅할 수 있 습니다. • 성능 및 확장성: 관리되는 코드는 실행 이전에 네이티브 코드로 컴파일되 므로 일부 시나리오에서 성능이 크게 향상될 수 있습니다.
  • 4. 개발자는 CLR 통합을 사용함으로써 Visual Basic .NET 및 C# 같은 언어를 사 용하여 논리가 좀 더 복잡하며 계산 작업에 보다 적합한 코드를 작성할 수 있습 니다. 또한 Visual Basic .NET 및 C#은 캡슐화, 상속 및 다형성 같은 개체 지향 기능을 제공합니다. 이제 관련 코드를 클래스와 네임스페이스로 쉽게 구성할 수 있습니다. 즉, 매우 많은 양의 코드로 작업을 할 때 소요되는 시간을 보다 쉽게 구성 및 유지할 수 있습니다. 코드를 어셈블리 및 네임스페이스로 논리적, 물리 적으로 구성할 수 있는 기능은 매우 큰 이점이며, 이를 통해 대형 데이터베이스 구현에서 서로 다른 코드 조각을 좀 더 효과적으로 찾아 연결할 수 있습니다. 관리되는 코드는 숫자 처리 및 복잡한 실행 논리 관리 면에서 Transact-SQL 보 다 훨씬 효율적이며 문자열 처리, 정규식 등을 광범위하게 지원합니다. 또한 .NET Framework 클래스 라이브러리에서 사용할 수 있는 기능을 통해 데이터베 이스 개발자는 저장 프로시저, 트리거 또는 사용자 정의 함수에서 쉽게 액세스 할 수 있는 미리 구성된 수천 가지 클래스 및 루틴에 모두 액세스할 수 있게 되 었습니다. 향상된 문자열 처리 함수, 수학 함수, 날짜 연산, 시스템 리소스 액세 스, 고급 암호화 알고리즘, 파일 액세스, 이미지 처리 및 XML 데이터 조작에 이 르기까지 모든 항목을 관리되는 저장 프로시저, 함수, 트리거 및 집계에서 쉽게 액세스할 수 있습니다. 관리되는 코드의 주요 이점 중 하나는 형식 안전성입니다. 관리되는 코드가 실 행되기 전에 CLR 은 "확인"이라는 프로세스를 통해 여러 가지 검사를 수행하여 코드를 실행하는 것이 안전한지 확인합니다. 예를 들어 코드를 검사하여 쓰여지 지 않은 메모리를 읽는 일이 없도록 확인합니다. Transact-SQL 과 관리되는 코드 중에서 선택
  • 5. 이제 저장 프로시저, 트리거 및 사용자 정의 함수를 작성하는 경우 개발자는 일 반 Transact-SQL 을 사용할 것인지 아니면 Visual Basic .NET 또는 C# 같은 .NET Framework 와 호환되는 프로그래밍 언어를 사용할 것인지 결정해야 합니 다. 이 결정은 상황에 따라 달라집니다. Transact-SQL 을 사용하는 것이 좋은 경우가 있는 반면, 관리되는 코드를 사용하는 것이 좋은 경우도 있습니다. 코드가 기본적으로 수행하는 작업이 절차 논리가 없거나 적은 데이터 액세스일 경우에는 Transact-SQL 을 사용하는 것이 적절합니다. .NET Framework 와 호 환되는 프로그래밍 언어는 컴퓨팅이 많이 필요한 함수 및 복잡한 논리가 포함된 프로시저, 또는 .NET Framework 클래스 라이브러리를 활용하려는 상황에 적합 합니다. 코드 배치도 중요합니다. Transact-SQL 및 관리되는 코드는 모두 서버에서 실 행됩니다. 따라서 기능과 데이터가 서로 밀접하게 배치되며 사용자가 서버의 처 리 능력을 활용할 수 있습니다. 이는 데이터와 중간 계층 사이의 트래픽을 줄이 므로 유용합니다. 데이터와 근접한 위치에서 컴퓨팅 작업을 간단히 수행할 수 있으므로, I/O 가 많은 시스템에서는 이러한 방법이 매우 유용합니다. CLR 함수 는 실행을 병렬 처리 및 최적화할 수 있는 SQL Server 쿼리 프로세서를 활용할 수도 있습니다. 반면에 프로세서를 많이 사용하는 작업을 데이터베이스 서버에 배치하지 않을 수도 있습니다. 오늘날 대부분의 클라이언트 컴퓨터는 성능이 매 우 뛰어나므로 클라이언트에 최대한 많은 코드를 배치하여 이 처리 능력을 활용 할 수도 있습니다. 어떤 선택을 하든 모든 경우를 만족할 수는 없습니다. 웹 서비스
  • 6. SQL Server 2005 에서 개발자는 SQL Server 를 HTTP 수신기로 만들어 데이터 베이스 계층에서 XML 웹 서비스를 개발할 수 있습니다. 이는 웹 서비스 중심 응 용 프로그램에 대한 새로운 유형의 데이터 액세스 기능을 제공합니다. Microsoft SQL Server 2005 Beta 2 에서는 Microsoft IIS(인터넷 정보 서비스) 같은 중간 계층 수신기를 사용하지 않고도 HTTP 를 사용하여 SQL Server 에 직 접 액세스할 수 있습니다. SQL Server 는 웹 서비스 인터페이스를 통해 SQL 문 을 실행하고 함수 및 프로시저를 호출할 수 있도록 합니다. 쿼리 결과는 XML 형 식으로 반환되며 Visual Studio 의 웹 서비스 인프라를 활용할 수 있습니다 . ADO.NET 다음 버전의 ADO.NET 에는 여러 가지 새로운 기능이 있습니다. 새로운 쿼리 변 경 알림 지원에서 MARS(다중 활성 결과 집합)에 이르기까지, ADO.NET 은 데이 터 집합 액세스 및 조작을 발전시켜 더욱 뛰어난 확장성과 융통성을 달성합니 다. ADO.NET 알림 지원 SQL Server 2005 Beta 2 에서는 SQL Server 쿼리에 대한 알림을 지원합니다. 이 지원을 사용하여 SQL Server 에 명령을 보내고, 동일한 명령을 다시 실행할 때 처음 얻은 결과와 다른 결과가 나오는 경우 알림을 생성하도록 요청할 수 있 습니다. 이는 원본 데이터가 변경되는 때를 감지하는 종속성 개체를 사용하여 가능하도록 할 수 있습니다. ADO.NET, OLE DB, ODBC(Open Database Connectivity), Microsoft ADO(ActiveX Data Objects) 또는 SOAP 같은 클라이 언트 API 를 통해 서버로 보내진 명령에는 알림이 필요한 태그가 포함되어 있을 수 있습니다. 요청의 일부분으로 실행된 각 문에 대해 서버는 요청에 포함된 각
  • 7. 문마다 한 번만 실행되는 "알림 구독"을 만듭니다. 알림은 응용 프로그램이 폴링 할 수 있는 SQL Service Broker(서비스 브로커) 대기열을 통해 배달되며 알림 을 사용할 수 있을 때마다 반환되는 활성화 서비스 또는 차단 문을 사용합니다. 쿼리 알림은 데이터베이스 중심 웹 사이트 같은 응용 프로그램에서 결과를 캐싱 하는 데 유용합니다. 다중 활성 결과 집합 MARS(다중 활성 결과 집합)는 요청당 여러 개의 보류 요청이 있을 수 있도록 합니다. 특히 연결당 여러 개의 기본 결과 집합이 열려 있을 수 있습니다. 기본 결과 집합은 전달 전용/읽기 전용 결과 집합입니다. 기본 결과 집합의 경우 클라 이언트 드라이버는 대형 청크(테이블 형식 데이터 스트림 버퍼 크기 청크)에서 데이터를 있는 그대로 검색하여 서버 커서의 경우처럼 서버와 정보를 주고 받지 않고도 응용 프로그램 요청이 충족되도록 합니다. 응용 프로그램은 성능 저하 없이도 한 번에 한 행씩 프로그래밍하는 간단한 모델을 사용할 수 있습니다. 다중 활성 결과 집합 기능은 열린 기본 결과 집합이 전체 결과 집합이 사용될 때 까지 드라이버가 서버에 요청을 보내지 못하도록 차단하는 현재 제한을 제거합 니다. 스냅숏 격리 지원 SQL Server 2005 Beta 2 에서는 새로운 스냅숏 격리 수준을 제공합니다. 스냅 숏 격리는 데이터 판독기를 위해 데이터 버전을 저장하는 행 버전 지정 메커니 즘입니다. 이 새로운 격리 수준은 다음과 같은 이점을 제공합니다.
  • 8. 읽기 전용 응용 프로그램을 위한 데이터 가용성 향상. OLTP 환경에서 차 단되지 않은 읽기 작업이 가능합니다. • 쓰기 트랜잭션을 위한 필수적인 자동 충돌 감지 • Oracle 에서 SQL Server 로의 응용 프로그램 마이그레이션 단순화 예를 들어 잠금 작업을 수행하면 동일한 데이터를 동시에 읽고 쓰는 중인 응용 프로그램들이 서로 차단될 수 있습니다. 한 트랜잭션이 행을 변경하는 경우 다 른 트랜잭션은 쓰기가 커밋될 때까지 그 행을 읽을 수 없습니다. 스냅숏 격리를 사용하면 판독기가 이전에 커밋된 행 값에 액세스할 수 있습니다. 스냅숏 격리 수준은 ADO, OLE DB, SQLOLEDB, Shape Provider, SQLODBC, OLE DB Managed Provider 및 SQL Managed Provider 를 통해 지원되고 노출 됩니다. SQL Management Objects SMO(SQL Management Objects) 모델은 SQL Server 2005 의 관리 개체 모델 로서 SQL Server 관리 개체 모델이 디자인 및 아키텍처 면에서 크게 향상된 것 입니다. 이는 사용은 쉬우면서도 .NET Framework 관리되는 코드를 기반으로 하는 풍부한 개체 모델입니다. SMO 는 .NET Framework 를 사용하는 데이터베 이스 관리 응용 프로그램을 개발하기 위한 기본 도구입니다. SMO 는 SQL Server Management Studio 의 모든 대화 상자에서 사용되며 SQL Server Management Studio 에서 수행할 수 있는 모든 관리 작업은 SMO 를 사용하여 수행할 수도 있습니다.
  • 9. 새 SMO 개체 모델 및 Microsoft WMI(Windows Management Instrumentation) API 는 SQL-DMO 를 대체합니다. 가능한 경우 SMO 는 사용하기 쉽도록 비슷한 개체를 SQL-DMO 로 통합합니다. SQL Server 2005 Beta 2 에서 SQL-DMO 를 계속 사용할 수도 있지만 SQL-DMO 는 SQL Server 2005 고유의 기능을 관리 하도록 업데이트되지 않습니다. SMO 및 SQL-DMO SMO 개체 모델은 SQL-DMO 에서 수행한 작업이 논리적으로 이어지는 것입니 다. SMO 는 SQL-DMO 와 기능이 호환되며 다수의 동일 개체를 포함하고 있습 니다. 가능한 경우 원래 SQL-DMO 디자인을 따르지만, SMO 에는 SQL-DMO 보다 더 뛰어난 여러 가지 추가 기능이 있습니다. SQL Server 2005 의 최대 DDL(데이터 정의 언어) 및 관리 범위를 달성하기 위해 SMO 에는 150 개 이상의 새 클래스가 추가되었습니다. SMO 의 주요 장점은 성능과 확장성입니다. SMO 에는 캐시된 개체 모델이 있으 므로 개체의 여러 가지 속성을 변경해 본 후에 변경 내용을 SQL Server 에 적용 할 수 있습니다. 따라서 SMO 에서는 서버와 정보를 주고 받는 양이 적으므로 개 체를 더욱 융통성 있게 사용할 수 있습니다. 또한 SMO 의 인스턴스 생성 작업은 최적화되어 있습니다. 즉, 개체를 전체적 또는 부분적으로 인스턴스화할 수 있 습니다. 개체의 모든 속성을 인스턴스화하지 않으므로 많은 개체를 빨리 로드할 수 있습니다. 만들어진 모든 서버 개체에 대한 참조를 유지하는 응용 프로그램 루트 디렉터리 가 하나인 SQL-DMO 와 달리 SMO 에서는 새 연결을 설정하지 않고도 서버에 여러 루트를 설정할 수 있습니다. SMO 는 SQL-DMO 스타일 스크립팅을 지원 할 뿐 아니라 고급 다중 위상 스크립팅도 구현합니다. 변경 내용을 서버에 실제
  • 10. 로 적용하지 않으면서 개체를 캡처 모드로 전환하고 해당 개체에 대해 내보내는 모든 DDL 을 캡처할 수도 있습니다. SQL-DMO 에는 SMO 개체 인터페이스를 통해 WMI 모니터링 및 서버 구성을 지원하기 위해 WMI 에 대한 인터페이스를 단순화하는 관리되는 컴퓨터 개체도 있습니다. XML 기술 XML 은 데이터를 저장하고 전송하는 일반적인 형식이 되었으며 마크업, 구조적 또는 반구조적 정보에 널리 사용되고 있습니다. 이러한 종류의 데이터에 대한 예로는 텍스트(문서 구조 및 강조를 식별하도록 마크업), 포함된 개체(구조적), 한 인스턴스에서 다른 인스턴스로 구조를 변경할 수 있는 유형이 다른 데이터 (반구조적)를 들 수 있습니다. 또한 XML 은 로컬 네트워크 및 인터넷을 통해 서 로 다른 응용 프로그램 간에 데이터를 보급하는 중요한 표준으로 널리 인정받고 있습니다. Microsoft SQL Server 2000 은 관계형 데이터를 XML 형식으로 변환할 수 있도 록 하고 XML 데이터를 관계형 테이블에 저장하는 Microsoft SQLXML 을 통해 XML 의 사용을 지원합니다. Microsoft SQL Server 2005 Beta 2 는 XML 을 최 고급 데이터 형식으로 지원하는 것은 물론 XML 문서의 새 쿼리 언어를 제공하 고 현재 위치에서의 수정을 허용함으로써 이 기능을 기반으로 빌드되어 있습니 다. XML 데이터를 사용하여 작업하는 사용자의 요구를 보다 잘 지원할 수 있도록 새로운 XML 데이터 형식이 도입되었습니다. 이 데이터 형식에는 현재 마지막 호출에 있는 XQuery(XML Query)의 중요한 하위 집합을 구현하는 query(),
  • 11. exist(), value(), nodes() 및 modify() 메서드가 있습니다. 사실, 이 사양 은 SQL Server 2005 Beta 2 에서 XML 데이터 수정 구문이 추가됨으로써 더욱 확장되었습니다. XML 입력을 지원하도록 XML 스키마 등록 및 관리를 위한 키 워드가 추가되었습니다. SQL Server 2000 에서 관계형 데이터로부터 XML 을 생성하거나 XML 로부터 관계형 데이터를 생성하기 위해 도입된 두 기능인 FOR XML 및 OPENXML 에도 변화가 있습니다. XML 데이터 형식에 대한 지원 덕분 에 기능이 향상되었습니다. XML 데이터 형식 XML 은 SQL Server 에서 지원하는 스칼라 형식에 국한되지 않은 복잡한 데이터 를 모델링할 수 있습니다. 따라서 char 또는 varchar 같은 문자열 기반의 기본 제공 데이터 형식은 XML 의 강력한 기능과 여러 가지 이점을 모두 효율적으로 활용하기에는 부족합니다. 예를 들어 XML 이 문자열로 저장된 경우 전체 문서 를 삽입 또는 선택하거나 전체 문서에서 연속된 바이트를 검색할 수는 있지만 문서 자체의 내용을 쿼리할 수는 없습니다. XML 데이터 형식을 제공함으로써 SQL Server 2005 는 사용자가 XML 문서의 일부분을 쿼리하고, 문서가 XML 스 키마를 준수하는지 확인하고, XML 문서의 내용을 현재 위치에서 수정할 수도 있도록 합니다. SQL Server 2000 에서는 불가능한 방법으로 일반적인 관계형 데이터를 비구조적 또는 반구조적 XML 문서의 데이터와 통합하기도 합니다. SQL Server 2005 에서는 효율적으로 구문을 다시 분석할 수 있고 어느 정도의 압축이 가능한 내부 표시에서 XML 데이터가 BLOB(이진 대형 개체)로 저장됩니 다. XML 스키마의 집합을 XML 형식의 열에 연결할 수 있습니다. 그러면 제약 조 건, 삽입 및 업데이트에 대한 유효성 검사와 저장된 XML 내부의 값 입력은 물론
  • 12. 저장소 및 쿼리 처리에 대한 최적화 작업도 수행할 수 있습니다. SQL Server 2005 에서는 서버에서 스키마를 관리하기 위한 여러 가지 DDL 문도 제공합니 다. XML 검색 및 쓰기 SQL Server 2005 Beta 2 에서는 SQL Server 2000 에서 처음 도입된 FOR XML 및 OPENXML 기능도 여러 가지로 향상되었습니다. FOR XML SQL Server 2000 에서 FOR XML 절은 서버에서 XML 결과를 사용할 수 있는 방 법을 제공하지 않습니다. XML 결과를 먼저 클라이언트에 반환하지 않고는 테이 블에 저장하거나 변수에 할당할 수 없습니다. SQL Server 2005 Beta 2 에서는 XML 데이터 형식에 대한 지원이 추가되고 서버에서 XML 을 사용할 수 있게 됨 으로써 FOR XML 이 향상되었습니다. 이는 FOR XML 에 TYPE 지시문이 추가 되었기 때문입니다. 예를 들어 SELECT...FOR XML TYPE 문의 결과는 로컬 또는 XML 변수에 할당할 수 있거나 후속 INSERT 문에 사용하여 XML 데이터 형식 열을 채울 수 있는 XML 데이터 형식 인스턴스를 생성합니다. PATH 모드 는 XML 트리에서 열의 값이 표시되어야 하는 경로를 지정합니다. FOR XML 에 포함된 TYPE 옵션과 PATH 옵션은 복잡한 XML 생성 작업을 단순화하며 FOR XML EXPLICIT 쿼리보다 사용하기 편리합니다. FOR XML 은 SQL Server 2005 Beta 2 의 XML 데이터 형식 열에서도 사용할 수 있습니다. OPENXML SQL Server 2000 은 기본적으로 FOR XML 절과 OPENXML rowset 함수를 상 반되는 하나의 짝으로 처리했습니다. 즉, FOR XML 로는 관계형 데이터를 XML 로 검색할 수 있고 OPENXML 로는 XML 을 관계형 데이터로 변환하여 관계형 데
  • 13. 이터에 대해 SQL 조인을 설정하거나 쿼리를 실행할 수 있습니다. SQL Server 2005 Beta 2 에서는 OPENXML 의 기능이 향상되었습니다. XML 데이터 형식 이 외에도 UDT(사용자 정의 형식) 등 여러 가지 새 데이터 형식이 지원됩니다. OPENXML WITH 절에서 이 형식을 사용할 수 있으며 XML 데이터 형식 인스턴 스를 sp_preparedocument 로 전달할 수도 있습니다. XQuery 지원 XML 쿼리 언어, 즉 XQuery 는 모든 형식의 XML 데이터를 쿼리할 수 있게 최적 화된 지능적이고 뛰어난 언어입니다. XQuery 를 사용하면 XML 데이터 형식과 연결된 메서드를 사용하여 XML 데이터 형식의 변수와 열에 대한 쿼리를 실행 할 수 있습니다. 여러 XML 표준과 마찬가지로 W3C(World Wide Web Consortium)에서 XQuery 의 개발을 감독합니다. XQuery 는 XPath(XML Path Language) 버전 1.0, XQL 및 SQL 같은 여러 가지 다른 쿼리 언어를 기반으로 하는 Quilt 라는 쿼리 언어에서 발전한 것입니다. XPath 2.0 이 하위 집합으로 포 함되어 있기도 합니다. 따라서 XPath 1.0 을 사용한 경험이 있으면 그 기술을 사 용할 수 있으며 새 쿼리 언어를 전부 다 배우지 않아도 됩니다. XQuery 에는 입 력, 특수 함수, 그리고 효과적인 반복, 결과 정렬 및 구성 지원 등 XPath 1.0 보 다 훨씬 향상된 기능이 들어 있습니다. SQL Server 2005 Beta 2 에는 데이터 계층에서 XML 개체 조작을 가능하게 하 는 고급 XQuery 기능이 함께 제공됩니다. 이는 2003 년 11 월 15 일의 XQuery 1.0 Working Draft 정적 형식 하위 집합을 지원합니다. DML 확장
  • 14. XQuery 사양에는 현재 쿼리를 위한 구문은 포함되어 있지만 XML 문서 수정을 위한 구문은 포함되어 있지 않습니다. XML DML(Data Modification Language) 은 데이터 수정을 위한 XQuery 기능의 확장입니다. SQL Server 2005 Beta 2 에는 insert, update 및 delete 의 세 가지 키워드가 추가되었습니다. 이 세 키워드를 각각 XML 데이터 형식의 modify() 메서드 내에서 사용할 수 있습니 다. 새로운 응용 프로그램 프레임워크 SQL Server 2005 에서는 새로운 SQL Server 응용 프로그램 프레임워크인 Service Broker(서비스 브로커)를 사용합니다. Service Broker(서비스 브로커) 는 데이터베이스 대 데이터베이스 수준에서 신뢰할 수 있는 비동기 메시징을 제 공하는 분산 응용 프로그램 프레임워크입니다. SQL Service Broker(서비스 브로커) 지난 10 년 동안 전자 상거래 응용 프로그램이 널리 사용되기 시작함에 따라 데 이터베이스 응용 프로그램 간의 워크플로 관리를 향상시킬 필요성이 생겼습니 다. 온라인 고객이 책을 주문한 경우 이 주문은 재고, 출하 및 신용 카드 시스템 에 트랜잭션을 커밋하고 다른 웹 응용 프로그램을 통해 주문 확인도 보내야 합 니다. 이러한 각각의 프로세스가 순서대로 진행되는 것을 기다리는 것은 비생산 적인 일입니다. SQL Server 2005 는 비동기 메시지 라우팅을 구성하기 위해 확 장 가능한 새 아키텍처를 제공합니다.
  • 15. Service Broker(서비스 브로커) 기술을 사용하면 내부 또는 외부 프로세스가 일 반 Transact-SQL 데이터 조작 언어의 확장 언어를 사용하여 신뢰할 수 있는 비 동기 메시지 스트림을 주고 받을 수 있습니다. 메시지는 보낸 사람과 동일한 데 이터베이스에 있는 대기열, 동일한 SQL Server 인스턴스에 있는 다른 데이터베 이스 또는 동일한 서버나 원격 서버에 있는 다른 SQL Server 인스턴스로 보내 집니다. Reporting Services Microsoft SQL Server 2005 릴리스를 통해 Microsoft 는 통합 BI(Business Intelligence) 플랫폼의 새로운 주요 구성 요소를 확장합니다. SQL Server Reporting Services 는 어느 비즈니스 환경에서나 필요한 사람이 필요한 정보를 쉽게 얻을 수 있도록 함으로써 Microsoft BI 비전을 확장합니다. Reporting Services 는 일반적인 대화형 보고서를 만들고 관리하고 배달하기 위 한 완벽한 서버 기반 플랫폼입니다. 보고서를 만들고 배포하고 관리하는 데 필 요한 모든 기능이 포함되어 있습니다. 동시에 라우팅 서비스의 모듈식 디자인 및 광범위한 API(응용 프로그램 프로그래밍 인터페이스) 덕분에 소프트웨어 개 발자, 데이터 공급자 및 엔터프라이즈는 기존 시스템 또는 타사 응용 프로그램 과 보고를 통합할 수 있습니다. Reporting Services 는 SQL Server 2005 와 함께 제공되며 다음을 포함합니다. • 보고서를 만들고 관리하고 보기 위한 완벽한 도구 집합 • 보고서를 호스트하고 처리하기 위한 엔진
  • 16. 다양한 IT 환경에서 보고서를 포함하거나 솔루션을 통합하기 위한 확장 가능한 아키텍처 및 공개 인터페이스 Notification Services Microsoft SQL Server Notification Services 는 알림을 생성하여 사용자에게 보 내는 응용 프로그램을 개발하고 배포하기 위한 플랫폼입니다. 알림이란 정해진 시간에 여러 장치로 보낼 수 있는 사용자 지정된 메시지를 말합니다. 알림은 구독자의 기본 설정을 반영합니다. 구독자는 구독을 입력하여 특정 정보 에 대해 관심이 있다는 것을 표출합니다. 예를 들어 "Adventure Works 주식 시 세가 $70.00 에 도달하면 알림" 또는 "내 팀에서 작성 중인 전략 문서가 업데이 트되는 경우 알림"과 같습니다. 알림은 트리거 이벤트가 발생하는 즉시 생성하여 사용자에게 보낼 수도 있고, 사용자가 지정한 미리 결정된 일정에 따라 생성하여 보낼 수도 있습니다. 사용 자의 구독은 알림을 생성하여 보낼 시점을 지정합니다. 알림은 다양한 장치, 즉 사용자의 휴대폰, PDA(개인용 정보 단말기), Microsoft Windows Messenger 또는 전자 메일 계정 등으로 보낼 수 있습니다. 이러한 장 치의 경우 사용자가 거의 항상 바로 확인할 수 있으므로 알림은 우선 순위가 높 은 정보를 보내는 데 적합합니다. SQL Server Mobile Edition
  • 17. SQL Server 2000 Windows CE Edition 과 함께 제공되는 SQL Server 2000 은 이제 SQL Server Mobile Edition 버전 3.0 이 되었습니다. SQL Server Mobile Edition 에는 개발자를 위한 여러 가지 새로운 주요 기능이 있습니다. • SQL Server Management Studio 에서 직접 데스크톱 또는 장치에 SQL Server Mobile Edition 데이터베이스를 만들 수 있습니다. 데이터베이스 가 모바일 장치에 있든, 데스크톱에 있든 관계없이 Management Studio 에서 바로 SQL Server Mobile Edition 데이터베이스의 스키마를 조작할 수도 있습니다. SQL Server Management Studio 를 사용하여 장치 또는 데스크톱에서 SQL Server Mobile Edition 데이터베이스를 대상으로 하 는 쿼리를 실행할 수 있습니다. 원시 SQL Server 처럼 GUI 형식으로 렌 더링되는 XML 실행 계획을 포함하는 새로운 SQL Server Mobile Edition 기능과 SQL Server Mobile Edition 의 쿼리 최적화 프로그램을 재정의하 는 쿼리 힌트를 사용할 수도 있습니다. 처음으로 개발자가 장치에서 최적 화 계획을 제어할 수 있습니다. • 이제 DTS(데이터 변환 서비스) 개체에 대해 코드화하여 데이터를 교환할 수 있습니다. • 새 SqlCeResult 집합은 SQL Server 2005 에 있는 SqlCeResult 집합 에서 파생된 것으로서 SQL Server Mobile Edition 에서 커서를 완벽하게 스크롤 및 업데이트할 수 있도록 합니다. 또한 장치에 있는 데이터 개체 에 대한 바인딩을 가능하게 합니다. • 주 응용 프로그램을 열어 놓은 상태에서 응용 프로그램을 코드화하여 데 이터를 동기화하고, 별도의 두 응용 프로그램이 동시에 장치에 있는 동일 한 데이터베이스에 액세스하도록 할 수 있습니다.
  • 18. 동기화 상태를 표시하는 상태 표시줄로 코드화할 수 있는 알림을 받을 수 있습니다. 이전에는 동기화 상태가 얼마나 진행되었는지 알지 못했기 때 문에 장치의 응답이 멈춘 것이 아니라는 것을 사용자에게 알릴 수 없었습 니다. • 좀 더 적극적인 페이지 교정 정책(page reclamation policy)을 통해 데이 터베이스의 크기를 작게 유지할 수 있습니다. • SQL Server 구문을 사용하여 매개 변수화된 쿼리 코드를 공유할 수 있습 니다. 향상된 언어 향상된 Transact-SQL Transact-SQL 은 오랫동안 SQL Server 의 모든 프로그래밍에 대한 기초였습니 다. SQL Server 2005 Beta 2 는 확장 가능한 데이터베이스 응용 프로그램을 개 발하기 위한 여러 가지 새 언어 기능을 제공합니다. 향상된 기능에는 오류 처리, 새로운 재귀적 쿼리 기능 및 새 SQL Server Database Engine 기능에 대한 지 원이 포함됩니다. SQL Server 2005 Beta 2 의 향상된 Transact-SQL 은 사용자 의 쿼리 작성 능력을 향상시켜 코드의 성능을 높이고 오류 관리 기능을 확장할 수 있도록 합니다. Transact-SQL 을 향상시키기 위해 이렇게 지속적으로 노력 하는 것은 SQL Server 에서 Transact-SQL 이 매우 중요하다고 확신하기 때문 입니다. 재귀적 쿼리 및 공용 테이블 식
  • 19. 공용 테이블 식(common table expression)은 정의하는 문이 참조할 수 있는 임시 명명된 결과 집합입니다. CTE 는 형태가 간단하므로 비영구적인 유형의 뷰와 보다 비슷한 파생된 테이블의 향상된 버전으로 생각할 수도 있습니다. 파 생된 테이블 및 뷰를 참조하는 것과 비슷한 방법으로 쿼리의 FROM 절에서 CTE 를 참조합니다. CTE 는 단 한 번만 정의하며 쿼리에서 여러 번 참조할 수 있습니다. CTE 정의에서는 동일한 배치에 정의된 변수를 참조할 수 있습니다. 뷰를 사용하는 것과 비슷한 방법으로 INSERT, UPDATE, DELETE 및 CREATE VIEW 문에서 CTE 를 사용할 수도 있습니다. 그러나 CTE 에서 가장 유용하게 사용할 수 있는 기능은 CTE 자체에 참조를 포함하고 있는 재귀적 기 능입니다. 쿼리 결과를 테이블처럼 참조하려 할 때 데이터베이스에 영구적인 뷰 를 만들지 않으려면 파생된 테이블을 사용합니다. 그러나 파생된 테이블에는 CTE 에 의해 완화되는 제한이 있습니다. 파생된 테이블을 쿼리에서 한 번 정의 한 다음에 여러 번 사용할 수는 없습니다. 대신 같은 쿼리에 여러 개의 파생된 테이블을 정의해야 합니다. 또는 CTE 를 한 번 정의한 다음 데이터베이스에서 영구적으로 만들지 않으면서 쿼리에서 여러 번 사용할 수 있습니다. 비재귀적 CTE 는 사용자의 표현 능력을 향상시킵니다. 그러나 비재귀적 CTE 를 사용하는 각 코드 부분의 경우에는 일반적으로 파생된 테이블과 같은 다른 Transact-SQL 구문을 사용하여 동일한 결과를 얻는 좀 더 긴 코드를 작성할 수 있습니다. 이 경우는 재귀적 CTE 와 다릅니다. CTE 가 자신을 참조하는 경우 재 귀적인 것으로 간주됩니다. 재귀적 CTE 는 적어도 다음과 같은 두 개의 쿼리 부 분 또는 재귀적 쿼리 언어 멤버로 구성됩니다. 하나는 비재귀적 쿼리 부분으로 서 AM(앵커 멤버)이라고도 합니다. 다른 하나는 재귀적 쿼리 부분으로서 RM(재 귀적 멤버)이라고도 합니다. 두 쿼리 부분은 UNION ALL 연산자를 통해 하나 의 CTE 로 조인됩니다.
  • 20. PIVOT 및 UNPIVOT 연산자 SQL Server 2005 Beta 2 는 쿼리의 FROM 절에서 사용되는 두 개의 새 관계형 연산자, PIVOT 및 UNPIVOT 을 제공합니다. 이 연산자는 입력 테이블 반환 식 에서 값을 조작하여 출력 테이블을 결과로 표시합니다. PIVOT 연산자는 행을 열로 바꾸면서 가능하면 그 과정에서 값을 집계하며, 피벗 열의 각 고유 값에 대 한 열이 있는 출력 테이블을 생성하는 주어진 피벗 열을 기준으로 입력 테이블 식을 넓힙니다. PIVOT 연산자는 공개 스키마 시나리오를 처리하고 크로스 탭 보고서를 생성하 는 데 유용합니다. 공개 스키마 시나리오에서는 아직 알려지지 않았거나 각 엔 터티 유형마다 다른 특성의 집합으로 엔터티를 유지합니다. 특성은 응용 프로그 램 사용자가 동적으로 정의합니다. 여러 열을 미리 정의하고 테이블에 여러 NULL 을 저장하는 대신 특성을 서로 다른 행으로 분할하고 각 엔터티 인스턴스 에 대한 관련 특성만 저장하면 됩니다.PIVOT 을 사용하면 행을 열로 바꾸면서 가능하면 그 과정에서 집계를 계산하고 데이터를 유용한 형태로 표시하는 공개 스키마 및 기타 시나리오에 대한 크로스 탭 보고서를 생성할 수 있습니다. UNPIVOT 연산자는 PIVOT 의 반대 연산, 즉 열을 행으로 바꾸며 피벗 열을 기 준으로 입력 테이블 식을 좁힙니다. UNPIVOT 연산자를 사용하면 이전에 피벗 한 데이터를 표준화할 수 있습니다. APPLY 연산자 APPLY 연산자를 사용하면 SQL Server 2005 Beta 2 에서 상호 관련 하위 쿼리 의 테이블 반환 함수를 참조할 수 있습니다. APPLY 관계형 연산자를 통해 사 용자는 외부 테이블 식의 각 행에 대해 지정된 테이블 반환 함수를 한 번 호출할
  • 21. 수 있습니다. JOIN 관계형 연산자를 사용하는 것과 비슷한 방법으로 쿼리의 FROM 절에서 APPLY 를 지정합니다. APPLY 는 CROSS APPLY 및 OUTER APPLY 의 두 가지 형태로 제공됩니다. CROSS APPLY 는 외부 테이블 식에 있는 각 행에 대해 테이블 반환 함수를 호출합니다. 외부 테이블의 열을 테이블 반환 함수에 대한 인수로 참조할 수 있 습니다. CROSS APPLY 는 테이블 반환 함수의 개별 호출에 의해 반환된 모든 결과로부터 컴파일한 통합된 결과 집합을 반환합니다. 테이블 반환 함수가 주어 진 외부 행에 대해 빈 집합을 반환하는 경우 해당 외부 행은 결과에 반환되지 않 습니다. OUTER APPLY 는 OUTER APPLY 와 매우 비슷하지만 테이블 반환 함수가 빈 집합을 반환하는 외부 테이블에서도 행을 반환합니다. 테이블 반환 함수의 열에 해당하는 열 값으로 NULL 이 반환됩니다. 트랜잭션의 예외 처리 이전 버전의 SQL Server 에서는 Microsoft Visual Basic 6.0 에서와 유사하게 오 류가 있을지도 모르는 모든 문 뒤에 오류 처리 코드를 포함시켜야 했습니다. 오 류 검사 코드를 중앙에서 처리하기 위해 레이블과 GOTO 문을 사용해야 했습 니다. 더구나 데이터 형식 변환 오류 같은 오류는 배치를 종료시키므로 Transact-SQL 로 잡아낼 수 없었습니다. SQL Server 2005 Beta 2 에서는 Visual Basic .NET 및 C#에 있는 것과 거의 마찬가지로 TRY/CATCH Transact-SQL 구문의 형태로 된 단순하지만 강력한 예외 처리 메커니즘의 도입을 통해 이러한 문제 중 다수를 해결합니다. 이전에는 문, 수준, 배치 또는 트랜잭션을 종료시키던 오류도 연결에 심각한 피해를 입힐 정도만 아니라면 찾 아서 처리할 수 있게 되었습니다.
  • 22. 오류 처리를 구현하려면 실행할 코드를 BEGIN TRY/END TRY 블록 안에 쓴 다음 BEGIN CATCH /END CATCH 블록 안에 오류 처리 코드를 쓰기만 하 면 됩니다. TRY 블록은 대응하는 CATCH 블록이 있어야 합니다. 그렇지 않으 면 구문 오류가 발생합니다. DDL 이벤트 알림 SQL Server 2005 Beta 2 에서는 DDL 및 시스템 이벤트를 캡처하고 이벤트 알 림을 Service Broker(서비스 브로커) 서비스로 보낼 수 있습니다. 동기적으로 처리되는 트리거와 반대로 이벤트 알림은 비동기 소비가 가능한 이벤트 메커니 즘입니다. 이벤트 알림은 지정된 Service Broker(서비스 브로커) 서비스로 XML 데이터를 보내고 이벤트 소비자가 이를 비동기적으로 소비합니다. 이벤트 소비 자는 Service Broker(서비스 브로커) Receive 문의 WAITFOR 절에 확장 기능을 사용하여 새 데이터가 도착할 때까지 기다릴 수 있습니다. 향상된 전체 텍스트 검색 SQL Server 2005 에서는 뛰어난 전체 텍스트 응용 프로그램을 지원합니다. 카 탈로그 만들기 기능은 카탈로그로 만들어지는 내용을 보다 융통성 있게 처리할 수 있도록 향상되었습니다. 쿼리 성능과 확장성이 크게 향상되었으며, 새 관리 도구를 사용하면 전체 텍스트 구현을 좀 더 깊이 있게 이해할 수 있습니다. 향상된 보안
  • 23. SQL Server 2005 는 보안, 개인 정보 보호, 신뢰성 및 비즈니스 무결성 분야에 서 고객 환경을 향상시키기 위한 Microsoft 의 "Trustworthy Computing" 모토 로부터 여러 가지 이점을 얻습니다. 2002 년 1 월부터 전사적으로 도입된 이 모 토의 일환으로 Microsoft 는 현재 디자인부터 배포에 이르기까지 기본적으로 제 품과 제품 배포의 보안을 보장하는 데 도움이 되는 개발 프로세스를 따르고 있 습니다. Microsoft SQL Server 개발 팀은 SQL Server 2005 의 개발에 이러한 프로세스를 통합했습니다. 배포 후에도 Microsoft 는 보안 문제에 대해 지속적 으로 고객 및 파트너의 의견을 수용할 예정입니다. 그 결과 SQL Server 2005 에 는 현재까지의 그 어느 SQL Server 릴리스보다 광범위한 보안 기능이 통합될 것입니다. 일반적으로 다음과 같은 면에서 기능이 향상되었습니다. • SQL 서버에 대한 사용자 액세스 제한: SQL Server 에 대한 향상된 액세스 제어 기능과 메커니즘에 대한 투자 덕분에 관리자가 정책을 통해 SQL Server 에 대한 액세스를 제어할 수 있게 되었습니다. • 서비스 해제 및 서비스 구성 제한: SQL Server 내에서 관리자가 자신 이 지정한 범위와 세분화 정도에 따라 리소스에 대한 액세스를 제한할 수 있도록 하며, 최소 권한의 원칙을 위반하지 않으면서 보다 관리하기 쉬운 시스템을 구현할 수 있도록 합니다. 새 서버 설치를 위해 일부 서비스가 기본적으로 해제되므로 고객은 이제 사용하고자 하는 특정 추가 서비스 를 보다 자유롭게 선택할 수 있게 되었습니다. • 새 기능에 대한 공격 지점 축소 :SQL Server 의 설치와 설정부터 시작 하여 공격 당할 수 있는 지점이 최소화되었습니다. 제품 개발 주기 전반
  • 24. 에 걸쳐 공격 지점을 줄이기 위해 새 기능에 대해 보안을 검토하고 테스 트했습니다. 결론 Microsoft SQL Server 2005 는 개발자가 새로운 클래스의 데이터베이스 응용 프로그램을 빌드하는 데 필요한 도구를 제공합니다. 코드 실행 및 저장소 위치 에 대한 장애 요소를 없애고 XML 같은 표준을 통합함으로써 SQL Server 2005 는 데이터베이스 개발자에게 새로운 가능성을 열어 줍니다. 이 기사에 포함된 내용은 SQL Server 2005 에서 가능한 작업에 대한 소개일 뿐입니다.