배포 및 관리 작업 스크립팅

업데이트: 2006년 12월 12일

Reporting Services에서는 스크립트를 사용하여 일반적인 설치, 배포 및 관리 작업을 자동화할 수 있습니다. 보고서 서버를 배포하려면 여러 단계를 수행해야 합니다. 여러 가지 도구와 프로세스를 사용하여 배포를 구성해야 하며 모든 작업을 자동화하는 데 사용할 수 있는 단일 프로그램이나 방법은 없습니다.

모든 단계가 자동화되는 것은 아닙니다. 일부 경우에는 단계를 수동으로 수행하거나 그래픽 도구를 통해 수행하는 것이 가장 간단하고 효과적인 방법입니다. 예를 들어 많은 보고서와 모델을 배포하려면 보고서 서버 내용을 다시 만드는 코드를 작성하는 것보다 보고서 서버 데이터베이스를 복사하는 것이 더 좋습니다.

일부 단계에서는 사용자 지정 코드가 필요합니다. 예를 들어 가상 디렉터리와 웹 서비스를 구성하는 단계를 자동화할 수 있지만 이렇게 하려면 보고서 서버 WMI(Windows Management Instrumentation) 공급자를 호출하는 사용자 지정 코드를 작성해야 합니다. 코드를 작성하지 않으려면 Reporting Services 구성 도구를 사용하여 해당 단계를 수행해야 합니다.

보고서 서버를 구성하는 스크립트를 실행하려면 구성하는 컴퓨터의 로컬 관리자여야 합니다. 자세한 내용은 원격 관리를 위한 보고서 서버 구성을 참조하십시오.

이 항목에서는 특정 단계를 자동화하는 권장 방법에 대해 설명합니다. 많은 프로그램 및 프로그래밍 인터페이스가 소개되어 있으며 이 항목에서는 각 프로그램 및 인터페이스에 대해 보다 자세히 설명합니다.

배포 작업과 배포 작업 자동화 방법

다음 표에서는 보고서 서버를 배포하는 데 필요한 설치 및 구성 작업을 모두 요약하여 보여 줍니다. 이 표에서 특정 작업을 자동화하거나 무인 모드로 수행하는 데 사용할 수 있는 방법을 찾아 볼 수 있습니다.

작업 방법

Reporting Services 설치

명령줄에서 설치 프로그램을 실행하여 무인 설치를 수행할 수 있습니다.

설치 프로그램을 사용하여 보고서 서버 설치와 구성을 모두 수행할 수 있지만 이렇게 하려면 기본 구성 옵션을 선택해야 하며 시스템이 해당 설치 유형의 요구 사항을 모두 만족해야 합니다. 기본 구성을 설치할 수 없는 경우에는 "파일만" 옵션으로 설치를 수행해야 합니다. 설치 옵션에 대한 자세한 내용은 설치 프로그램을 사용하여 Reporting Services 설치를 참조하십시오.

인터넷 정보 서비스(IIS)에서 웹 사이트 구성

Reporting Services에서는 웹 사이트를 만들거나 구성하는 기능을 제공하지 않습니다. 이 작업을 자동화하는 방법은 IIS 제품 설명서를 참조하십시오.

보고서 서버 웹 사이트 및 가상 디렉터리 구성

보고서 서버 WMI 공급자를 호출하는 사용자 지정 코드를 작성해야 합니다. 웹 서비스를 구성하고 가상 디렉터리를 지정하기 위한 명령줄 유틸리티나 스크립트 템플릿은 없습니다.

코딩 요구 사항으로 인해 이 단계를 자동화할 수 없는 경우 Reporting Services 구성 도구를 실행하면 웹 서비스와 가상 디렉터리를 손쉽게 수동으로 구성할 수 있습니다. 자세한 내용은 보고서 서버 가상 디렉터리 구성을 참조하십시오.

보고서 서버 데이터베이스 생성, 업그레이드 또는 구성

