관리 보고서 서버 데이터베이스 등록(SSRS 기본 모드)

Reporting Services 배포는 두 SQL Server 관계형 데이터베이스를 내부 스토리지로 사용합니다. 기본적으로 데이터베이스의 이름은 ReportServer 다음과 같습니다 ReportServerTempdb. ReportServerTempdb 는 기본 보고서 서버 데이터베이스를 사용하여 만들어지고 임시 데이터, 세션 정보 및 캐시된 보고서를 저장하는 데 사용됩니다.

Reporting Services에서 데이터베이스 관리 작업에는 보고서 서버 데이터베이스 백업 및 복원이 포함됩니다. 작업에는 중요한 데이터를 암호화하고 암호 해독하는 데 사용되는 암호화 키 관리도 포함됩니다.

보고서 서버 데이터베이스를 관리하기 위해 SQL Server는 다양한 도구를 제공합니다.

  • SQL Server Management Studio, Transact-SQL 명령 또는 데이터베이스 명령 프롬프트 유틸리티를 사용하여 다음을 수행할 수 있습니다.

    • 보고서 서버 데이터베이스 백업 또는 복원
    • 보고서 서버 데이터베이스 이동
    • 보고서 서버 데이터베이스 복구

    자세한 내용은 보고서 서버 데이터베이스를 다른 컴퓨터로 이동(SSRS 기본 모드)을 참조하세요.

  • 기존 데이터베이스 내용을 다른 보고서 서버 데이터베이스에 복사하려면 다른 보고서 서버 인스턴스에 보고서 서버 데이터베이스의 복사본을 연결하여 사용합니다. 또는 SOAP 호출을 사용하여 새 데이터베이스에서 보고서 서버 콘텐츠를 다시 만드는 스크립트를 만들고 실행할 수 있습니다. rs 유틸리티를 사용하여 스크립트를 실행할 수 있습니다.

  • Reporting Services 구성 도구의 데이터베이스 설치 페이지를 사용하여 보고서 서버와 보고서 서버 데이터베이스 간의 연결을 관리할 수 있습니다. 이를 사용하여 특정 보고서 서버 인스턴스에 사용되는 데이터베이스를 확인할 수도 있습니다. 보고서 서버 데이터베이스에 대한 보고서 서버 연결에 대한 자세한 내용은 보고서 서버 데이터베이스 연결 구성(보고서 서버 구성 관리자)을 참조하세요.

SQL Server 로그인 및 데이터베이스 권한

보고서 서버 데이터베이스는 보고서 서버에서 내부적으로 사용됩니다. 두 데이터베이스에 대한 커넥트 이온은 보고서 서버 서비스에서 이루어집니다. Reporting Services 구성 도구를 사용하여 보고서 서버 데이터베이스에 대한 보고서 서버 연결을 구성합니다.

데이터베이스에 대한 보고서 서버 연결의 자격 증명은 서비스 계정, Windows 로컬 또는 도메인 계정, SQL Server 데이터베이스 사용자일 수 있습니다. 연결에 대한 기존 계정을 선택해야 합니다. Reporting Services는 계정을 만들지 않습니다.

지정한 계정에 대해 자동으로 보고서 서버 데이터베이스에 대한 SQL Server 로그인이 만들어집니다.

데이터베이스에 대한 권한도 자동으로 구성됩니다. Reporting Services 구성 도구는 보고서 서버 데이터베이스에 대한 공용RSExecRole 역할에 계정 또는 데이터베이스 사용자를 할당합니다. RSExecRole 은 데이터베이스 테이블에 액세스하고 저장 프로시저를 실행할 수 있는 권한을 제공합니다. RSExecRole은 보고서 서버 데이터베이스를 만들 때 주 데이터베이스 및 msdb에 만들어집니다. RSExecRole은 보고서 서버 데이터베이스에 대한 db_owner 역할의 구성원으로, 보고서 서버가 자동 업그레이드 프로세스를 지원하기 위해 자체 스키마를 업데이트할 수 있도록 합니다.

보고서 서버 데이터베이스에 대한 명명 규칙

