Notification Sevices의 향상된 기능
Microsoft SQL Server Notification Services는 알림을 생성하고 보내는 응용 프로그램의 개발 및 배포에 사용되는 SQL Server 플랫폼입니다. Notification Services는 사용자 정의된 메시지를 적절한 시기에 수천 또는 수백만 명의 구독자와 다양한 장치에 보낼 수 있습니다.
Notification Services 2.0은 SQL Server 2000의 구성 요소로, 다운로드하여 사용할 수 있으며 2002년에 출시되었습니다. SQL Server 2005에서는 Notification Services가 SQL Server에 통합되었습니다. Notification Services에 대한 자세한 내용은 SQL Server Notification Services를 참조하십시오.
다음의 기능 향상은 Notification Services 2.0 이후에 이루어진 것입니다.
새 기능
SQL Server 2005 Notification Services에 새롭게 추가된 기능은 다음과 같습니다.
SQL Server Management Studio에 통합
이제 Notification Services가 SQL Server Management Studio 개체 탐색기에 통합되었습니다. 개체 탐색기를 사용하여 대부분의 nscontrol 명령 프롬프트 유틸리티 작업을 수행할 수 있으며 Notification Services 인스턴스를 시작 및 중지할 수 있습니다.
SQL Server Management Studio를 XML 및 Transact-SQL 편집기로 사용할 수도 있습니다. Notification Services 인스턴스를 위한 SQL Server Management Studio 솔루션을 만들면 보안 관리 또는 인스턴스 관리에 사용되는 ICF(인스턴스 구성 파일), ADF(응용 프로그램 정의 파일) 및 Transact-SQL 스크립트를 쉽게 편집할 수 있으며 개체 탐색기를 사용하여 인스턴스를 배포할 수 있습니다. 이 프로세스를 안내하는 자습서는 Notification Services 자습서를 참조하십시오.
SQL Server Management Studio에 대한 자세한 내용은 SQL Server Management Studio 소개를 참조하십시오.
구독자 정의 조건 지원
Notification Services 2.0에서는 응용 프로그램 개발자가 알림을 생성하는 전체 Transact-SQL 작업을 정의했으며 구독자는 이 작업에 대한 매개 변수만 제공할 수 있었습니다. SQL Server 2005에서는 Notification Services가 구독자가 미리 정의된 데이터 집합에 대해 고유의 쿼리 절을 정의할 수 있는 조건 작업이라는 새로운 유형의 작업을 지원합니다.
조건 작업을 사용하면 구독자가 기존 데이터 집합에 대해 구독자 고유의 구독을 정의할 수 있지만 대개의 경우 평가해야 할 조건이 많아지기 때문에 알림 생성의 효율성은 줄어듭니다.
자세한 내용은 조건 작업 정의를 참조하십시오.
데이터베이스 독립성
SQL Server Notification Services는 기존 데이터베이스의 인스턴스 및 응용 프로그램 데이터를 사용할 수 있도록 지원합니다. Notification Services 인스턴스를 구성하거나 Notification Services 응용 프로그램을 정의할 때 기존 데이터베이스의 이름을 지정할 수도 있고 새 데이터베이스의 이름을 지정할 수도 있습니다. 또한 이름을 생략하고 Notification Services의 기본 데이터베이스 이름을 사용할 수도 있습니다.
자세한 내용은 인스턴스 데이터베이스 정의 및 응용 프로그램 데이터베이스 정의를 참조하십시오.
새 관리 API
SQL Server Notification Services에는 새로운 관리 API인 Microsoft.SqlServer.Management.Nmo가 있습니다. 이 API를 사용하여 Notification Services 인스턴스 및 응용 프로그램을 개발하고 관리할 수 있습니다.
호스팅 가능한 실행 엔진
Notification Services 엔진은 호스팅된 이벤트 공급자, 생성자 및 배포자를 실행합니다. Notification Services 2.0에서는 인스턴스 등록 시 설치할 수 있는 NS$instanceName Windows 서비스가 Notification Services 엔진을 실행했습니다. 이제는 사용자 지정 응용 프로그램이나 프로세스에서 Notification Services 엔진을 호스팅할 수 있습니다. 자세한 내용은 Notification Services 엔진 호스팅을 참조하십시오.
Analysis Services 이벤트 공급자
Notification Services에는 MDX 쿼리를 사용하여 Analysis Services 데이터베이스에서 이벤트 데이터를 수집하는 새로운 표준 이벤트 공급자가 추가되었습니다. 자세한 내용은 Analysis Services 이벤트 공급자를 참조하십시오.
새 뷰
Notification Services에서는 다음과 같은 뷰가 추가되거나 수정되어 응용 프로그램 개발 및 문제 해결이 간편해졌습니다.
- Notification Services는 응용 프로그램에 정의된 각 이벤트 클래스에 대해 한 개의 뷰를 생성합니다. 이 뷰의 이름은 이벤트 클래스의 이름과 같습니다. 이벤트 기반, 즉, 예약되지 않은 알림 생성 쿼리를 작성할 때 일반적으로 이 뷰에서 이벤트를 선택합니다. 이제 이 뷰에 이벤트 데이터를 삽입할 수 있게 되었습니다. 자세한 내용은 <EventClassName> 뷰를 참조하십시오.
- Notification Services는 각 알림 클래스에 대해 한 개의 뷰를 생성합니다. 이 뷰를 통해 응용 프로그램에서 생성한 알림을 검토할 수 있습니다. 자세한 내용은 <NotificationClassName> 뷰를 참조하십시오.
- Notification Services는 구독자 및 구독자 데이터의 확인 및 관리를 위해 3개의 뷰를 제공합니다.
- NSSubscriberView는 Notification Services의 인스턴스의 모든 구독자를 나열합니다. 이 뷰를 사용하여 구독자 데이터를 관리할 수 있습니다. 자세한 내용은 NSSubscriberView를 참조하십시오.
- NSSubscriberDeviceView는 Notification Services의 인스턴스의 모든 구독자 장치를 나열합니다. 이 뷰를 사용하여 구독자 장치 데이터를 관리할 수 있습니다. 자세한 내용은 NSSubscriberDeviceView를 참조하십시오.
- NSSubscriptionClassNameView는 구독 클래스의 모든 구독을 나열합니다. 이 뷰를 사용하여 기본 이벤트 기반 구독을 관리할 수 있지만 예약된 구독이나 조건 기반 구독은 관리할 수 없습니다. 자세한 내용은 NS<SubscriptionClassName>View를 참조하십시오.
기존 기능에서 향상된 기능
다음의 향상된 기능은 성능을 개선하고 응용 프로그램 개발을 간편하게 수행할 수 있도록 지원하기 위해 이루어졌습니다.
생성자 성능 개선
Notification Services 2.0에서는 알림 생성 규칙이 Notify() 함수를 사용하여 알림을 생성해야 했습니다. 이 함수는 3개의 확장 저장 프로시저를 사용했으며, 이러한 확장 저장 프로시저는 성능을 저하시키고 개발 단계를 늘렸습니다.
SQL Server 2005에서는 Notification Services에서 Notify() 함수가 제거되었으므로 이제 알림 생성 규칙에서 알림 뷰에 데이터를 삽입해야 합니다. 생성자가 실행해야 하는 INSERT INTO 문은 Notification Services의 성능을 향상시킵니다. 자세한 내용은 구독 규칙 정의 및 Notification Services 2.0 인스턴스를 SQL Server 2005로 마이그레이션을 참조하십시오.
Vacuumer 성능 개선
Notification Services에서는 vacuuming이라고 하는 데이터 제거 프로세스에서도 성능이 개선되었습니다. 응용 프로그램 및 하드웨어 구성에 따라 Notification Services 2.0보다 약 1.5배의 성능 향상을 기대할 수 있습니다.
Windows 클러스터링 개선
Notification Services는 첫 버전부터 Windows 클러스터 기술을 지원했습니다. Notification Services 엔진을 일반 서비스 클러스터 리소스로 구성하면 다른 클러스터 노드에 오류가 발생할 경우 인스턴스를 실행하는 NS$instanceName Windows 서비스를 장애 조치(Failover)용으로 사용할 수 있습니다.
Notification Services 2.0에서는 Notification Services가 클러스터 소프트웨어가 설치되었는지, 클러스터가 구성되었는지 그리고 클러스터가 실행되고 있는지를 확인했습니다. 세 가지 확인이 끝나면 Notification Services는 기본 클러스터 이름을 로컬 컴퓨터 이름으로 사용하여 기본 클러스터 이름에서 실행되도록 구성된 구성 요소를 실행했습니다.
이제는 클러스터링 성능 개선을 위해 Notification Services에 별도의 클러스터 리소스 그룹을 구성하여 다른 클러스터 리소스 그룹과는 별도로 장애 조치를 위해 사용할 수 있습니다. 이제는 클러스터 리소스를 구성할 때 컴퓨터 이름으로 네트워크 이름 사용 구성 옵션을 반드시 선택해야 합니다. 이 경우 클러스터에서 실행되는 모든 Notification Services 구성 요소에 대해 SystemName 값으로 네트워크 이름(가상 서버 이름)을 지정해야 합니다.
자세한 내용은 Notification Services에서 장애 조치(Failover) 클러스터링 사용 및 연습: 클러스터형 단일 서버 배포를 참조하십시오.
참고 항목
개념
관련 자료
SQL Server Notification Services