다음 방법 중 하나를 사용하여 데이터베이스 구성을 자동화할 수 있습니다.

  • 미리 정의된 스크립트 템플릿에서 GenerateNewDatabaseScript.sql, UpgradeDatabaseScript.sql 또는 GrantRightsScript.sql 스크립트를 만듭니다. Reporting Services 구성 도구를 사용하거나 WMI(Windows Management Instrumentation) 공급자를 호출하여 이러한 스크립트를 생성할 수 있습니다. 해당 스크립트는 Management Studio의 쿼리 창에서 또는 osql 유틸리티를 사용하여 명령줄에서 프로그래밍 방식으로 실행할 수 있습니다.
  • rsconfig 유틸리티를 실행하여 연결을 구성합니다. rsconfig.exe를 사용하여 데이터베이스를 만들거나 업그레이드할 수는 없습니다. rsconfig를 사용할 경우 GrantRightsScript를 실행하여 보고서 서버 데이터베이스에 대한 사용 권한을 부여해야 합니다. 각 서비스 계정에 대해 스크립트를 다시 생성하고 실행해야 합니다. 스크립트를 다시 생성하고 실행하는 횟수는 보고서 서버 데이터베이스 연결을 구성한 방법에 따라 달라집니다. 두 개의 서비스 계정이 있으므로 스크립트를 두 번 다시 생성하고 실행해야 합니다.

확장 배포 구성

다음 방법 중 하나를 사용하여 확장 배포를 자동화할 수 있습니다.

  • rskeymgmt.exe 유틸리티를 실행하여 보고서 서버 인스턴스를 기존 설치에 추가합니다. 자세한 내용은 확장 배포의 암호화 키 추가 및 제거를 참조하십시오.
  • 보고서 서버 WMI 공급자에 대해 실행되는 사용자 지정 코드를 작성합니다.

암호화 키 백업

다음 방법 중 하나를 사용하여 암호화 키 백업을 자동화할 수 있습니다.

  • rskeymgmt.exe 유틸리티를 실행하여 키를 백업합니다. 자세한 내용은 암호화 키 백업 및 복원을 참조하십시오.
  • 보고서 서버 WMI 공급자에 대해 실행되는 사용자 지정 코드를 작성합니다.

보고서 서버 전자 메일 구성

Reporting Services WMI 공급자에 대해 실행되는 사용자 지정 코드를 작성합니다. 이 공급자에서는 전자 메일 구성 설정의 하위 집합을 지원합니다.

RSReportServer.config 파일에 모든 설정이 포함되어 있지만 이 파일을 자동화 방법으로 사용하지 마십시오. 특히 배치 파일을 사용하여 파일을 다른 보고서 서버로 복사하지 마십시오. 각 구성 파일에는 현재 인스턴스와 관련된 값이 포함되어 있으며 이러한 값은 다른 보고서 서버 인스턴스에서 유효하지 않습니다.

이러한 설정에 대한 자세한 내용은 전자 메일 배달을 위한 보고서 서버 구성을 참조하십시오.

무인 실행 계정 구성

다음 방법 중 하나를 사용하여 무인 처리 계정 구성을 자동화할 수 있습니다.

폴더 계층, 역할 할당, 보고서, 구독, 일정, 데이터 원본 및 리소스를 비롯한 기존 보고서 서버 환경 배포

기존 보고서 서버 환경을 다시 만드는 가장 좋은 방법은 보고서 서버 데이터베이스를 새 보고서 서버 인스턴스에 복사하는 것입니다.

또는 기존 보고서 서버 내용을 프로그래밍 방식으로 다시 만드는 사용자 지정 코드를 작성할 수 있습니다. 그러나 구독, 보고서 스냅숏 및 보고서 기록은 프로그래밍 방식으로 다시 만들 수 없습니다.

일부 경우에는 이 두 가지 방법을 함께 사용하여 배포하는 것이 유용할 수 있습니다. 즉, 보고서 서버 데이터베이스를 복원한 다음 특정 설치에 맞게 보고서 서버 데이터베이스를 수정할 수 있습니다.

보고서 서버 데이터베이스의 위치를 다시 지정하는 방법은 다른 컴퓨터로 보고서 서버 데이터베이스 이동을 참조하십시오. 보고서 서버 환경을 프로그래밍 방식으로 만드는 방법은 이 항목의 "보고서 서버 환경 복제" 섹션을 참조하십시오.

서버 배포를 자동화하기 위한 도구 및 기술

