한국어

cand

[MSSQL2005] MSSQL 2005의 새로운 기능

2007.09.04 03:59

jun 조회 수:4366



가져온 곳
http://blog.naver.com/mist80?Redirect=Log&logNo=40030389150

1. 데이터 관리



1.1. 관리 용이성

▣ SQL Server Management Studio

관계형 데이터베이스, Integration Services, Analysis Services, Reporting Services, Notification Services, SQL Mobile을 모니터링 및 관리할 수 있는 단일 통합 관리 콘솔을 제공하여 관리 업무를 간소화함


▣ SMO(SQL Management Objects)

• SQL Server 데이터베이스의 모든 관리 기능을 나타내는 새로운 프로그래밍 객체 집합

• SMO는 Microsoft .NET Framework 어셈블리로 구현

• SMO를 사용하면 프로그램 방식의 구성 설정 검색, 새 데이터베이스 생성, Transact-SQL 스크립트 적용, SQL Server Agent 작업 생성, 백업 스케줄링 등과 같은 일반적인 SQL Server 관리 작업을 자동화 할수있음.

• SMO 객체 모델은 이전 버전의 SQL Server에 포함된 DMO(Distributed Management Objects) 보다 보안, 안정성 및 확장성이 향상된 대체 모델.

• SMO의 주요 이점은 성능과 확장성 이다.

• SQL Server 2005 서비스 팩 1에서 SMO 스크립팅과 전송 기능의 안정성이 향상 되었다.



1.2. 가용성

▣ 데이터베이스 미러링
• 원본 서버에서 단일 대상 서버로 전달되는 트랜잭션 로그 스트리밍이 중단되지 않도록 함

• 한 서버 인스턴스는 클라이언트에 데이터베이스를 제공하고(주 서버) 다른 서버 인스턴스는 상시 대기 서버(미러 서버) 역할 (서로 공존 관계이며 데이터베이스 미러링 세션내에서 파트너로 통신하고 협력한다. 물리적으로는 다른 위치에 존재함)

데이터베이스 미러링 참고 : http://msdn2.microsoft.com/ko-kr/library/ms177412.aspx





<< 데이터베이스 미러링의 기본구성 >>

▣ 장애 조치 클러스터링
데이터베이스 서버에 장애가 발생한 경우 빠른 장애 조치를 제공하는 내결함성 가상 서버를 구축하기 위해 Microsoft Windows? Clustering Services를 이용하는 고가용성 솔루션
▣ 데이터베이스 스냅샷
• 손상된 데이터를 신속하고 쉽게 복원할 수 있는 기능
• 데이터베이스의 전체 복사본을 만드는 데 따른 시간이나 저장소 비용을 발생시키지 않고 안정적인 뷰를 제공
• 데이터베이스 스냅샷은 데이터베이스 복사본과 다름 (데이터베이스 정보의 변경 사항을 포함하는 데 필요한 공간만 차지)
• 원치 않는 데이터베이스 변경 작업을 무효화하고 원래대로 복구하기 위해 스냅샷의 원본 페이지를 데이터베이스에 다시 적용 (실수로 데이터베이스를 변경한경우 스냅샷을 이용해 신속하게 복구 가능)


▣ 고속 복구
▣ 관리자 전용 연결
서버가 응답하지 않거나 사용할 수 없을 경우에도 실행 서버를 액세스할 수 있는 기능(sysadmin이 SQLCMD 명령 프롬프트 유틸리티를 통해서 가능)
▣ 온라인 작업(색인 작업 및 복구)
온라인으로 색인을 생성, 재구축 또는 삭제하는 기능
▣ 복제
다수의 데이터베이스 서버 전반에 데이터를 분산시켜 데이터 가용성을 향상시킴.


1.3. 확장성

▣ 테이블 및 색인 파티셔닝

데이터베이스를 작고 관리하기 쉬운 조각으로 관리할 수 있기 때문에 대형 데이터베이스를 쉽게 관리할 수 있다. (수백 기가바이트,~ 테라바이트 이상의 초대형 데이터베이스를 위해 개발된 기술)
▣ 스냅샷 격리(Snapshot Isolation)
데이터가 분석 중심 데이터베이스에 복제, 변경 및 저장되면 주기적으로 유지 보수되거나 재구성될때 데이터를 만들고 색인화하는 데 많은 시간이 걸린다. 이때 사용자가 데이터를 요청하면 정확하지 않는 결과를 반환할수 있으므로 이를 방지하기 위해 스냅샷 격리의 개념이 착안됐다. 스냅샷 격리 수준을 통해 사용자들은 트랜잭션적으로 일관된 데이터베이스 뷰를 사용함으로써 커밋된 마지막 행에 액세스할 수 있다.

