ServiceBrokerConfiguration 예제 추가 정보

[이 항목은 시험판 문서이며 이후 릴리스에서 변경될 수 있습니다. 빈 항목은 자리 표시자로 포함되어 있습니다. 알림: Microsoft에서는 더 많은 내용을 한국어로 제공하기 위해서 번역가가 번역하는 전통적인 방식 이외에도 다양한 기술을 이용하여 번역한 자료를 제공하고 있습니다. SQL Server 2008 R2의 시험판 제품에 포함된 일부 문서 역시 이런 기술을 사용하여 번역되었습니다. 이 문서는 번역가가 작업한 문서에 비하여 완성도가 떨어질 수 있으며 잘못된 단어, 구문, 문법 등의 실수를 포함할 수 있습니다. Microsoft에서는 이런 문제점들을 잘 알고 있으며 문제 개선을 위하여 노력하고 있습니다. 최종 버전에 포함될 문서는 전통적인 번역 방식을 통해 번역될 예정이므로 SQL Server 2008에서 제공된 것과 같은 수준의 번역된 문서를 사용하실 수 있을 것입니다.

이 예제는 SQL Server 2005 및 SQL Server 2008에서만 작동합니다. SQL Server 2005보다 이전 버전의 SQL Server에서는 작동하지 않습니다.

이 예제에서는 SMO(SQL Server Management Objects)를 사용하여 Service Broker 개체를 만드는 방법을 보여 줍니다. 이 예제는 Service Broker 개체를 만드는 데 여러 개의 Windows 사용자 컨트롤과 클래스가 필요하기 때문에 구현됩니다.

이 예제는 SQL Server 개체를 관리하는 Windows 사용자 컨트롤을 만드는 방법과 Service Broker SMO 사용법을 배우려는 Microsoft .NET Framework 개발자를 대상으로 합니다. 핵심 시나리오는 Microsoft .NET Framework 개발자가 사용자 지정 Service Broker 관리 응용 프로그램을 만드는 것입니다.

예제는 교육용으로만 제공되므로 프로덕션 환경에서 사용하기에 적합하지 않으며 프로덕션 환경에서 테스트되지 않았습니다. Microsoft에서는 이러한 예제에 대해 기술 지원을 제공하지 않습니다. 시스템 관리자의 허가 없이 프로덕션 SQL Server 데이터베이스 또는 보고서 서버에 예제 응용 프로그램 및 어셈블리를 연결하거나 사용해서는 안 됩니다.

요구 사항

이 예제를 실행하려면 다음 구성 요소가 설치되어 있어야 합니다.

  • .NET Framework SDK 2.0. .NET Framework SDK는 무료로 구할 수 있습니다. 자세한 내용은 .NET Framework 설명서 설치를 참조하십시오.
  • SQL Server 데이터베이스 엔진

위치

코드 예제가 기본 위치에 설치되었으면 예제는 다음 디렉터리에 있습니다.

C:\Program Files\Microsoft SQL Server\100\Samples\Engine\Programmability\SMO\ServiceBrokerConfiguration

코드 예제의 C# 솔루션은 CS 디렉터리에 있습니다.

예제 빌드

강력한 이름 키 파일을 생성하지 않았다면 다음 지침에 따라 해당 키 파일을 생성합니다.

강력한 이름의 키 파일을 생성하려면

  1. Microsoft Visual Studio 2005 명령 프롬프트를 엽니다. 시작을 클릭하고 모든 프로그램, Microsoft .NET Framework SDK 2.0을 차례로 가리킨 다음 SDK 명령 프롬프트를 클릭합니다.

    -- 또는 --

    Microsoft .NET Framework 명령 프롬프트를 엽니다. 시작을 클릭하고 모든 프로그램, Microsoft .NET Framework SDK 2.0을 차례로 가리킨 다음 SDK 명령 프롬프트를 클릭합니다.

  2. 디렉터리 변경 명령(CD)을 사용하여 명령 프롬프트 창의 현재 디렉터리를 예제가 설치된 폴더로 변경합니다.

    참고

    예제가 있는 폴더를 확인하려면 시작 단추를 클릭하고 모든 프로그램, Microsoft SQL Server, 설명서 및 자습서를 차례로 가리킨 다음 예제 디렉터리를 클릭합니다. 기본 설치 위치가 사용된 경우 예제는 <system_drive>:\Program Files\Microsoft SQL Server\100\Samples에 있습니다.

  3. 명령 프롬프트에서 다음 명령을 실행하여 키 파일을 생성합니다.

    sn -k SampleKey.snk

    중요

    강력한 이름 키 쌍에 대한 자세한 내용은 MSDN의 .NET Development Center에서 "Security Briefs: Strong Names and Security in the .NET Framework"를 참조하십시오.

Microsoft .NET Framework SDK를 사용할 경우 다음을 수행합니다.

Visual Studio 솔루션 빌드

  1. 시작을 클릭하고 모든 프로그램, Microsoft .NET Framework SDK v2.0을 차례로 가리킨 다음 SDK 명령 프롬프트를 클릭합니다.

  2. 예제의 루트 폴더를 찾습니다. 기본 위치에 다음 명령을 입력합니다.

  3. [C#]

cd \Program Files\Microsoft SQL Server\100\Samples\Engine\Programmability\SMO\ServiceBrokerConfiguration\CS\

  1. 다음을 입력하여 Visual Studio 솔루션을 빌드합니다.
    • msbuild

또는 Visual Studio 2005를 사용할 경우 다음을 수행합니다.

  1. \CS\ConfigurationComponent.sln 솔루션 파일을 엽니다.
  2. F6 키를 눌러 솔루션을 빌드합니다.

SQL Server 예제 데이터베이스 및 예제 XML 스키마 설정

  1. \CS\Script 폴더를 찾습니다.

  2. SQL Server Management Studio 내에서 setup.sql을 열고 실행합니다.

원격 서비스 바인딩을 설정하는 경우

SQL Server 마스터 키 설정(선택 사항)

  1. \CS\Script 폴더를 찾습니다.

  2. SQL Server Management Studio 내에서 masterkey.sql을 엽니다.

  3. CREATE MASTER KEY ENCRYPTION BY PASSWORD = 문에 master 데이터베이스 키의 암호를 입력합니다.

  4. CREATE MASTER KEY ENCRYPTION BY PASSWORD = 문에 ssb_ConfigurationSample 데이터베이스 키의 암호를 입력합니다.

  5. masterkey.sql을 실행합니다.

예제 실행

예제를 실행하려면

  1. C# 버전의 기본 위치는 C:\Program Files\Microsoft SQL Server\100\Samples\SMO\ServiceBrokerConfiguration\CS\SampleApplication\bin\Debug\SampleApplication.exe입니다.

로컬 SQL Server 인스턴스에 연결하려면

  1. 서버 이름 필드에 서버 이름을 입력하거나 기본(로컬) 서버 이름을 적용합니다.

  2. 연결을 클릭합니다.

새 데이터베이스에 대한 예제를 구성하려면

  1. 개체 탭에서 옵션을 클릭합니다.

  2. ScriptPath를 입력하거나 기본 경로를 적용합니다. ScriptPath는 스크립트를 파일로 내보내는 데 사용됩니다.

  3. 만들기를 클릭합니다. 만들기 단추를 클릭하면 BaseUrn 설정을 포함하여 예제가 구성됩니다.

MessageTypes를 만들려면

  1. 새로 만들기를 클릭한 다음 MessageType을 클릭합니다.

  2. MessageType 이름으로 ShippingRequest를 입력합니다.

  3. 만들기를 클릭하여 새 MessageType을 만들고 새로 만들기를 클릭한 다음 메시지 유형을 클릭합니다.

  4. MessageType 이름으로 ShippingAccept를 입력합니다.

  5. 만들기를 클릭하여 새 MessageType을 만들고 새로 만들기를 클릭한 다음 메시지 유형을 클릭합니다.

  6. MessageType 이름으로 ShippingComplete를 입력합니다.

  7. 만들기를 클릭하여 새 MessageType을 만듭니다.

계약을 만들려면

  1. 새로 만들기를 클릭한 다음 계약을 클릭합니다.

  2. MessageTypeMappings 드롭다운 메뉴를 선택합니다.

  3. 위에서 만든 MessageType을 모두 선택합니다.

  4. ShippingAccept 및 ShippingComplete MessageSource의 대상을 선택합니다.

  5. MessageTypeMappings 드롭다운 메뉴를 닫습니다.

  6. 계약 이름으로 Shipping을 입력합니다.

  7. 만들기를 클릭하여 새 계약을 만듭니다.

큐를 만들려면

  1. 새로 만들기를 클릭한 다음 를 클릭합니다.

  2. 큐 이름으로 ClientQueue를 입력합니다.

  3. 만들기를 클릭하여 새 큐를 만들고 새로 만들기를 클릭한 다음 를 클릭합니다.

  4. 큐 이름으로 ServerQueue를 입력합니다.

  5. 만들기를 클릭하여 새 큐를 만듭니다.

RemoteServiceBinding을 설정하지 않고 서비스를 만들려면

  1. 새로 만들기를 클릭한 다음 서비스를 클릭합니다.

  2. 서비스 이름으로 ClientService를 입력합니다.

  3. ContractNames 드롭다운 메뉴를 선택하고 Shipping 계약을 선택합니다.

  4. QueueName 드롭다운 메뉴를 선택하고 ClientQueue 큐를 선택합니다.

  5. ServiceOwnerName을 입력하거나 선택합니다.

  6. 만들기를 클릭하여 새 서비스를 만든 다음 새로 만들기를 클릭합니다.

  7. 서비스 이름으로 ServerService를 입력합니다.

  8. ContractNames 드롭다운을 선택하고 Shipping 계약을 선택합니다.

  9. QueueName 드롭다운 메뉴를 선택하고 ServerQueue 큐를 선택합니다.

  10. ServiceOwnerName을 입력하거나 선택합니다.

  11. 만들기를 클릭하여 새 서비스를 만듭니다.

RemoteServiceBinding을 설정하여 서비스를 만들려면

  1. 새로 만들기를 클릭한 다음 서비스를 클릭합니다.

  2. 서비스 이름으로 RemoteService를 입력합니다.

  3. ContractNames 드롭다운 메뉴를 선택하고 Shipping 계약을 선택합니다.

  4. EnableRemoteService를 True로 설정합니다.

  5. QueueName 드롭다운 메뉴를 선택하고 ClientQueue 큐를 선택합니다.

  6. ServiceOwnerName을 입력하거나 선택합니다.

  7. 만들기를 클릭하여 새 서비스를 만든 다음 새로 만들기를 클릭합니다.

원격 서비스에 대해 익명 액세스를 설정하려면

  1. 개체 트리 내에서 RemoteService를 선택합니다.

  2. AllowAnonymous를 True로 설정합니다.

  3. 변경을 클릭하여 서비스를 변경합니다.

대상 인스턴스 끝점을 만들려면

  1. 새로 만들기를 클릭한 다음 대상 인스턴스 끝점을 클릭합니다.

  2. 이름을 입력하거나 기본 이름을 적용합니다.

  3. 만들기를 클릭합니다.

스크립트 내보내기 경로를 설정하려면

  1. 개체 탭이 아직 활성화되어 있지 않으면 탭을 클릭합니다.

  2. 옵션을 클릭합니다.

  3. 올바른 ScriptPath를 입력합니다.

  4. 만들기를 클릭합니다.

개체를 내보내려면

  1. 개체 트리 내에서 개체를 선택합니다.

  2. 스크립트를 클릭한 다음 내보내기를 클릭합니다.

  3. 응용 프로그램 구성에 설정된 ScriptPath로 개체를 내보냅니다.

서비스 정의를 파일로 내보내려면

  1. 개체 트리 내에서 서비스를 선택합니다.

  2. 스크립트를 클릭한 다음 내보내기를 클릭합니다.

  3. 응용 프로그램 구성에 설정된 ScriptPath로 서비스 스크립트를 내보냅니다.

개체를 삭제하려면

  1. TreeView에서 개체를 선택합니다.

  2. 삭제 또는 편집, {ObjectName} 삭제를 클릭합니다.

개체를 변경하려면

  1. 개체 트리에서 수정하려는 개체를 클릭합니다.

  2. 해당 개체의 속성을 수정합니다.

  3. 변경을 클릭하여 개체를 변경합니다.

개체를 설명하는 데이터를 쿼리하려면

  1. 각 개체는 개체를 설명하는 데이터를 텍스트 상자 및/또는 DataGrid에 출력할 수 있습니다.

  2. TreeView에서 개체를 선택합니다.

  3. 쿼리를 클릭합니다.

예제 제거

서비스를 삭제하려면

  1. ClientService 노드를 클릭합니다.

  2. 개체를 삭제합니다.

  3. ServerService 노드를 클릭합니다.

  4. 개체를 삭제합니다.

큐를 삭제하려면

  1. ClientQueue 노드를 클릭합니다.

  2. 개체를 삭제합니다.

  3. ServerQueue 노드를 클릭합니다.

  4. 개체를 삭제합니다.

계약을 삭제하려면

  1. Shipping 계약 노드를 클릭합니다.

  2. 개체를 삭제합니다.

MessageTypes를 삭제하려면

  1. ShippingRequest MessageType 노드를 클릭합니다.

  2. 개체를 삭제합니다.

  3. ShippingAccept MessageType 노드를 클릭합니다.

  4. 개체를 삭제합니다.

  5. ShippingComplete MessageType 노드를 클릭합니다.

  6. 개체를 삭제합니다.

대상 인스턴스 끝점을 삭제하려면

  1. 대상 인스턴스 끝점 노드를 클릭합니다.

  2. 개체를 삭제합니다.