주 데이터베이스를 만들 때 데이터베이스 이름은 데이터베이스 식별자에 대해 지정된 규칙을 따라야 합니다. 임시 데이터베이스 이름은 항상 기본 보고서 서버 데이터베이스와 동일한 이름을 사용하지만 Tempdb 접미사를 사용합니다. 임시 데이터베이스의 다른 이름은 선택할 수 없습니다.

보고서 서버 데이터베이스는 내부 구성 요소로 간주되므로 보고서 서버 데이터베이스의 이름을 바꾸는 것은 지원되지 않습니다. 보고서 서버 데이터베이스의 이름을 바꾸면 오류가 발생합니다. 특히 주 데이터베이스의 이름을 바꾸면 데이터베이스 이름이 동기화되지 않는다는 오류 메시지가 표시됩니다. ReportServerTempdb 데이터베이스의 이름을 바꾸면 나중에 보고서를 실행할 때 다음과 같은 내부 오류가 발생합니다.

"보고서 서버에서 내부 오류가 발생했습니다. 자세한 내용은 오류 로그를 참조하세요. (rsInternalError)

개체 이름이 ReportServerTempDB.dbo.PersistedStream잘못되었습니다."

이 오류는 이름이 내부적으로 저장되고 저장 프로시저에서 내부 작업을 수행하는 데 사용되므로 발생 ReportServerTempdb 합니다. 임시 데이터베이스의 이름을 바꾸면 저장 프로시저가 제대로 작동하지 않습니다.

보고서 서버 데이터베이스에서 스냅샷 격리 사용

보고서 서버 데이터베이스에서 스냅샷 격리를 사용하도록 설정할 수 없습니다. 스냅샷 격리가 설정되어 있으면 다음과 같은 오류가 발생합니다. "선택한 보고서를 볼 준비가 되지 않았습니다. 보고서가 아직 렌더링 중이거나 보고서 스냅샷 사용할 수 없습니다."

스냅샷 격리를 의도적으로 사용하도록 설정하지 않은 경우 다른 애플리케이션에서 특성을 설정하거나 모델 데이터베이스에서 스냅샷 격리를 사용하도록 설정하여 모든 새 데이터베이스가 설정을 상속할 수 있습니다.

보고서 서버 데이터베이스에서 스냅샷 격리를 해제하려면 Management Studio를 시작하고 새 쿼리 창을 연 후 다음 스크립트를 붙여넣어 실행합니다.

ALTER DATABASE ReportServer  
SET ALLOW_SNAPSHOT_ISOLATION OFF  
ALTER DATABASE ReportServerTempdb  
SET ALLOW_SNAPSHOT_ISOLATION OFF  
ALTER DATABASE ReportServer  
SET READ_COMMITTED_SNAPSHOT OFF  
ALTER DATABASE ReportServerTempDb  
SET READ_COMMITTED_SNAPSHOT OFF  

데이터베이스 버전 정보

Reporting Services에서는 데이터베이스 버전에 대한 명시적 정보를 사용할 수 없습니다. 그러나 데이터베이스 버전은 항상 제품 버전과 동기화되므로 제품 버전 정보를 사용하여 데이터베이스 버전이 변경된 시기를 알 수 있습니다. Reporting Services에 대한 제품 버전 정보는 로그 파일(모든 SOAP 호출의 헤더)에 나타나며 보고서 서버 URL에 연결할 때(예: 브라우저에서 https://localhost/reportserver를 열 때) 나타나는 파일 버전 정보를 통해 표시됩니다.

기본 모드 보고서 서버 데이터베이스 만들기(보고서 서버 구성 관리자)
보고서 서버 서비스 계정 구성(보고서 서버 구성 관리자)
보고서 서버 데이터베이스 연결 구성(보고서 서버 구성 관리자)
보고서 서버 데이터베이스 만들기(보고서 서버 구성 관리자)
보고서 서버 구성 관리자(기본 모드)
Reporting Services에 대한 백업 및 복원 작업
보고서 서버 데이터베이스(SSRS 기본 모드)
Reporting Services 보고서 서버(기본 모드)
암호화된 보고서 서버 데이터 저장(보고서 서버 구성 관리자)
암호화 키 구성 및 관리(보고서 서버 구성 관리자)