격리 수준의 이점
• 읽기 전용 응용 프로그램에 대한 데이터 가용성 향상
• OLTP 환경에서 허용된 읽기 작업 비차단(nonblocking)
• 쓰기 트랜잭션에 대한 자동 명령 충돌 탐지
• Oracle에서 SQL Server로의 응용 프로그램 마이그레이션 간소화



1.4. 보안

엔터프라이즈 데이터에 대한 높은 수준의 보안을 제공
• 인증 영역에서 SQL Server 로그인 암호 정책 시행
• 인증 영역에서 다양한 범위의 권한을 지정하는 것과 관련된 단위 세분화
• 보안 관리 영역에서 소유자와 스키마의 분리 허용




2. 개발자의 생산성



2.1. 언어 지원 확대

▣ 데이터베이스 엔진에 CLR포함

SQL Server와 CLR 간의 통합으로 인한 이점

• 향상된 프로그래밍 모델 : .NET Framework와 호환되는 프로그래밍 언어는 여러 측면에서 Transact-SQL보다 풍부하기 때문에, SQL 개발자들은 이전까지 지원되지 않았던 구문 및 기능을 활용할 수 있다.
• 안전성 및 보안 강화 : 관리되는 코드는 데이터베이스 엔진이 호스팅하는 CLR 환경에서 실행된다. .NET Framework 데이터베이스 객체는 이전 버전의 SQL Server에서 사용할 수 있었던 확장된 저장 프로시저 보다 안전하며 철저하게 보호된다.
• 사용자 정의 형식 및 집계(aggregates) : CLR을 호스팅하여 SQL Server의 저장소 및 쿼리 기능을 확장하는 2개의 새로운 데이터베이스 객체를 지원할 수 있다.
• 공동 개발 환경 : 데이터베이스 개발은 Microsoft Visual Studio 2005 개발 환경으로 통합된다. 개발자는 중간 계층 또는 클라이언트 계층 .NET Framework 구성 요소 및 서비스를 작성할 때 사용하는 것과 동일한 도구로 데이터베이스 객체 및 스크립트를 개발 및 디버깅할 수 있다.
• 성능 및 확장성 : 관리되는 코드가 실행 이전에 원시 코드(native code)로 컴파일되기 때문에 일부 시나리오에서는 상당한 성능 향상을 실현할 수 있다.
▣ Transact-SQL 기능 향상
확장 가능한 데이터베이스 응용 프로그램을 개발하는 데 필요한 여러 새로운 언어 기능을 제공(오류 처리, 새로운 재귀적 쿼리 기능, 새 SQL Server Database Engine 기능에 대한 지원 등)



2.2. 향상된 개발도구

개발자들은 Transact-SQL, XML, MDX(Multidimensional Expressions), XML/A(XML for Analysis)를 위한 단일 개발 툴을 사용할 수 있다. Visual Studio 개발 환경과의 통합이 지원되기 때문에 LOB(Line-of-Business) 및 BI(Business Intelligence) 응용 프로그램을 보다 효율적으로 개발하고 디버깅할 수 있다



2.3. 향상된 데이터 액세스 및 웹 서비스

SQL Server를 HTTP 수신기로 만들어 데이터베이스 계층에서 XML 웹 서비스를 개발할 수 있다 (IIS없이도 웹서비스기능 활용 가능)



3. 쿼리 알림

• 쿼리 알림기능을 사용하여 SQL Server에 명령을 전달하고 동일한 명령을 다시 실행할 때 처음 얻은 결과와 다른 결과가 나오는 경우 알림 표시가 생성하도록 요청할 수 있다.
• 원본 데이터가 변경되는 시점을 감지하는 종속성 객체를 사용해 이 기능을 수행할 수 있다. (Service Broker 인프라를 기반)
• 요청의 일부분으로 실행된 각 문에 대해 서버는 요청에 포함된 각 문마다 한 번만 실행되는 "알림 구독"을 만든다.
• 알림은 응용 프로그램이 폴링할 수 있는 SQL Service Broker 대기열을 통해 전송되며 알림을 사용할 수 있을 때마다 반환되는 활성화 서비스 또는 차단 문을 사용한다

• ADO.NET 2.0 System.Data.SqlClient 네임스페이스의 새로운 기능

쿼리 알림 사용 참고 : http://msdn2.microsoft.com/ko-kr/library/t9x04ed2.aspx

