배포 및 관리 작업 스크립트

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

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

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

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

이 문서에서는 특정 단계를 자동화하기 위한 권장 방법을 설명합니다. 여러 프로그램 및 프로그래밍 인터페이스가 멘션. 각 프로그램에 대한 설명은 이 문서의 뒷부분에서 제공합니다.

배포 작업 및 자동화 방법

다음 표에는 보고서 서버를 배포하는 데 필요한 설치 및 구성 작업이 요약되어 있습니다. 테이블을 사용하여 특정 작업을 무인 작업을 자동화하거나 수행할 수 있는 접근 방식과 일치시킬 수 있습니다.

Task 접근 방식
Reporting Services를 설치합니다. 명령줄에서 설치 프로그램을 실행하여 무인 설치를 수행할 수 있습니다.

설치 프로그램을 사용하여 보고서 서버를 설치 및 구성할 수 있지만 기본 구성 옵션을 지정하고 시스템이 이 설치 유형에 대한 모든 요구 사항을 충족하는 경우에만 가능합니다. 기본 구성을 설치할 수 없는 경우에는 "파일만" 옵션으로 설치를 수행해야 합니다.
서비스 계정을 구성합니다. 서비스 계정은 설치 프로그램을 통해 처음 구성됩니다. 설치 후 작업으로 서비스 계정의 변경 내용을 자동화하려면 보고서 서버 WMI 공급자를 호출하는 사용자 지정 코드를 작성해야 합니다. 서비스 계정을 프로그래밍 방식으로 구성하기 위한 명령 프롬프트 유틸리티 또는 스크립트 템플릿은 없습니다.

코딩 요구 사항으로 인해 이 단계를 자동화할 수 없는 경우 Reporting Services 구성 도구를 실행하여 계정을 수동으로 쉽게 구성할 수 있습니다. 자세한 내용은 서비스 계정 구성(보고서 서버 구성 관리자)을 참조하세요.
보고서 서버 웹 서비스 및 보고서 관리자 URL을 구성합니다. 보고서 서버 WMI 공급자를 호출하는 사용자 지정 코드를 작성해야 합니다. URL을 구성하기 위한 명령줄 유틸리티 또는 스크립트 템플릿이 없습니다.

코드를 작성하지 않으려면 Reporting Services 구성 도구를 실행하여 URL을 수동으로 구성할 수 있습니다. 자세한 내용은 URL 구성(보고서 서버 구성 관리자)을 참조하세요.
보고서 서버 데이터베이스 만들기 보고서 서버 WMI 공급자를 호출하는 사용자 지정 코드를 작성해야 합니다. 보고서 서버 데이터베이스 및 RSExecRole을 만들기 위한 명령 프롬프트 유틸리티 또는 스크립트 템플릿은 없습니다.

코드를 작성하지 않으려면 Reporting Services 구성 도구를 실행하여 데이터베이스를 수동으로 만들 수 있습니다. 자세한 내용은 기본 모드 보고서 서버 데이터베이스 만들기(보고서 서버 구성 관리자)를 참조하세요.
보고서 서버 데이터베이스 연결을 구성합니다. 연결 문자열, 계정 또는 암호 또는 인증 유형을 변경하는 경우 rsconfig 유틸리티를 실행하여 연결을 구성합니다. 자세한 내용은 보고서 서버 데이터베이스 연결 구성(보고서 서버 구성 관리자)rsconfig 유틸리티(SSRS)를 참조하세요.

rsconfig.exe를 사용하여 데이터베이스를 만들거나 업그레이드할 수는 없습니다. 데이터베이스와 RSExecRole은 이미 있어야 합니다.
스케일 아웃 배포를 구성합니다. 스케일 아웃 배포를 자동화하려면 다음 방법 중에서 선택합니다.

- rskeymgmt.exe 유틸리티를 실행하여 보고서 서버 인스턴스를 기존 설치에 추가합니다. 자세한 내용은 스케일 아웃 배포를 위한 암호화 키 추가 및 제거(보고서 서버 구성 관리자)를 참조하세요.
- 보고서 서버 WMI 공급자에 대해 실행되는 사용자 지정 코드를 작성합니다.
암호화 키를 백업합니다. 다음 방법 중 하나를 사용하여 암호화 키 백업을 자동화할 수 있습니다.

