보고서 서버 내용 저장 및 SharePoint 데이터베이스와 동기화

SharePoint 통합 모드에서 실행되도록 보고서 서버를 구성하면 보고서 서버에서는 자체 내부 데이터베이스뿐만 아니라 SharePoint 구성 및 콘텐츠 데이터베이스를 사용하여 내용과 메타데이터를 저장합니다.

Reporting Services와 SharePoint는 모두 별도의 컴퓨터에서 서비스와 내부 데이터베이스를 실행할 수 있도록 하는 분산 서버 응용 프로그램입니다. 각 서버는 서로 다른 종류의 데이터를 저장합니다. 두 서버의 내부 저장소는 여러 SQL Server 관계형 데이터베이스에서 제공합니다. 각 서버에 저장되는 데이터 형식을 알면 여러 서버가 함께 작동하는 방식을 이해할 수 있을 뿐만 아니라 디스크 공간을 할당하고 데이터베이스 백업을 예약하는 방법을 결정하는 데 도움이 되는 배경 정보도 얻을 수 있습니다.

다음 다이어그램은 SharePoint 통합 모드에서 실행되는 보고서 서버 배포에 사용되는 전체 데이터베이스 집합을 보여 줍니다.

데이터베이스 다이어그램

SharePoint 구성 데이터베이스

모든 SharePoint 웹 응용 프로그램에는 응용 프로그램 설정을 저장하는 구성 데이터베이스가 있습니다. 보고서 서버와 함께 사용할 SharePoint Foundation 2010 또는 SharePoint Server 2010의 인스턴스를 설정할 때는 SharePoint 중앙 관리에서 구성 설정을 지정합니다. 지정하는 설정은 이 데이터베이스에 저장됩니다. 설정에는 보고서 서버의 URL, 보고서 서버 서비스에 대한 계정 정보, 서버에 사용되는 인증 공급자에 대한 정보, 보고서 기록 및 로깅을 제한하거나 설정하는 사이트 수준 설정 등이 포함됩니다. 자세한 내용은 SharePoint 2010 통합을 위한 Reporting Services 구성을 참조하십시오.

SharePoint 콘텐츠 데이터베이스

각 SharePoint 웹 응용 프로그램에는 서버를 통해 액세스하고 관리하는 문서와 속성을 저장하는 하나 이상의 콘텐츠 데이터베이스가 있습니다. SharePoint 통합 모드로 구성된 보고서 서버의 경우 SharePoint 콘텐츠 데이터베이스에서 게시된 보고서, 보고서 모델, 공유 데이터 원본, 리소스, 속성 및 사용 권한에 대한 주 저장소를 제공합니다.

보고서 서버 데이터베이스 및 보고서 서버 임시 데이터베이스

각 보고서 서버 인스턴스나 확장 배포에서는 단일 보고서 서버 데이터베이스를 사용하여 지속적 데이터를 저장합니다. 임시 데이터는 보조 데이터베이스에 격리됩니다. 따라서 각각에 대해 서로 다른 백업 일정을 만들고 서로 다른 증가 속성을 설정할 수 있습니다. 각 보고서 서버 데이터베이스에는 하나의 임시 데이터베이스가 있습니다. 이 데이터베이스에서는 성능 향상을 위한 구독 처리, 대화형 보고 또는 보고서 캐싱에 대해서만 생성되는 세션 데이터와 임시 스냅숏을 저장합니다.

보고서 서버 데이터베이스에 보관되는 데이터에는 보고서 기록이나 보고서 실행을 위한 일정, 구독 및 스냅숏이 포함됩니다. 보고서 서버 데이터베이스에서는 SharePoint 콘텐츠 데이터베이스에 저장된 콘텐츠 파일의 내부 복사본도 유지 관리합니다. 내부 복사본을 저장하면 처리를 위해 보고서 서버로 파일이 전송되는 횟수가 최소화되어 성능이 향상됩니다. 동기화 및 확인 작업을 통해 보고서, 모델 및 데이터 원본이 동일하게 유지됩니다.

중요 정보중요

보고서 서버 데이터베이스는 기본 모드 작업이나 SharePoint 통합 모드 중 하나를 지원할 수 있지만 둘 다를 지원할 수는 없습니다. SharePoint 통합 모드를 지원하도록 보고서 서버 데이터베이스를 만드는 경우 나중에 기본 모드 보고서 서버 인스턴스와 함께 실행되도록 해당 데이터베이스를 변환하거나 마이그레이션할 수 없습니다. 보고서 서버 데이터베이스에는 다른 모드에서 호환되지 않는 모드별 메타데이터(예: 항목 위치 및 사용 권한 정보)가 포함되어 있습니다.

데이터베이스 연결, 사용 권한 및 로그인