다음 목록에는 배포 및 유지 관리 작업을 자동화하는 데 사용할 수 있는 프로그램과 인터페이스가 요약되어 있습니다.

  • 설치 프로그램을 무인 모드에서 실행하면 보고서 서버 구성 요소를 설치하고 일부 경우에는 구성도 할 수 있습니다. 설치 프로그램에서 보고서 서버 인스턴스를 구성하도록 하려면 파일만 설치 옵션을 선택해야 합니다.
  • 보고서 서버 WMI 공급자와 Reporting Services 명령줄 유틸리티를 사용하면 로컬 및 원격 서버를 구성할 수 있습니다.
    보고서 서버 WMI 공급자에서는 서비스 계정 지정, 가상 디렉터리 구성, 보고서 서버 데이터베이스 생성 및 구성, 전자 메일 배달을 위한 보고서 서버 구성 등을 포함하여 Reporting Services 설치의 모든 측면을 구성할 수 있는 클래스, 속성 및 메서드를 노출합니다. WMI 공급자를 사용하려면 사용자 지정 코드나 스크립트를 작성해야 합니다. 자세한 내용은 Reporting Services WMI Provider를 참조하십시오.
    코드를 작성하는 대신 명령줄 유틸리티인 rsconfig.exe와 rskeymgmt.exe를 사용할 수도 있습니다. 유틸리티를 실행하는 배치 파일을 만들 수도 있습니다. 이러한 유틸리티를 사용하면 일부 구성 작업을 자동화할 수 있지만 모든 구성 작업을 자동화할 수 있는 것은 아닙니다.
  • 스크립트 템플릿을 사용하면 보고서 서버 데이터베이스를 생성, 업그레이드 및 구성하는 데 즉시 사용할 수 있는 스크립트를 생성할 수 있습니다. Reporting Services 구성 도구를 통해 이러한 스크립트를 생성할 수 있습니다.
  • 보고서 서버 스크립트 호스트 도구(rs.exe)에서는 보고서 서버의 내용을 다시 만들거나 한 보고서 서버의 기존 내용을 다른 보고서 서버로 이동하도록 작성한 사용자 지정 Visual Basic 코드를 실행할 수 있습니다. 이 방법을 사용하면 Visual Basic에서 스크립트를 만들고 이를 .rss 파일로 저장한 후 대상 보고서 서버에서 rs.exe를 사용하여 해당 스크립트를 실행할 수 있습니다. 작성하는 스크립트는 보고서 서버 웹 서비스에 대한 SOAP 인터페이스를 호출할 수 있습니다. 이 방법을 사용하면 보고서 서버 폴더 네임스페이스 및 내용을 다시 만들고 역할 기반 보안을 다시 만들 수 있으므로 배포 스크립트는 이 방법을 사용하여 작성합니다.
    rs.exe를 사용하여 SQL Server Management Studio에서 만든 사용자 지정 스크립트나 생성된 스크립트를 실행할 수도 있습니다. Reporting Services의 경우 Management Studio의 스크립트 생성 기능은 역할 만들기, 보고서 속성 설정, 일정 정의 등의 매우 구체적인 작업을 수행하는 Visual Basic 코드를 만듭니다. 생성된 코드는 완전하지 않으며 키보드 입력 및 마우스 이벤트를 캡처합니다. 이 코드를 사용하려면 사용자가 만든 더 큰 프로그램에 코드를 복사해야 합니다.

[!참고] 이전 릴리스의 Reporting Services에서는 설치 프로그램을 사용하여 가능한 모든 보고서 서버 구성을 배포할 수 있었지만 이 기능은 더 이상 사용할 수 없습니다. 확장 배포를 구성하거나 원격 SQL Server 인스턴스를 사용하여 보고서 서버 데이터베이스를 호스팅하려면 스크립트를 작성하거나 명령줄 유틸리티를 실행해야 합니다. 또한 SQL Server 2005에서는 보고서 서버 WMI 공급자가 업데이트되었습니다. 이전 릴리스의 WMI 공급자에 대해 작성한 스크립트를 다시 사용하려면 새 끝점을 사용하도록 스크립트를 수정해야 합니다.

보고서 서버 환경 복제

다른 보고서 서버 인스턴스의 보고서 서버 환경을 복제하는 스크립트를 작성할 수 있습니다. 배포 스크립트는 일반적으로 Visual Basic으로 작성한 다음 보고서 서버 스크립트 호스트 유틸리티를 사용하여 처리합니다.

스크립트를 사용하여 한 서버의 폴더, 공유 데이터 원본, 리소스, 보고서, 역할 할당 및 설정을 다른 서버로 복사할 수 있습니다. 하나의 보고서 서버 인스턴스에 대해 스크립트를 작성한 다음 이를 다른 서버에서 실행하여 보고서 서버 네임스페이스를 다시 만듭니다. Reporting Services 배포에 여러 보고서 서버가 있는 경우 각 서버에서 개별적으로 스크립트를 실행하여 모든 서버를 동일한 방법으로 구성할 수 있습니다.