- rskeymgmt.exe 유틸리티를 실행하여 키를 백업합니다. 자세한 내용은 Reporting Services 암호화 키 백업 및 복원을 참조 하세요.
- 보고서 서버 WMI 공급자에 대해 실행되는 사용자 지정 코드를 작성합니다.
보고서 서버 전자 메일을 구성합니다. Reporting Services WMI 공급자에 대해 실행되는 사용자 지정 코드를 작성합니다. 이 공급자에서는 전자 메일 구성 설정의 하위 집합을 지원합니다.

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

설정에 대한 자세한 내용은 전자 메일 설정 - Reporting Services 기본 모드(Configuration Manager)를 참조하세요.
무인 실행 계정을 구성합니다. 무인 처리 계정 구성을 자동화하려면 다음 방법 중에서 선택합니다.

- rsconfig.exe 유틸리티를 실행하여 계정을 구성합니다. 자세한 내용은 무인 실행 계정 구성(보고서 서버 구성 관리자)을 참조하세요.
- 보고서 서버 WMI 공급자를 호출하는 사용자 지정 코드를 작성합니다.
폴더 계층, 역할 할당, 보고서, 구독, 일정, 데이터 원본 및 리소스를 포함하여 다른 보고서 서버에 기존 콘텐츠를 배포합니다. 기존 보고서 서버 환경을 다시 만드는 가장 좋은 방법은 보고서 서버 데이터베이스를 새 보고서 서버 인스턴스에 복사하는 것입니다.

다른 방법은 기존 보고서 서버 콘텐츠를 프로그래밍 방식으로 다시 만드는 사용자 지정 코드를 작성하는 것입니다. 그러나 구독, 보고서 스냅샷 및 보고서 기록은 프로그래밍 방식으로 다시 만들 수 없습니다.

일부 배포는 두 기술을 함께 사용하여 이점을 얻을 수 있습니다. 예를 들어 보고서 서버 데이터베이스를 복원한 다음 특정 설치를 위해 보고서 서버 데이터베이스를 수정하는 사용자 지정 코드를 실행합니다.

자세한 예제는 보고서 서버 간에 콘텐츠를 복사하는 샘플 Reporting Services rs.exe 스크립트를 참조 하세요.

보고서 서버 데이터베이스를 재배치하는 방법에 대한 자세한 내용은 보고서 서버 데이터베이스를 다른 컴퓨터로 이동(SSRS 기본 모드)을 참조하세요. 프로그래밍 방식으로 보고서 서버 환경을 만드는 방법에 대한 자세한 내용은 이 문서의 "스크립트를 사용하여 보고서 서버 콘텐츠 및 폴더 마이그레이션" 섹션을 참조하세요.

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

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

  • 설치 프로그램을 무인 모드로 실행하여 보고서 서버 구성 요소를 설치하고 구성할 수 있습니다. 설치 프로그램에서 보고서 서버 인스턴스를 구성하도록 하려면 파일만 설치 옵션을 사용해야 합니다.

  • Reporting Services WMI 공급자 및 Reporting Services 명령줄 유틸리티는 로컬 및 원격 서버 구성에 사용할 수 있습니다.

    Reporting Services WMI 공급자는 Reporting Services 설치의 모든 측면을 구성할 수 있는 클래스, 속성 및 메서드를 노출합니다. 이러한 측면에는 서비스 계정 지정 및 URL 구성이 포함됩니다. 보고서 서버 데이터베이스를 만들고 구성하거나 전자 메일 배달을 위해 보고서 서버를 구성하는 것도 포함될 수 있습니다. WMI 공급자를 사용하려면 사용자 지정 코드나 스크립트를 작성해야 합니다. 자세한 내용은 Reporting Services WMI 공급자 액세스를 참조하세요.

    코드를 작성하는 대신 명령줄 유틸리티인 rsconfig.exe와 rskeymgmt.exe를 사용할 수도 있습니다. 유틸리티를 실행하는 일괄 처리 파일을 작성할 수 있습니다. 유틸리티를 사용하여 일부 구성 작업을 자동화할 수 있습니다.

  • 보고서 서버 스크립트 호스트 도구(rs.exe)는 기존 콘텐츠를 한 보고서 서버에서 다른 보고서 서버로 다시 만들거나 이동하기 위해 작성할 수 있는 사용자 지정 Microsoft Visual Basic 코드를 실행할 수 있습니다. 이 방법을 사용하면 Visual Basic에서 스크립트를 작성하고, .rss 파일로 저장하고, 대상 보고서 서버에서 스크립트를 실행하는 데 사용합니다 rs.exe . 작성하는 스크립트는 SOAP 인터페이스를 보고서 서버 웹 서비스로 호출할 수 있습니다. 배포 스크립트는 보고서 서버 폴더 네임스페이스 및 콘텐츠를 다시 만들고 역할 기반 보안을 다시 만들 수 있으므로 이 방법을 사용하여 작성됩니다.

  • SQL Server 2012 릴리스에서는 SharePoint 통합 모드에 대한 PowerShell cmdlet이 도입되었습니다. PowerShell을 사용하여 SharePoint 통합을 구성하고 관리할 수 있습니다. 자세한 내용은 Reporting Services SharePoint 모드에 대한 PowerShell cmdlet을 참조하세요.