보고서 서버나 Windows SharePoint Services 또는 Office SharePoint Server의 인스턴스를 구성하는 사용자는 해당 컴퓨터에서 로컬 관리자이거나 기본 제공 관리자 그룹의 멤버여야 합니다.

보고서 서버 서비스는 SharePoint 콘텐츠 데이터베이스에 대한 데이터베이스 연결이 필요하지만 구성 데이터베이스에 대한 데이터베이스 연결은 필요하지 않습니다. Windows SharePoint Services가 설치되어 있는 경우 중앙 관리 도구의 사용자에 대해 생성된 로그인 및 사용 권한을 사용하여 구성 데이터베이스에 보고서 서버 통합 설정이 저장됩니다.

반대로 보고서 서버 서비스는 모두 SharePoint 콘텐츠 데이터베이스의 항목과 속성을 만들고 업데이트하며 삭제합니다. 연결 정보, 로그인 및 데이터베이스 권한은 중앙 관리에서 트러스트된 계정을 지정할 때 구성됩니다.

Windows SharePoint Services 또는 Office SharePoint Server의 인스턴스는 보고서 서버 데이터베이스에서 데이터를 추가하거나 검색하지 않습니다. 모든 요청은 보고서 서버로 전송되며 보고서 서버에서는 자체 연결 설정을 사용하여 보고서 서버 데이터베이스에 액세스합니다.

보고서 서버에서 항목을 보거나 작업을 수행할 수 있는 권한은 Windows SharePoint Services 또는 Office SharePoint Server의 인스턴스에 의해 관리됩니다. 인증 및 보안 검사는 요청이 보고서 서버로 전송되기 전에 수행됩니다. 각 요청은 해당 요청의 제공 여부 또는 거부 여부를 결정하는 사용 권한 정보가 포함된 보안 토큰과 함께 전송됩니다.

데이터베이스 유지 관리

보고서 서버는 SharePoint 사이트에서 삭제된 분리된 보고서 스냅숏, 보고서 기록, 일정 및 구독을 보고서 서버 데이터베이스에서 제거하는 일상적인 유지 관리 작업을 수행합니다. 고아 항목은 SharePoint 콘텐츠 데이터베이스의 부모 항목과 더 이상 연결되지 않습니다.

매일 보고서 서버에서는 보고서 서버 데이터베이스에 저장된 항목이 SharePoint 콘텐츠 데이터베이스에 있는 보고서와 연결되어 있는지 확인합니다. 정리 프로세스의 빈도를 수정하려면 RSReportServer.config 파일에 DailyCleanupMinuteofDay 구성 설정을 추가합니다. 정리 프로세스는 백그라운드에서 실행되며 구성 파일에 정의된 일정 정보를 사용합니다. 이 프로세스를 요청 시 실행할 수는 없습니다.

서버가 오프라인 상태인 경우에서와 같이 Windows SharePoint Services 또는 Office SharePoint Server 인스턴스를 사용할 수 없는 경우에는 정리 작업이 발생하지 않습니다. SharePoint 데이터베이스에 현재 저장된 항목에 해당하지 않는 이전 데이터가 포함된 보고서 서버 데이터베이스를 복구하는 경우 해당 항목은 다음에 정리 프로세스가 실행될 때 제거됩니다.

정리 프로세스에서는 내용만 삭제하며 SharePoint 콘텐츠 데이터베이스에 저장된 보고서 서버 항목을 동기화하거나 업데이트하지 않습니다. 기본적으로 정리 프로세스는 매일 오전 2시에 실행됩니다.

다른 시간을 지정하려면 RSReportServer.config 파일에 DailyCleanupMinuteofDay를 추가하고 다른 값을 설정해야 합니다. 예를 들면 다음과 같습니다.

<Add Key=" DailyCleanupMinuteOfDay " Value="120" />

기본적으로 이 설정은 RSReportServer.config 파일에 없습니다. 이 설정을 추가하려면 항목을 복사하여 해당 섹션의 다른 Add 요소와 함께 Configuration 요소 아래에 배치합니다. 값은 분 단위로, 오전 12시에 시작되며 최소값은 30이고 최대값은 1380(23시간)입니다.

동기화 및 확인 작업

보고서 서버에 내부 처리용으로 보관된 복사본이 SharePoint 라이브러리의 원본 항목과 동일하게 유지되도록 보고서 서버에서는 요청을 처리하기 전에 동기화 및 항목 확인 단계를 수행합니다.

동기화는 보고서 서버 데이터베이스에 저장된 항목의 내부 복사본을 만들거나, 업데이트하거나, 삭제하는 프로세스입니다. 보고서 서버는 SharePoint 라이브러리에서 항목과 속성을 검색하여 보고서 서버 데이터베이스에 저장합니다. 타임스탬프 정보는 비교 시 기준이 됩니다. 타임스탬프는 UTC 형식으로 저장됩니다. 보고서 서버와 SharePoint 사이트 또는 팜의 표준 시간대가 서로 다를 경우 타임스탬프가 저장 시 로컬 서버 시간으로 변환됩니다.

