다음을 통해 공유


연습: 확장 배포

이 시나리오에서는 여러 대의 서버에 Notification Services 인스턴스를 배포하는 방법을 보여 줍니다. 이 시나리오에서 데이터베이스는 원격 서버에 있으며 엔진 구성 요소는 3대의 서버에 확장됩니다. 이 배포 시나리오는 많은 수의 알림에 서식을 효율적으로 지정하고 알림을 배포하기 위해 여러 대의 서버를 필요로 하는 대규모 응용 프로그램에 사용됩니다.

[!참고] Notification Services의 모든 배포는 고유합니다. 이 항목의 절차를 참조하여 자체의 배포 지침을 개발 및 테스트하십시오.

다음 그림에서는 이 배포 시나리오의 하드웨어 구성을 보여 줍니다. 이 시나리오는 NS1, NS2, NS3SQL1이라는 4대의 서버를 사용합니다. Notification Services 엔진은 NS1, NS2NS3 서버에서 실행되며 NS1에서는 이벤트 공급자와 생성자가, NS2NS3에서는 배포자가 실행됩니다. SQL1은 인스턴스 데이터베이스 및 응용 프로그램 데이터베이스를 호스팅합니다.

확장 구성

NS1, NS2NS3은 하나 또는 두 개의 디스크 드라이브를 사용할 수 있는데, 이러한 서버에서는 드라이브 수가 중요하지 않습니다. 그러나 SQL1은 데이터베이스 성능을 향상시키기 위해 여러 개의 디스크 드라이브를 포함합니다. 각 드라이브는 데이터베이스 엔진, 데이터 파일, 로그 파일 및 tempdb용으로 사용됩니다.

필수 구성 요소

Notification Services 인스턴스를 배포하기 전에 모든 필수 구성 요소가 충족되는지 확인하십시오.

  • NS1, NS2NS3에 운영 체제가 미리 설치되어 있어야 하며 해당 서비스 팩 및 업데이트가 모두 설치되어 있어야 합니다.
  • SQL1에 Microsoft Windows 및 Microsoft SQL Server 2005 데이터베이스 엔진이 미리 설치되어 있어야 하며 해당 서비스 팩 및 업데이트가 모두 설치되어 있어야 합니다.
  • 사용자는 서버에 대한 관리 권한이 있으며 SQL Server에서 sysadmin 고정 서버 역할의 멤버인 계정으로 이러한 절차를 실행해야 합니다.
  • 사용자 또는 도메인 관리자는 Notification Services Windows 서비스에 대한 계정을 만들어야 합니다. 이 연습에서 호스팅된 이벤트 공급자 및 생성자가 실행되는 NS1 서버의 경우 DOMAIN\NSEPGen이, 배포자가 실행되는 NS2NS3 서버의 경우 DOMAIN\NSDist가 이 계정에 해당합니다. 별도의 계정을 만들면 사용 권한을 보다 강력하게 제어할 수 있습니다.
  • 이벤트 및 알림 데이터에 대해 필요한 파일 공유를 만들고 이벤트 선택의 경우 DOMAIN\NSEPGen 계정에, 알림 배포의 경우 DOMAIN\NSDist 계정에 이러한 파일 액세스에 필요한 권한을 부여해야 합니다.
  • TCP/IP 또는 명명된 파이프 네트워크 프로토콜이 데이터베이스 엔진에서 설정되어 있어야 합니다. SQL Server 2005에서는 이러한 네트워크 프로토콜이 기본적으로 해제됩니다. 자세한 내용은 SQL Server 노출 영역 구성을 참조하십시오.

배포 개요

이 배포 연습에서는 Notification Services 엔진이 실행되는 NS1 서버에서 다음 작업을 수행합니다.

  1. Notification Services를 설치합니다.
  2. NSEPGen 계정에 Windows 사용 권한을 부여합니다.
  3. Notification Services 인스턴스를 만들고 설정합니다.
  4. Notification Services 인스턴스를 등록하고 Notification Services 엔진 구성 요소를 실행하는 Windows 서비스를 만듭니다.
  5. 알림을 생성할 준비가 되면 Notification Services 인스턴스를 시작합니다.

추가 Notification Services 엔진 구성 요소가 실행되는 NS2NS3 서버에서 다음 작업을 수행합니다.

  1. Notification Services를 설치합니다.
  2. NSDist 계정에 Windows 사용 권한을 부여합니다.
  3. Notification Services 인스턴스를 등록하고 Notification Services 엔진 구성 요소를 실행하는 Windows 서비스를 만듭니다.
  4. 알림을 생성할 준비가 되면 Notification Services 인스턴스를 시작합니다.

데이터베이스를 호스팅하는 SQL1 서버에서 다음을 수행합니다.

  • Windows 계정에 데이터베이스 사용 권한을 부여합니다.

    [!참고] 또한 Notification Services는 SQL Server 인증을 지원합니다. 가능하면 Windows 인증을 사용합니다.

