보고서 서버 데이터베이스 관리
업데이트: 2007년 9월 15일
Reporting Services 배포는 두 SQL Server 관계형 데이터베이스를 내부 저장소로 사용합니다. 기본적으로 데이터베이스 이름은 각각 ReportServer와 ReportServerTempdb입니다. ReportServerTempdb는 기본 보고서 서버 데이터베이스로 생성되며 임시 데이터, 세션 정보 및 캐시된 보고서를 저장하는 데 사용됩니다.
Reporting Services에서 데이터베이스 관리 작업에는 보고서 서버 데이터베이스를 백업 및 복원하고 중요한 데이터의 암호화 및 암호 해독에 사용되는 암호화 키를 관리하는 작업이 포함됩니다.
보고서 서버 데이터베이스 관리를 위해 SQL Server에서는 다양한 도구를 제공합니다.
- 보고서 서버 데이터베이스를 백업, 복원, 이동 또는 복구하려면 SQL Server Management Studio, Transact-SQL 명령 또는 데이터베이스 명령 프롬프트 유틸리티를 사용합니다. 자세한 내용은 SQL Server 온라인 설명서의 다른 컴퓨터로 보고서 서버 데이터베이스 이동을 참조하십시오.
- 기존 데이터베이스 내용을 다른 보고서 서버 데이터베이스에 복사하려면 다른 보고서 서버 인스턴스에 보고서 서버 데이터베이스의 복사본을 연결하여 사용합니다. 또는 SOAP 호출을 사용하는 스크립트를 만들어서 실행하여 새 데이터베이스에 보고서 서버 내용을 다시 만들 수 있습니다. rs 유틸리티를 사용하여 스크립트를 실행할 수 있습니다.
- 보고서 서버와 보고서 서버 데이터베이스 간의 연결을 관리하고 특정 보고서 서버 인스턴스에 사용되는 데이터베이스를 알아보려면 Reporting Services 구성 도구의 데이터베이스 설치 페이지를 사용합니다. 보고서 서버와 보고서 서버 데이터베이스 간 연결에 대한 자세한 내용은 보고서 서버 데이터베이스 연결 구성을 참조하십시오.
- 보고서 서버 성능 및 작업에 대한 메트릭을 수집하려면 SQL Server 온라인 설명서의 보고서 실행 로그 데이터에 대한 쿼리 및 보고를 참조하십시오.
SQL Server 로그인 및 데이터베이스 권한
보고서 서버 데이터베이스는 보고서 서버에 의해 내부에서 사용됩니다. 데이터베이스 연결은 보고서 서버 웹 서비스 및 보고서 서버 Windows 서비스에 의해 이루어집니다.
Reporting Services 구성 도구를 사용하여 연결을 지정할 수 있습니다. 서비스 계정의 자격 증명, 도메인 사용자 계정의 자격 증명 또는 SQL Server 로그인을 사용할 수 있습니다. 연결을 위해 선택한 계정은 SQL Server 로그인과 보고서 서버 데이터베이스에 대한 Public 및 RSExecRole 역할을 갖고 있어야 합니다.
로그인 및 권한은 Reporting Services 구성 도구를 사용하여 데이터베이스 연결을 구성하거나, 보고서 서버 데이터베이스를 업그레이드하거나, 데이터베이스를 호스팅하는 SQL Server 인스턴스에서 해당 스크립트를 실행할 때 자동으로 생성됩니다.
RSExecRole은 데이터베이스 테이블에 액세스하고 저장 프로시저를 실행할 수 있는 권한을 제공합니다. RSExecRole은 보고서 서버 데이터베이스를 만들 때 master 및 msdb에 만들어집니다. SQL Server 2005 서비스 팩 1부터 RSExecRole은 보고서 서버 데이터베이스의 db_owner 역할 멤버입니다. 추가 권한을 사용하면 보고서 서버에서 후속 릴리스의 스키마를 업데이트할 수 있으므로 업그레이드 과정이 간단해집니다.
RSExecRole에서 사용하지 않는 계정 제거
다른 계정으로 실행되도록 보고서 서버 웹 서비스나 Windows 서비스를 구성하는 경우 새 계정이 RSExecRole에 자동으로 추가됩니다. 그러나 이전에 추가했지만 더 이상 사용하지 않는 계정이 있는 경우 모두 수동으로 제거해야 합니다. 계정을 제거하려면 Management Studio를 사용하여 다음을 수행합니다.
- 보고서 서버 데이터베이스를 호스팅하는 데이터베이스 엔진 인스턴스에 연결합니다.
- 데이터베이스 폴더, ReportServer 폴더, 보안 폴더, 역할, 데이터베이스 역할을 차례로 확장한 다음 RSExecRole을 두 번 클릭합니다.
- 더 이상 사용하지 않는 계정을 선택합니다.
- 제거를 클릭합니다.
보고서 서버 데이터베이스의 명명 규칙
주 데이터베이스를 만들 때 데이터베이스의 이름은 식별자에 대해 지정된 규칙을 따라야 합니다. 임시 데이터베이스 이름은 항상 주 보고서 서버 데이터베이스와 같은 이름을 사용하되 Tempdb 접미사를 포함합니다. 임시 데이터베이스의 이름은 다르게 선택할 수 없습니다.
보고서 서버 데이터베이스는 내부 구성 요소로 간주되므로 보고서 서버 데이터베이스의 이름을 바꿀 수 없습니다. 보고서 서버 데이터베이스의 이름을 바꾸면 오류가 발생합니다. 특히 주 데이터베이스의 이름을 바꾸면 데이터베이스 이름이 동기화되지 않았다는 오류 메시지가 표시됩니다. ReportServerTempdb 데이터베이스의 이름을 바꾸면 나중에 보고서를 실행할 때 다음과 같은 내부 오류가 발생합니다.
"보고서 서버에서 내부 오류가 발생했습니다. 자세한 내용은 오류 로그를 참고하십시오. (rsInternalError)
개체 이름 'ReportServerTempDB.dbo.PersistedStream'이 잘못되었습니다."
이 오류는 ReportServerTempdb 이름이 내부적으로 저장되어 내부 작업을 수행하는 저장 프로시저에서 사용되기 때문에 발생합니다. 임시 데이터베이스의 이름을 바꾸면 저장 프로시저가 제대로 작동할 수 없습니다.
데이터베이스 버전 정보
Reporting Services에서는 데이터베이스 버전에 대한 명백한 정보를 제공하지 않습니다. 그러나 데이터베이스 버전이 항상 제품 버전과 동기화되므로 제품 버전 정보를 사용하여 데이터베이스 버전 변경 여부를 알 수 있습니다. Reporting Services의 제품 버전 정보는 로그 파일 및 모든 SOAP 호출의 머리글에 나타나며 보고서 서버 URL에 연결할 때(예: 브라우저에서 https://localhost/reportserver에 연결) 나타나는 파일 버전 정보를 통해 표시됩니다.
보고서 서버 데이터베이스에서 스냅숏 격리 활성화
보고서 서버 데이터베이스에서 스냅숏 격리를 활성화할 수 없습니다. 스냅숏 격리를 설정하면 다음 오류가 발생합니다. "선택한 보고서는 아직 볼 수 없습니다. 보고서가 렌더링되고 있거나 보고서 스냅숏을 사용할 수 없습니다."
스냅숏 격리를 제대로 활성화하지 않았으면 다른 응용 프로그램에서 특성을 설정하거나 model 데이터베이스에서 스냅숏 격리를 활성화하여 모든 새 데이터베이스가 설정을 상속했을 수 있습니다.
보고서 서버 데이터베이스에서 스냅숏 격리를 해제하려면 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 관리
보고서 서버 데이터베이스 요구 사항
암호화된 보고서 서버 데이터 저장
암호화 키 관리
관련 자료
도움말 및 정보
변경 내역
릴리스 | 내역 |
---|---|
2007년 9월 15일 |
|
2006년 12월 12일 |
|
2006년 4월 14일 |
|