확인은 동기화가 필요한지 여부를 결정하는 단계입니다. 원본 항목과 내부 복사본의 타임스탬프가 같으면 동기화가 발생하지 않습니다.

항목 동기화 방법

동기화는 보고서 서버에 의해 수행되며 항목이 생성, 업데이트 또는 검색될 때마다 자동으로 트리거되는 백그라운드 프로세스입니다. 동기화 작업은 관리하거나, 구성하거나, 명시적으로 제어할 수 없습니다. 동기화의 범위는 항목을 만들거나 업데이트하는 특정 요청으로 한정됩니다. 모든 항목과 속성을 동시에 맞추는 전역 동기화 작업은 없습니다. 보고서, 보고서 모델 또는 공유 데이터 원본을 수동으로 동기화하려면 해당 항목을 실행해야 합니다.

항목의 내부 복사본은 해당 항목이 보고서 서버 데이터베이스에 없거나 보고서 서버 데이터베이스의 항목이 SharePoint 라이브러리의 해당 항목보다 오래된 경우 생성되거나 업데이트됩니다. 내부 복사본은 다음 이벤트에 대한 응답으로 생성됩니다.

  • 보고서 또는 보고서 모델에 대한 요청. 이로 인해 보고서, 보고서 모델 및 두 항목 중 하나에서 참조하는 공유 데이터 원본의 내부 복사본이 생성됩니다.

  • 보고서 디자이너 또는 모델 디자이너에서 SharePoint 라이브러리로 보고서 또는 보고서 모델 게시. SharePoint 콘텐츠 데이터베이스에 항목이 추가되면 보고서 또는 보고서 모델의 복사본이 생성되어 보고서 서버 데이터베이스에 추가됩니다. 보고서 모델과 함께 공유 데이터 원본도 게시하는 경우 공유 데이터 원본의 내부 복사본은 해당 공유 데이터 원본이 사용될 때까지 생성되지 않습니다.

SharePoint 사이트에서 업로드 동작을 사용하면 보고서 서버 데이터베이스에서의 내부 복사본 생성 작업이 지연됩니다. 보고서 서버 항목을 업로드하는 경우 내부 복사본은 해당 항목이 요청되면 생성됩니다.

보고서에 사용되는 외부 이미지 파일 또는 보고서 서버 데이터베이스에만 저장되는 일정, 스냅숏, 구독에 대해서는 내부 복사본이 생성되지 않습니다.

구성 설정 및 사용 권한 정보

두 서버 모두에서 구성 설정이 올바르게 정의되어야 하지만 동기화 프로세스에서 구성 설정은 제외됩니다. SharePoint 통합 모드가 아닌 기본 모드에서 실행되도록 보고서 서버 서비스 계정, URL, 인증 유형 또는 보고서 서버의 서버 실행 모드를 변경하는 경우 SharePoint 중앙 관리나 Reporting Services 구성 도구에서 서버 구성 설정을 명시적으로 업데이트해야 합니다.

SharePoint 사이트 또는 팜에 설정된 사용 권한은 보고서 서버에 의해 사용됩니다. SharePoint 사이트 또는 팜과 보고서 서버 간에는 사용 권한 동기화가 없습니다.

서버 가용성 및 동기화 실패

항목, 속성 및 작업을 동기화하려면 배포의 일부인 모든 컴퓨터와 연결이 사용 가능한 작동 상태여야 합니다. 동기화는 다음과 같은 조건에서는 발생하지 않습니다.

  • 서버 또는 백엔드 데이터베이스가 오프라인으로 설정되어 있거나 기타 이유로 사용할 수 없는 상태에 있습니다.

  • 서버 또는 백엔드 데이터베이스 중 하나에 대한 연결 정보가 무효화되었습니다. URL을 잘못 변경하거나 서비스 계정 또는 암호를 변경하여 연결 정보가 무효화될 수 있습니다.

  • 먼저 서버를 오프라인으로 설정하지 않고 연결 정보를 수정하여 동기화된 작업의 타이밍 및 흐름을 방해했습니다.

서버 간 연결 및 서버와 백엔드 데이터베이스 간의 연결이 불가능하여 동기화가 발생할 수 없는 경우 연결이 복원되고 특정 보고서, 보고서 모델, 공유 데이터 원본 및 구독이 요청되면 보고서 서버에서 동기화되지 않은 내용이나 메타데이터를 조정합니다.

동기화에 실패하면 rsItemNotFound 오류가 발생합니다. 이는 SharePoint 라이브러리에 해당 항목이 없음을 나타냅니다.