아래 지침에서는 Notification Services 명령 프롬프트를 사용하여 배포 작업을 스크립팅하는 방법을 보여 줍니다. 또한 SQL Server Management Studio를 사용하여 Notification Services 인스턴스를 배포할 수도 있습니다. SQL Server Management Studio를 사용하는 단일 서버 배포 지침에 대해서는 SQL Server Notification Services 예제를 참조하십시오.

NS1 작업

1단계: 소프트웨어 설치

  1. Notification Services를 설치합니다. 추가 구성 요소를 설치할 수 있지만 이 연습 단계에서는 필요하지 않습니다.

    구성 요소를 설치하는 방법은 SQL Server Notification Services 설치를 참조하십시오.

2단계: DOMAIN\NSEPGen 계정에 Windows 사용 권한 부여

  1. 시작 메뉴에서 모든 프로그램, Microsoft SQL Server 2005, Notification Services를 차례로 가리킨 다음 Notification Services 명령 프롬프트를 클릭하여 Notification Services 명령 프롬프트 창을 엽니다.

  2. 로컬 사용자 그룹에 DOMAIN\NSEPGen 계정을 추가합니다. 명령 프롬프트에서 다음 net localgroup 명령을 입력합니다.

    net localgroup users DOMAIN\NSEPGen /add

    로컬 그룹에 계정을 추가하는 방법은 Windows 설명서를 참조하십시오.

3단계: Notification Services 인스턴스 만들기 및 설정

  1. 명령 프롬프트에서 다음 명령을 입력하여 인스턴스 및 응용 프로그램 데이터베이스를 만듭니다.

    nscontrol create -in "Path\ICFName"

    ICF에 따라 추가 명령 프롬프트 인수 및 매개 변수를 제공해야 할 수 있습니다.

  2. 다음 명령을 입력하여 인스턴스를 설정합니다.

    nscontrol enable -nameinstanceName-serverdatabaseServer

    Notification Services 엔진이 설치 및 시작되지 않았으므로 엔진 구성 요소가 설정 보류 중 상태입니다.

    등록 후에 인스턴스를 설정할 경우 -server 인수를 생략해도 됩니다.

4단계: Notification Services 인스턴스 등록

  1. 열려 있는 명령 프롬프트 창에서 다음 명령을 입력합니다.

    nscontrol register -nameinstanceName-serverdatabaseServer-service

        -serviceusername DOMAIN\NSEPGen

        -servicepassword"password"

    이 명령이 완료되면 NS$instanceName이라는 Windows 서비스가 로컬 컴퓨터에 생성됩니다.

[!참고] SQL Server 인증을 사용할 경우 인스턴스 등록 시 SQL Server 인증 로그인과 암호를 제공한 후 이 로그인에 사용 권한을 부여합니다.

NS2 및 NS3에 대한 절차

NS2NS3은 이러한 확장 시나리오에서 배포자를 실행합니다. 이러한 서버에서 인스턴스를 등록하여 Windows 서비스를 만들어야 합니다. 인스턴스를 등록하기 전에 Notification Services를 설치하고 서비스 계정에 Windows 사용 권한을 부여해야 합니다.

1단계: 소프트웨어 설치

  1. Notification Services를 설치합니다. 추가 구성 요소를 설치할 수 있지만 이 연습 단계에서는 필요하지 않습니다.

    구성 요소를 설치하는 방법은 SQL Server Notification Services 설치를 참조하십시오.

2단계: DOMAIN\NSDist 계정에 Windows 사용 권한 부여

  1. 시작 메뉴에서 모든 프로그램, Microsoft SQL Server 2005, Notification Services를 차례로 가리킨 다음 Notification Services 명령 프롬프트를 클릭하여 Notification Services 명령 프롬프트 창을 엽니다.

  2. 로컬 사용자 그룹에 DOMAIN\NSDist 계정을 추가합니다. 명령 프롬프트에서 다음 net localgroup 명령을 입력합니다.

    net localgroup users DOMAIN\NSDist /add

    로컬 그룹에 계정을 추가하는 방법은 Windows 설명서를 참조하십시오.

3단계: Notification Services 인스턴스 등록

  1. 열려 있는 명령 프롬프트 창에서 다음 명령을 입력합니다.

    nscontrol register -nameinstanceName-serverdatabaseServer-service

        -serviceusername DOMAIN\NSDist

        -servicepassword"[password]"

    이 명령이 완료되면 NS$instanceName이라는 Windows 서비스가 로컬 컴퓨터에 생성됩니다.

[!참고] SQL Server 인증을 사용할 경우 인스턴스 등록 시 SQL Server 인증 로그인과 암호를 제공한 후 이 로그인에 사용 권한을 부여합니다.

SQL1 작업

