배포 및 관리 태스크 스크립트
Reporting Services는 스크립트를 사용하여 일상적인 설치, 배포 및 관리 작업을 자동화할 수 있도록 지원합니다. 보고서 서버 배포는 다단계 프로세스입니다. 여러 가지 도구와 프로세스를 사용하여 배포를 구성해야 하며 모든 태스크를 자동화하는 데 사용할 수 있는 단일 프로그램이나 방법은 없습니다.
모든 단계를 자동화해야 하는 것은 아닙니다. 경우에 따라 수동으로 또는 그래픽 도구를 통해 단계를 수행하는 것이 가장 간단하고 효과적인 방법입니다. 예를 들어 많은 보고서와 모델을 배포하려는 경우 보고서 서버 환경을 다시 만드는 코드를 작성하는 대신, 보고서 서버 데이터베이스를 복사하는 것이 좋습니다.
일부 단계에는 사용자 지정 코드가 필요합니다. 예를 들어 웹 서비스에 대한 URL과 보고서 관리자를 구성하는 단계를 자동화할 수 있지만 이렇게 하려면 보고서 서버 WMI(Windows Management Instrumentation) 공급자를 호출하는 사용자 지정 코드를 작성해야 합니다. 코드를 작성하지 않으려면 Reporting Services 구성 도구를 사용하여 해당 단계를 수행해야 합니다.
보고서 서버를 구성하는 스크립트를 실행하려면 구성하는 컴퓨터의 로컬 관리자여야 합니다. 자세한 내용은 원격 관리를 위한 보고서 서버 구성을 참조하세요.
이 문서에서는 특정 단계를 자동화하는 권장 방법에 대해 설명합니다. 여러 프로그램 및 프로그래밍 인터페이스가 언급되어 있습니다. 각각에 대한 설명은 이 문서의 뒷부분에 나와 있습니다.
배포 작업 및 자동화 방법
다음 표에는 보고서 서버를 배포하는 데 필요한 설치 및 구성 작업이 요약되어 있습니다. 표를 사용하여 특정 작업을 무인 작업으로 수행하거나 자동화할 수 있도록 하는 접근 방식과 일치시킬 수 있습니다.
작업 | 접근 방식 |
---|---|
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 기본 모드(구성 관리자)를 참조하세요. |
무인 실행 계정 구성 | 무인 처리 계정 구성을 자동화하려면 다음 방법 중에서 선택합니다. - 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 배포에 여러 보고서 서버가 있는 경우 각 서버에서 개별적으로 스크립트를 실행하여 모든 서버를 동일한 방법으로 구성할 수 있습니다.
다음 목록에서는 한 서버에서 다른 서버로 보고서를 마이그레이션하는 단계를 설명합니다.
스크립트 변수를 원본 보고서 서버의 URL로 설정합니다.
GetItemDefinition 및 GetProperties 메서드를 사용하여 보고서 정의 및 보고서의 속성을 검색합니다.
대상 서버를 가리키도록 URL을 설정합니다.
CreateCatalogItem 메서드를 사용하여 GetProperties에서 반환된 속성 및 GetItemDefinition에서 반환하는 보고서 정의를 전달합니다.
가져오기 및 만들기 방법을 조합하여 설정, 폴더, 공유 데이터 원본 및 리소스를 마이그레이션하는 것과 유사한 단계를 수행할 수 있습니다. 사용 가능한 메서드에 대한 자세한 내용은 기술 참조(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 포럼에서 질문하기