다음 목록에서는 서버 간 보고서 마이그레이션 단계에 대해 설명합니다.

  1. 스크립트 변수를 원본 보고서 서버의 URL로 설정합니다.
  2. GetReportDefinition 메서드 및 GetProperties 메서드를 사용하여 보고서 정의 및 보고서 속성을 검색합니다.
  3. URL이 대상 서버를 가리키도록 설정합니다.
  4. CreateReport 메서드를 사용하여 GetProperties에서 반환한 속성 및 GetReportDefinition에서 반환한 보고서 정의를 전달합니다.

가져오기 및 만들기 방법을 조합하여 설정, 폴더, 공유 데이터 원본 및 리소스를 마이그레이션하는 것과 유사한 단계를 수행할 수 있습니다. 사용할 수 있는 방법에 대한 자세한 내용은 Reporting Services 관리 프로그래밍 참조를 참조하십시오.

[!참고] 자격 증명을 명시적으로 설정하지 않는 한 스크립트는 해당 스크립트를 실행하는 사용자의 Microsoft Windows 자격 증명으로 실행됩니다.

스크립트 예제에 대한 자세한 내용은 스크립트 예제(Reporting Services)를 참조하십시오. 스크립트 파일의 형식 지정 및 실행 방법은 Scripting with the rs Utility and the Web Service를 참조하십시오.

서버 속성 설정을 위한 예제 스크립트

보고서 서버에 대한 시스템 속성을 설정하는 스크립트 또는 코드를 작성할 수 있습니다. 다음 Microsoft Visual Basic .NET 스크립트는 속성을 설정하는 한 가지 방법을 보여 줍니다. 이 예에서는 RSClientPrint ActiveX 컨트롤을 비활성화하지만 EnableClientPrintingFalse를 유효한 속성 이름 및 값으로 바꿀 수 있습니다. 서버 속성의 전체 목록을 보려면 Report Server System Properties을 참조하십시오.

스크립트를 사용하려면 .rss 확장명을 가진 파일로 저장한 다음 rs.exe 명령 프롬프트 유틸리티를 사용하여 보고서 서버에서 해당 파일을 실행합니다. 스크립트는 컴파일되지 않으므로 Visual Basic을 설치할 필요는 없습니다. 이 예에서는 보고서 서버를 호스팅하는 로컬 컴퓨터에 대한 권한이 사용자에게 있다고 가정합니다. 권한을 가진 계정으로 로그온하지 않은 경우, 추가 명령줄 인수를 통해 계정 정보를 지정해야 합니다. 자세한 내용은 rs 유틸리티를 참조하십시오.

Public Sub Main()
        Dim props(0) As [Property]
        Dim setProp As New [Property]
        setProp.Name = "EnableClientPrinting"
        setProp.Value = “False?
        props(0) = setProp
        Try
            rs.SetSystemProperties(props)
        Catch ex As System.Web.Services.Protocols.SoapException
            Console.Write(ex.Detail.InnerXml)
        Catch e as Exception
            Console.Write(e.Message)
        End Try
End Sub

참고 항목

개념

Reporting Services 관리
보고서 서버 명령 프롬프트 유틸리티
Reporting Services의 브라우저 지원
Reporting Services 구성 요소 개요

관련 자료

GenerateDatabaseCreationScript Method (WMI MSReportServer_ConfigurationSetting Class)
GenerateDatabaseRightsScript Method (WMI MSReportServer_ConfigurationSetting Class)
GenerateDatabaseUpgradeScript Method (WMI MSReportServer_ConfigurationSetting Class)
방법: 명령 프롬프트에서 SQL Server 2005 설치
보고서 서버 설치에 대한 기본 구성
Reporting Services 배포

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 12월 12일

변경된 내용
  • 보고서 서버 데이터베이스 생성, 업그레이드 또는 구성에 대한 정보를 변경했습니다.
  • 보고서 서버 전자 메일 구성에 대한 정보를 변경했습니다.

2006년 7월 17일

새로운 내용
  • 스크립트를 통해 서버 속성을 설정하는 방법을 보여 주는 예를 추가했습니다.

2006년 4월 14일

변경된 내용
  • 대폭 변경했습니다.