Notification Services 엔진에 SQL Server 및 데이터베이스 사용 권한을 부여해야 합니다. NS1, NS2 또는 NS3에 워크스테이션 구성 요소를 설치한 경우 이러한 서버 중 하나에서 이 작업을 수행할 수 있으므로 SQL1에 로그인할 필요가 없습니다.

SQL Server 및 데이터베이스 사용 권한 부여

  1. 명령 프롬프트 창을 엽니다.

  2. 다음 명령을 입력하여 DOMAIN\NSEPGen 및 DOMAIN\NSDist 계정에 대한 SQL Server 로그인을 만듭니다.

    sqlcmd -E -S databaseServer -Q "CREATE LOGIN [DOMAIN\NSEPGen] FROM WINDOWS;"

    sqlcmd -E -S databaseServer -Q "CREATE LOGIN [DOMAIN\NSDist] FROM WINDOWS;"

  3. 명령 프롬프트에서 다음 명령을 입력하여 인스턴스 데이터베이스에 DOMAIN\NSEPGen 및 DOMAIN\NSDist 사용자를 만들고 NSEventProviderNSGenerator 데이터베이스 역할에 DOMAIN\NSEPGen 사용자를 추가하고 NSDistributor 데이터베이스 역할에 DOMAIN\NSDist 사용자를 추가합니다.

    sqlcmd -E -SdatabaseServer-Q "USEinstanceDatabase;

    EXEC CREATE USER [DOMAIN\NSEPGen];

    EXEC CREATE USER [DOMAIN\NSDist];

    EXEC sp_addrolemember N'NSEventProvider', N'DOMAIN\DOMAIN\NSEPGen';"

    EXEC sp_addrolemember N'NSGenerator', N'DOMAIN\DOMAIN\NSEPGen';"

    EXEC sp_addrolemember N'NSDistributor', N'DOMAIN\DOMAIN\Dist';"

  4. 별도의 응용 프로그램 데이터베이스가 있는 경우 다음 명령을 입력하여 응용 프로그램 데이터베이스에 DOMAIN\NSEPGen 및 DOMAIN\NSDist 사용자를 만들고 NSEventProviderNSGenerator 데이터베이스 역할에 DOMAIN\NSEPGen 사용자를 추가하고 NSDistributor 데이터베이스 역할에 DOMAIN\NSDist 사용자를 추가합니다.

    sqlcmd -E -S databaseServer -Q "USE applicationDatabase**;**

    EXEC CREATE USER [DOMAIN\NSEPGen];

    EXEC CREATE USER [DOMAIN\NSDist];

    EXEC sp_addrolemember N'NSEventProvider', N'DOMAIN\DOMAIN\NSEPGen';"

    EXEC sp_addrolemember N'NSGenerator', N'DOMAIN\DOMAIN\NSEPGen';"

    EXEC sp_addrolemember N'NSDistributor', N'DOMAIN\DOMAIN\Dist';"

    인스턴스가 여러 응용 프로그램을 호스트하는 경우 각 응용 프로그램 데이터베이스에 대해 이 단계를 반복합니다.

Notification Services 인스턴스 배포가 완료되었습니다. 구독자 및 구독 데이터를 로드하고 응용 프로그램에 이벤트를 전송할 수 있어야 합니다. Notification Services에서는 Windows 서비스가 시작될 때까지 데이터를 처리하지 않습니다. Windows 서비스 시작 방법은 아래에 설명되어 있습니다.

Notification Services 인스턴스 시작

인스턴스에서 알림을 생성할 준비가 되면 엔진 구성 요소가 실행되는 모든 서버에서 Windows 서비스를 시작합니다. 이 연습에서는 NS1, NS2NS3 서버에서 명령 프롬프트 창을 열고 다음 명령을 입력합니다.

**net start NS$**instance_name

자세한 내용은 Notification Services 인스턴스 시작 및 중지를 참조하십시오.

SQL Server Management Studio를 사용하여 모든 서버를 한꺼번에 시작할 수 있습니다. 자세한 내용은 방법: Notification Services 인스턴스 시작(SQL Server Management Studio)을 참조하십시오.

문제 해결

응용 프로그램이 알림을 생성하지 않으면 Notification Services 명령 프롬프트에서 다음 명령을 실행하여 인스턴스의 상태를 확인합니다.

nscontrol status-name instanceName

예상 서버에서 모든 구성 요소가 실행되고 있으며 사용 상태인지 확인합니다. 자세한 내용은 인스턴스, 응용 프로그램 및 구성 요소의 상태 보기을 참조하십시오.

또한 Windows 응용 프로그램 로그에서 오류를 확인합니다. 자세한 내용은 Notification Services 문제 해결을 참조하십시오.

참고 항목

개념

Notification Services 인스턴스 배포
호스팅되지 않은 이벤트 공급자 배포
구독 관리 인터페이스 배포

관련 자료

nscontrol create 명령
nscontrol enable 명령
nscontrol register 명령
sqlcmd 유틸리티

도움말 및 정보

SQL Server 2005 지원 받기