스크립트를 사용하여 보고서 서버 콘텐츠 및 폴더 마이그레이션

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

자세한 예제는 보고서 서버 간에 콘텐츠를 복사하는 샘플 Reporting Services rs.exe 스크립트를 참조 하세요.

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

다음 목록에서는 한 서버에서 다른 서버로 보고서를 마이그레이션하는 단계를 설명합니다.

  1. 스크립트 변수를 원본 보고서 서버의 URL로 설정합니다.

  2. GetItemDefinitionGetProperties 메서드를 사용하여 보고서 정의 및 보고서의 속성을 검색합니다.

  3. 대상 서버를 가리키도록 URL을 설정합니다.

  4. 메서드를 사용하여 CreateCatalogItem 반환된 속성과 반환 GetPropertiesGetItemDefinition보고서 정의를 전달합니다.

가져오기 및 만들기 방법을 조합하여 설정, 폴더, 공유 데이터 원본 및 리소스를 마이그레이션하는 것과 유사한 단계를 수행할 수 있습니다. 사용 가능한 방법에 대한 자세한 내용은 SSRS(기술 참조)를 참조하세요.

참고 항목

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

스크립트 파일의 서식을 지정하고 실행하는 방법에 대한 자세한 내용은 rs.exe 유틸리티 및 웹 서비스를 사용하여 스크립트를 참조하세요.

스크립트를 사용하여 서버 속성 설정

보고서 서버에서 시스템 속성을 설정하는 스크립트를 작성할 수 있습니다. 다음 Visual Basic .NET 스크립트는 속성을 설정하는 한 가지 방법을 보여줍니다. 다음은 RSClientPrint ActiveX 컨트롤을 사용하지 않도록 설정하는 예제이지만 EnableClientPrinting 및 False 유효한 속성 이름 및 값으로 바꿀 수 있습니다. 서버 속성의 전체 목록을 보려면 보고서 서버 시스템 속성을 참조 하세요.

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

자세한 예제는 보고서 서버 간에 콘텐츠를 복사하는 샘플 Reporting Services rs.exe 스크립트를 참조 하세요.

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  

GenerateDatabaseCreationScript 메서드(WMI MSReportServer_ConfigurationSetting)
GenerateDatabaseRightsScript 메서드(WMI MSReportServer_ConfigurationSetting)
GenerateDatabaseUpgradeScript 메서드(WMI MSReportServer_ConfigurationSetting)
명령 프롬프트에서 SQL Server 설치
Reporting Services 기본 모드 보고서 서버 설치
Reporting Services 보고서 서버(기본 모드)
보고서 서버 명령 프롬프트 유틸리티(SSRS)
Reporting Services에 대한 브라우저 지원
Reporting Services 도구

추가 질문이 있으신가요? Reporting Services 포럼에서 질문하기