http://www.microsoft.com/korea/msdn/library/ko-kr/dnvs05/html/querynotification.aspx





4. MARS (Multiple Active Result Set)

• 동일한 연결에 다수의 보류 요청이 있을 수 있도록 전달 전용/읽기 전용 결과 집합이다.
• 기본 결과 집합의 경우 클라이언트 드라이버는 대형 청크에서 데이터를 있는 그대로 검색하여 서버 커서의 경우처럼 서버와 정보를 주고 받지 않고도 응용 프로그램 요청이 충족되도록 한다.
• MARS는 전체 결과 집합이 사용될 때까지 드라이버가 서버에 요청을 전송하지 않도록 차단 한다.

사용방법 참고 : http://msdn2.microsoft.com/ko-kr/library/yf1a7f4f.aspx



5. 데이터 미러링을 위한 투명한 장애조치

witness instance라고 하는 장애 조치를 감시하는 인스턴스에 의해 SQL Server 인스턴스에 장애가 발생한 경우 작업은 백업 서버로 자동으로 이동




5.1. Service Broker

• Service Broker는 메시지를 보내고 받는 기본적인 기능을 기반으로 설계되었다.

• 단일 SQL Server 인스턴스 내에서 강력한 비동기 프로그래밍 모델을 제공 (대화형 응답 시간을 줄일수 )

•응용 프로그램이 메세지가 전송된 순서대로 각각 한 번씩만 받도록 한다.

•인증서 기반 보안을 통해 중요한 메시지를 보호하고 서비스에 대한 액세스를 제어할 수 있다.

•Service Broker를 우편 서비스에 비유한다면

- 우편함에서 편지를 찾아 읽고 답장을 써서 새 편지를 보내는 과정이 대화가 끝날 때까지 양쪽에서 이루어진다.
- 편지 배달은 "비동기적으로" 이루어지므로 배달되는 동안 두 사람 모두 다른 작업을 처리할 수 있다.

- 메시지 : 편지
- Service Broker 서비스 : 편지 배달지 주소
- 큐 : 우편함
- 응용프로그램 : 편지 받고 응답하는...






Service Broker 참조 : http://msdn2.microsoft.com/ko-kr/library/ms166104.aspx


5.2. 알림 서비스

• 알림을 생성하여 사용자에게 보내는 응용 프로그램을 개발 및 배포하기 위한 플랫폼.

• 알림은 트리거 이벤트가 발생하는 즉시 생성하여 사용자에게 보낼 수도 있고, 사용자가 지정한 미리 결정된 일정에 따라 생성하여 보낼 수도 있다. (사용자의 휴대 전화, PDA(personal digital assistant), Microsoft Windows Messenger, e-메일 계정 등으로 알림을 보낼 수 있다.)



6. 알아두기

▣ SSIS(SQL Server Integration Services)

• 초대용량 데이터를 대상으로 복잡한 데이터 통합, 변환 및 합성을 고속으로 수행할 수 있도록 재개발됐다.

• Business Intelligence Development Studio를 사용하면 매우 손쉽게 패키지를 개발하고 디버깅할 수 있다.

•  Integration Services, Analysis Services 및 Reporting Services 간의 연동을 통해 이기종 소스에서 가져온 데이터의 완벽한 뷰가 제시된다.

• 재설계된 엔터프라이즈 ETL 플랫폼이 포함

• SQL Server 2000에서 사용된 DTS 기능을 계승한 것



UDM(Unified Dimensional Model)

• Analysis Services 2005에서 정의된 큐브 및 차원의 집합

• 모든 보고서, 스프레드시트, OLAP 브라우저, KPI, 분석 응용 프로그램의 소스로 사용되는 비즈니스 엔티티, 비즈니스 논리, 계산 및 측정 지표를 정의하는 중앙 메타데이터 리포지토리이다.
• 강력한 새 Data Source View 기능을 사용해 이기종 백 엔드 데이터 소스의 호스트에 매핑되기 때문에 데이터의 위치에 관계없이 비즈니스의 완벽한 통합 상태를 파악할 수 있다.



참조 : Microsoft SQL Server 2005 제품 개요 [문서 번호. SQL-200509-11]
        http://blog.naver.com/mist80?Redirect=Log&logNo=40030389150
번호 제목 글쓴이 날짜 조회 수
» [MSSQL2005] MSSQL 2005의 새로운 기능 file jun 2007.09.04 4366
1 니콘 COOLPIX S50 file jun 2007.09.04 12817