본문 바로가기

운영/운영 업무 자동화

SSMS에서 제공하는 기본리포트(Standard Reports) 구독

728x90

MS SQL 데이터베이스를 운영하면서, SSMS 툴에서 제공하는 여러 리포트를 활용하여 여러 정보를 볼 수 있습니다.

 

어느날 갑자기 위의 정보들을 메일로 매일 아침에 수신받았으면 하는 생각이 들었습니다.

 

기본 리포트들을 새로 개발하기에는 시간과 디자인을 동일하게 하기 어려울것 같아서 해당 리포트들이 어딘가에는 있을것 같아서 찾아 보았습니다.

 

그 결과 아래 URL을 찾았습니다.

 

https://dba.stackexchange.com/questions/161220/is-there-anyway-to-change-the-standard-sql-server-reports-and-or-see-the-sql-be

 

Is there anyway to change the standard SQL SERVER reports? And/OR See the SQL Behind it?

SQL SERVER (through Management Studio) offers quite a few standard reports, but I don't see how you could change the reports. I don't even see an option for extracting/obtaining the SQL Code behind...

dba.stackexchange.com

우선,

C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\Extensions\Application

경로에 Microsoft.SqlServer.Management.Reports.DLL 파일이 있습니다.

 

이를 Decompile 솔루션으로 decompile 합니다.

저도 위의 URL에서 소개한 JustDecompile이라는 솔루션을 사용했습니다.

https://www.telerik.com/products/decompiler.aspx

 

JustDecompile .NET Assembly Decompiler & Browser - Telerik

JustDecompile is a free .NET decompiler and assembly browser that makes high-quality .NET decompilation easy.

www.telerik.com

우와~~~

Resources에 보시면, SSMS에서 사용하던 Standard Reports 들이 .rdlc 확장자로 들어 있습니다.

 

사용하고자 하는 리포트를 선택하고 우측클릭하여 저장을 합니다.

그리고 확장자를 rdlc에서 rdl 형식으로 변경합니다.

 

해당 파일을 보고서 작성기로 열면 아래와 같이 편집을 하실 수 있습니다.

그대로 사용하실 경우에는 아래와 같은 에러가 발생합니다.

Microsoft.SqlServer.Management.Reports 를 로드하는데 오류가 발생한다. 고 메시지가 뜹니다.

아직 위의 오류를 해결하지는 못하였고, 해당 assembly를 사용하는 부분을 제거하고 값을 임의로 넣었습니다.

수정된 rdl 파일을 리포팅 서비스에 배포를 하고 구독을 설정하였습니다.

SSMS에서 사용하던 기본 리포트를 손쉽게 구독이 가능하도록 변경하였습니다.

 

 

728x90