Upload
sungwook-kang
View
509
Download
12
Embed Size (px)
Citation preview
SSRS를활용한보고서만들기-매일아침보고서를자동으로발송하자
강성욱2015.01.22
Mr.DBA와 함께하는 SQL Server Storyhttp://sqlmvp.kr
https://www.facebook.com/sqlmvp
Microsoft SQL Server MVP
NEXON & NDOORS DBA
1. SSRS 소개
2. SSRS 설정
3. 보고서 생성 / 도구 상자 살펴보기
4. 보고서 배포 (배포시 주의점)
5. 보고서 구독 (이메일, 파일 공유)
6. Tip
AGENDA
SSRS?(SQL Server Reporting Services)
SSRS (SQL Server Reporting Services) 소개
• 표와 차트 등을 표현한 보고서 운영 서비스
• 다양한 데이터 원본을 제공하는 서버 기반의 플랫폼
• Reporting Services 도구는 Microsoft Visual Studio 환경에서 동작
• SQL Server 도구 및 구성요소와 통합
• 강력한 제작 도구
SSDT(SQL Server Data Tool)
Report Builder
• 웹 브라우저를 사용한 서비스
플랫폼에종속적이지않음
• 다양한 구독 방법
이메일
파일공유
• 캐시 기능 지원
장시간소요되는쿼리경우캐시이용
스냅샷생성으로빠른응답성
• 권한에 따른 보고서 열람 제어
부서나직급에따른보고서열람제한가능
• 외부 변수를 입력 받아 다양한 조회 가능
조건값을입력받아원하는기간조회가능
SSRS (SQL Server Reporting Services) 장점
SSRS Sample
출처 : http://lh6.ggpht.com/-gSUzupEwfMA/Uaey_aeN_mI/AAAAAAAAFuM/4ad8gRALhm0/image_thumb%25255B11%25255D.png?imgmax=800
SSRS Sample
출처 : http://i.ytimg.com/vi/ol5unujsDqQ/maxresdefault.jpg
SSRS Sample
출처 : http://dashflows.com/ww2/wp-content/uploads/2014/11/reporting-services-dashboard.jpg
SSRS Sample
출처 : http://alt2cdn.blob.core.windows.net/dist/s/bca0241d-10a9-df11-b297-0022190f5762_1_full.jpg
SSRS 설치
• Reporting Services
• SQL Server Data Tools
설치 기능 선택
• SQL Server 2008 부터 IIS 서비스 자체 지원 (IIS 설치 불필요)
• 보고서 URL 로 브라우저를 통해서 접속이 되어야 정상
보고서 웹 서비스 설정 (웹 서비스 사용 URL 설정)
• Report 데이터베이스가 없는경우 새로 설치 가능
• 데이터베이스 이름은 꼭 ReportServer가 아니어도 가능
Report Database 설정
• 가상 디렉토리 이름은 사용자 지정 가능
• URL 주소로 브라우저 접속이 가능해야 정상
보고서 관리자 설정
• 가능한 관리자 권한으로 SSDT를 실행 한다 (배포시 권한없으면 에러남)
• 보고서 프로젝트를 생성한다
SSDT 실행
• 2인 이상 작업 할 때 반드시 URL을 동일하게 설정 할 수 있도록 한다.
보고서를 배포할 URL 설정
데이터 원본
• 보고서에서 필요한 데이터를 저장하고 있는 데이터베이스의 연결 정보 지정
• 데이터 원본이 저장되는 위치에 따라 포함된 데이터 원본과 공유 데이터 원본으로 구분 포함된데이터원본은보고서에연결된정보를저장
공유데이터원본은공유된장소에연결정보를저장하여여러보고서에서공유하여사용(권장)
데이터 원본, 데이터 집합
데이터 집합
• 쿼리나 저장 프로시저를 지정하여 보고서에 필요한 데이터를 포함하는 개체
• 포함된 데이터 집합과 공유 데이터 집합으로 사용 가능 대부분보고서마다필요한쿼리가다르므로포함된데이터집합을사용함
공유데이터 원본 -> 마우스 오른쪽 클릭 -> 새 데이터 원본 추가
• 다양한 데이터 연결 지원
• 다수의 데이터 원본 생성 가능
공유 데이터 원본 설정
보고서 만들기
보고서 -> 마우스 오른쪽 클릭 -> 새 항목
보고서 생성
• 포함된 연결 : 현재 보고서에서만 사용하는 데이터 원본
• 공유 데이터 원본 참조 사용 : 프로젝트 차원에서 생성한 데이터 원본을 공유하여 사용
보고서 데이터 원본 생성
• 도구 상자에서 디자인 페이지로 필요한 도구를 드래그 앤 드롭
SSRS 도구
테이블
데이터베이스의 테이블처럼 열과 행으로이루어진 리스트 형태로 표현
행렬
열과 행의 포함하는 집계 데이터를 리스트형태로 표현
테이블 / 행렬
• 표현할 데이터를 선택 또는 데이터 집합에서 끌어다 놓는다.
• 행과 열은 삽입 삭제가 가능하다.
• 행 그룹화 기능이 제공되어 동일한 행의 경우 하나의 단일 행으로 표현 할 수 있다.
테이블 / 행렬
• 데이터를 시각화 형태로 표현
• SSRS에서는 58개의 차트를 지원한다.
차트
• 데이터 특성에 따라 다양한 차트를 이용한다.
차트
계기
• 하나의 값으로 상태를 표시하기 위해 사용
• 단독으로 사용하거나 표에 삽입하여 사용 가능
표시기
• 표시기와 비슷하나 상태 값의 구간을 나누어 표시
계기 / 표시기
• 계기에는 포인터를 추가함으로써 여러 상태의 값을 한번에 표현 가능
계기 / 표시기
• 현재 보고서에서 다른 보고서를 포함하여 나타낼 때 사용
• 보고서를 모듈화 해서 디자인하면 다른 페이지에서 재사용이 가능하다.
하위보고서
• 다른 보고서를 참고하여 사용할 때 유용하다.
하위보고서
지도에 데이터를 엮어 표시할 수 있는 시각화 도구
• 현재는 미국 지도만 기본으로 제공
• 지도에 표시하기 위해서는 4가지 정보가 필요 공간데이터 : 각지역의위치정보를포함하고있는좌표집합
공간데이터원본 : 공간데이터를가져올위치
분석데이터 : 지도에표시할데이터
일치필드 : 분석데이터와공간데이터를매핑하는정보
• 타지역 지도 다운로드 (한국 없음) http://mapgallery.codeplex.com/releases
지도
보고서 배포
• 배포할 보고서에서 마우스 오른쪽을 클릭하여 [배포]를 실행 한다.
• 배포 권한이 부족할 시 에러가 발생 할 수 있다. SSDT를 관리자 권한으로 실행한다.
보고서 배포하기
• 배포 할 때 데이터 원본과 소스는 기본적으로 Overwrite 되지 않는다.
• 속성을 True로 설정하면 기존 데이터 원본을 덮어쓰게 된다.
데이터 원본 / 집합 배포
SSRS 구독
• 보고서를 이메일로 발송할 수 있다
• SMTP 서버를 사용하며 보내는 사람의 이메일 주소와 SMTP 서버 주소로 가능
• SMTP 서버가 없을 경우 윈도우에서 제공하는 SMTP서버를 설치하여 로컬 서버로 사용 가능
SSRS 전자 메일 설정
구독(Subscription)은 자동으로 보고서를 배달 받을 수 있는 요청이다.
• 보고서 사이트에 접속하지 않아도 정해진 시간에 이메일로 보고서 내용을 받아 볼 수 있다
• SQL Server Agent가 활성화 되어 있어야 한다.
보고서 구독 - 이메일
매일 아침 보고서 발송
보고서 구독 - 이메일
파일 경로는 반드시 UNC 경로를 사용한다.
보고서 구독 – 파일 공유
C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer
SSRS rsreportserver 수정 – JPEG 형식 추가
rsreportserver.config
<Render>
==============
<Extension Name="IMAGE (JPEG)" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.ImageRenderer,Microsoft.ReportingServices.ImageRendering">
<OverrideNames>
<Name Language="en-US"> Image (JPEG)</Name>
</OverrideNames>
<Configuration>
<DeviceInfo>
<OutputFormat> JPEG</OutputFormat>
</DeviceInfo>
</Configuration>
</Extension>
</Render>
SSRS rsreportserver 수정 – JPEG 형식 추가
*주의*SSRS 서비스가 정상적으로 실행 되지않을 수 있다.
매일 아침 SMS와 함께 그림파일로 요약 보고서 발송
MMS를 활용해서 보고서 공유
SSRS Tip
예약된 구독 정보는 Job Agent에 등록된다.
• http://sqlmvp.kr/220098728796
리포트 재실행
SELECTb.name AS JobName, e.name, e.path, d.description, a.SubscriptionID, laststatus, eventtype, LastRunTime, date_created, date_modifiedFROM ReportServer.dbo.ReportSchedule a
JOIN msdb.dbo.sysjobs b ON cast(a.ScheduleID as varchar(255)) =
b.nameJOIN ReportServer.dbo.ReportSchedule c
ON b.name = CAST(c.ScheduleID AS VARCHAR(255))
JOIN (select eventtype,laststatus,LastRunTime,d.SubscriptionID,d.description, cast(d.report_oid as varchar(255)) report_oid from ReportServer.dbo.Subscriptions d ) d
on c.SubscriptionID = d.SubscriptionIDJOIN (select e.name, e.path, cast(e.itemid as varchar(255))
itemid from ReportServer.dbo.Catalog e ) e on itemid = report_oid
• 사용자가 지정한 시간에 따른 페이지 리프레시 기능 0 = 리프레시안함
0 >= 해당초간격으로리프레시
• <AutoRefresh>10</AutoRefresh> <- 10초 간격으로 리프레시
실시간 리포트 만들기
• 성능과 밀접한 관련 있음
• 쿼리를 실행하는데 오랜 시간이 걸리면 보고서 스냅숏을 사용한다
보고서 관리 – 처리 옵션
항상 최신 데이터로 이 보고서 실행 : 보고서를열람할 때마다 데이터 원본에 접근하여 보고서생성
보고서 스냅숏에서 이 보고서 렌더링 : 정해진 시간에 미리 만들어 놓고 데이터 원본에 접근하지않아도 열람 가능
• 역할 기반의 보안 모델 사용
• 역할을 만들고 이 역할에 사용자를 매핑하는 방식
• 역할은 항목 수준, 시스템 수준으로 구분 항목수준 : 보고서서버에저장된하나의개체에대한권한설정
시스템수준 : 사이트설정보기와같은전체적으로적용되는규칙
보고서 관리 - 보안
• 성능모니터 ReportServer:Service
ReportServerSharePointService
SSRS 성능 모니터
• Active Connections : 활성 연결의 수
• Errors Total : HTTP 요청오류 수
• Memory Pressure State : 메모리 상태(1~5, 높을 수록 나쁨)
• Requests Executing : 현재 실행 중인 요청 수
• Requests Total : 보고서 서비스 시작 후 받은 총 요청 수
• Requests Rejected : 서버 리소스가 부족하여 실행되지 않은
총 요청 수
• Requests Disconnected / Requests Not Authorized : 통신 오
류 및 401 에러로 실패한 요청 수
• Tasks Queued : Tasks Queued는 스레드를 사용할 수 있을 때
까지 대기 중인 태스크 수
• Bytes Received Total / Bytes Sent Total : 송수신된 바이트 수
What?
감사합니다