MSSQL Server SSRS Kurulumu

Bu makalede Sql Server SQL Server Reporting Services (SSRS) kurulumuna değineceğiz. Öncelikle bu yapının ne olduğuna değinip daha sonra uygulamalı bir şekilde kurulum işlemine geçmiş olacağız.

SQL Server Reporting Services (SSRS), Microsoft tarafından sağlanan raporları dağıtmamıza, yayınlamamıza, planlamamıza ve yönetmemize olanak tanıyan sunucu tabanlı bir rapor oluşturma yazılım sistemidir. SSAS (SQL Server Analysis Services) ve SSIS (SQL Server Integration Services) dahil olmak üzere bir Microsoft SQL Server hizmetleri paketinin bir parçasıdır. Kod yazmak yerine, kullanıcı grafik simgelerini bir SSRS rapor biçimine sürükleyip bırakabilir.

Yukarıdaki SSRS mimari diyagramında görebileceğiniz gibi, Rapor Sunucusu orta katmanda çeşitli uzantılar içerir ve her uzantı farklı görevler gerçekleştirir ve bu uzantılar birbirine de bağlanabilir. Uzantı mimarisinin kullanışlılığına ek olarak, özel uzantılar oluşturmamıza ve kullanmamıza olanak tanır.

SSRS Neden Kurulur?

  1. Sunucu Tabanlı Raporlama:
    • Raporları bir sunucuda yayınlar.
    • Web tarayıcısından erişim sağlar (Web Portal).
    • Otomatik zamanlanmış rapor gönderimi (subscription) mümkündür.
  2. Gelişmiş Yetkilendirme ve Güvenlik:
    • Hangi kullanıcının hangi raporu görebileceğini detaylıca belirleyebilirsin.
  3. Export Özellikleri:
    • Raporları PDF, Excel, Word, CSV gibi formatlarda dışa aktarabilir.
  4. Veri Kaynaklarını Merkezi Yönetim:
    • Birçok rapor aynı veri kaynağını paylaşabilir, yönetimi kolaylaşır.

SSRS Kurulu Sunucuda Rapor Oluşturma Süreci

1. Rapor Geliştirici Kullanıcı (Client Makinesi)

  • Raporlar, genellikle geliştirici makinelerinde (yani istemci tarafında) Visual Studio (veya Report Builder) kullanılarak oluşturulur.
  • Oluşturulan rapor dosyası .rdl uzantılıdır.
  • Bu rapor daha sonra SSRS sunucusuna deploy (yükleme) edilir.

2. SSRS Sunucusu Üzerinden Yayınlama

  • SSRS sunucusuna yüklenen raporlar, kullanıcılar tarafından web portalı üzerinden çalıştırılır:
    • Tarayıcı ile: http://<sunucu_adı>/reports
  • Kullanıcılar raporu çalıştırır, filtre girer, çıktıyı görür ve isterse indirir (PDF, Excel vb.).

Yukarıdaki teori bilgilerden sonra şimdi uygulamalı olarak kurulum işlemine geçebiliriz. Bunun için Sql Server 2017 setup dosyamızı  Run as administrator olarak çalıştırıyoruz.

Gelen ekranda Installation bölümünde Install SQL Server Reporting Services kısmına tıkladığımızda bizleri SSRS dosyasını indireceğimiz sayfaya yönlendirmiş oluyor. Yönlendirdiği link güncel olan Reporting Services olduğu için browserdan Microsoft SQL Server 2017 Reporting Services  yazıp microsoft’un sayfasından indiriyorum.

Microsoft SQL Server 2017 Reporting Services bölümünden ilgili setup dosyamızı indirmek için Download sekmesine tıklıyoruz.

Reporting Services’i indirmenin bir başka yöntemi sql server kurulumu yaparken Features bölümünde çerçeve içerisine alınmış bölümden yapılmaktadır.

İndirmiş olduğumuz SQL Server Reporting Services setup dosyasına sağ tıklayıp Run as administrator  diyiyoruz.

Gelen ekranda  Install Reporting Services  bölümüne tıklıyoruz.

Gelen ekranda SSRS hangi versiyonu kuracağımızı seçiyoruz. Bu ekrandaki kavramların ne işe yaradığına değinelim.

Evulation: 180 gün boyunca tüm özellikleri kullanacağımız bir yapı olarak karşımıza çıkmaktadır.

Express: SQL Server’ın kısıtlı sürümünü kurmanızı sağlar. Database boyutu olarak en fazla 10 Gibabyte’a kadar desteklemektedir. Ayrıca 1 GB kadar Ram miktarı ve 4 çekirdek işlemci sınırı vardır.

Developer: Geliştirme ve öğrenme süreçleriniz için ücretsiz sunulan Enterprise versiyonu özelliklerini taşıyan sürümdür. Sürekli kullanacağımız bir sürüm.

Eğer elimizde sql server lisans anahtarı olmuş olsaydı bunu ikinci sekme olan   Enter the product key bölümünü de kullanabilirdik. 

Developer sürümünü seçip Next diyiyoruz.

Gelen ekranda I accept the license terms diyerek lisans sözleşmesini kabul ediyoruz ve Next deyip bir sonraki adıma geçiyorum.

Gelen Install  Database Engine ekranında sadece raporlama sunucusunun kurulacağına dair bilgi mesajı geçmektedir. Raporlama sunucusunun versiyonu bağlanacağı sql server ile aynı versiyonda olması gerekmektedir. 

Install Reporting Services only seçtikten sonra Next deyip bir sonraki aşamaya geçiyoruz.

Gelen ekranda SSRS’in kurulacağı path belirtilmektedir. Bu ekranda ilgili path’i ayarladıktan sonra Install deyip kurulum işlemlerine başlıyoruz. Varsayılan olarak, C:\Program Files\Microsoft SQL Server Reporting Services içinde olur. Farklı bir path’te belirtilebilir.

2017 öncesi sistemlerde Reporting Services’ın disk uzantı yapısı farklıdır. 2019 yapısında disk uzantısı 2017 ile aynıdır. SSRS artık SQL Server’dan ayrı bir ürün olarak dağıtılmaktadır. Bağımsız olarak indirilen ve yüklenen bir servis haline geldi. Bu sebeple dosya uzantısı 2016 ve öncesinde sql server’ın kurulumunun bileşeni iken yeni sürümlerde dosya yolu farklıdır.

Aşağıdaki resimde SSRS 2012 disk uzantısı görülmektedir.

Bu dosya dizininde neler bulunur bunlara değinelim. Geçici dosyalar, loglar, config dosyaları bulunur.

ReportServer: SSRS’nin çekirdek servis bileşenleri burada bulunur. SSRS yapılandırma dosyası,.NET güvenlik ilkeleri. Web servisi ayarları. SSRS çalışması için gerekli DLL’ler. UpgradeReports gibi araçlar.

LogFiles: Servis günlükleri burada tutulur. Hataların ve performans sorunlarının izlenmesi için kritik öneme sahiptir. Çok fazla günlük dosyası veya GB’larca log, SSRS başlarken yavaşlamaya neden olabilir. Disk dolmuşsa veya %90 üzerindeyse, SSRS servis log yazamayacağı için başlatılamaz.

RSTempFiles: SSRS tarafından çalıştırılan raporların geçici verileri ve önbellek dosyaları. Silinmesi sistem açısından genelde güvenlidir (ama çalışırken değil). Çok sayıda veya büyük geçici dosya, sistem belleğini ve disk IO’yu zorlayabilir. Temizlenmeyen geçici dosyalar bazı eski/bozuk oturumların tekrar yüklenmesine çalışır ve servis açılışını geciktirebilir. Servis durduktan sonra tüm dosyalar silinebilir.

Portal: Web portal arayüzünün .NET tabanlı dosyaları yer alabilir. Web arayüzündeki klasör yapısı, tasarım ve bağlantılarla ilgilidir.

 Install dedikten sonra Kurulumu başlatmış bulunuyoruz.

Kurulum işlemi bittikten sonra Configure report server diyerek raporlama sunucusunu yapılandırıyoruz.

Configure report server dedikten sonra Reporting servisin yapılandırma ekranı bizi karşılamaktadır. Gelen ekranda Server name kısmında raporlama servisini kuracağımız local sunucumuzu seçiyoruz. Raporlama sunucusunda konfigürasyon yapabilmemiz için Report Server Instance bölümünde SSRS seçimini yapıyoruz. Bu yapıları seçtikten sonra Connect deyip bağlanıyoruz. Aynı sunucu üzerinde kurulmasına gerek yoktur. Server Name kısmında uzak bir sunucuda seçilebilir.

Gelen ekran aslında bir özet ekran olarak algılanabilir. Bu bölümde  Reporting Server Instance ID, SQL Server Sürümü, Report Service Status kısmında raporlama sunucusunun durumunu, raporlama sunucusu veritabanı adını ve raporlama sunucusu modunu göstermektedir. Henüz bir yapılandırma olmasığı için raporlama sunucusu mode ve veritabanı adı boş görülmektedir. Report Server Configuration Manager sayfasında bulunan Report Server Status bölümünde  Reporting Service’in çalışıp-çalışmadığı kontrol edilebilir. Ayrıca alt kısımda bulunan StartStop bölümünde Reporting Service başlatabilir veya durdurabiliriz.

Sql server sürümü ile SSRS sürümünün aynı olması gerekmektedir.

Service Account kısmında servisi hangi kullanıcı ile çalıştıracağımız bir bölüm gelmektedir. Rapor Sunucusu’nu çalıştırmak için gereken en düşük ayrıcalıklara ve ağda oturum açma izinlerine sahiptir. Microsoft, herhangi bir etki alanı hesabımız yoksa bir Virtual Service Account(Sanal Hizmet Hesabı) kullanabilmemizi önerir. Default şeklinde bırakılabilir. Herhangi bir sorun teşkil etmez. Use another account hesabı eklemek istiyorsanız eklenecek hesabın SSRS ve SQL Server’ın düzgün çalışabilmesi için bu hesaba aşağıdaki izinlerin verilmesi gerekir: Local Administrator rolüne sahip olmalı.SSRS’nin çalıştığı sunucuya gerekli dosya ve dizin izinlerine sahip olmalı (örneğin, rapor dosyalarının bulunduğu dizinlerde okuma ve yazma izinleri). Eğer SSRS, veritabanı sunucusuna bağlanacaksa, bu hesap için de SQL Server’da uygun veritabanı erişim izinleri sağlanmalıdır.

SSRS servis hesabı için en az şu SQL Server izinleri gerekir:SSRS servis hesabının SQL Server’da bir login olarak tanımlı olması gerekir (CREATE LOGIN [DOMAIN\kullanici]). db_owner rolü (ReportServer ve ReportServerTempDB) SSRS’nin kullandığı her iki veritabanı üzerinde db_owner yetkisine sahip olmalı. SQL Server’a bağlanabilmek için GRANT CONNECT SQL yetkisi olmalı (genelde login oluşturulunca otomatik verilir). Service Account kısmında eklenen kullanıcılar default olarak database engine login altında default olarak oluşturulup yetkiler verilmektedir.

Sql login altında göreceğimiz default kullanıcı adı: NT SERVICE\SQLServerReportingServices

Sql server database engine yapısında nasıl bir servis hesabı tanımlıyorsak burada da aynı şekilde servis hesabı tanımlanabilir.

Web Service URL (Report Server URL) kısmında Rapor oluşturma, çalıştırma, veri kaynağı ekleme gibi işlemler arka planda bu servis üzerinden yapılır. Advanced sekmesinde HTTP ve https için web hizmeti istek bağlantı noktalarını değiştirebilir. ReportServer için Virtual Directory adını değiştirebilir. Varsayılan Virtual Directory adı ReportServer’dır.

Ne işe yarar? Web servis çağrıları bu noktaya yapılır (SOAP/REST API). Uygulamalar SSRS’ye buradan bağlanır. Power BI Report Builder, Visual Studio (SSDT) gibi araçlar bu URL üzerinden raporları yükler.

Apply diyerek bu bölümde işlemleri sonlandırıyorum. Gerçek sistemlerde genellikle default şeklinde bırakılabilir.

Apply dedikten sonra başarılı bir şekilde sonuçlandığını Result bölümünde görmüş oluyoruz.

Daha sonra Report Server Configuration Manager ekranında bulunan  Database bölümüne tıklanır. Gelen ekranda Change Database denilir.

Database: Rapor Sunucusu için gerekli olan tüm rapor içeriklerini, abonelikleri ve diğer çeşitli verileri (Veri Kümesi, Veri kaynağı, Roller vb.) depolar. Bu sekmede, Rapor Sunucusu veritabanı bağlantısı oturum açma ve parola ayarını yapılandırabiliriz.

Varsayılan Rapor Sunucusu yüklemesinde, ReportServer ve ReportServerTempDB olarak adlandırılan iki veritabanı oluşturulur. Aynı zamanda bu sekme bize Rapor Sunucusu veritabanını sonradan değiştirmemizi sağlar.

ReportServer ve ReportServerTempDB veritabanları, SSRS’nin raporları saklama, yönetme ve geçici verileri işleme gibi önemli işlevleri için kullanılır. Bu veritabanlarının görevleri şunlardır:

ReportServer veritabanı, SSRS’nin ana veritabanıdır ve raporların saklanmasından, rapor tanımlarına kadar birçok önemli bilgiyi içerir. Bu veritabanı, oluşturulan raporların metadata bilgilerini (tanımlarını), rapor parametrelerini, güvenlik bilgilerini, kullanıcı izinlerini ve raporların düzenlerini içerir. Veritabanında, raporlarda kullanılan veri kaynaklarına dair bağlantı bilgileri de saklanır.Kullanıcılar tarafından oluşturulmuş veya yüklenmiş raporlar, burada saklanır ve web portalında erişilebilir hale gelir. Raporlar, XML formatında bu veritabanında saklanır.

ReportServerTempDB, geçici ve çalışma verilerini depolamak için kullanılır. Bu veritabanı, raporların çalıştırılması sırasında geçici veriler ve işlem sonuçlarını saklar. Raporlar çalıştırıldığında, kullanıcı sorgularına karşılık gelen geçici veriler burada tutulabilir. Örneğin, raporlar dinamik olarak oluşturulurken, geçici verilerin burada depolanması sağlanır. SSRS, raporların oluşturulmasında veya çalıştırılmasında yüksek performans sağlamak için bu veritabanını kullanabilir.

Özetle:

  • ReportServer Veritabanı: Rapor tanımları, veri kaynakları, güvenlik bilgileri, rapor referansları gibi kalıcı bilgilerin saklandığı yerdir. dbo.Catalog tablosu, SSRS içindeki tüm öğeleri saklar. oluşturdukları raporların meta bilgileri burada tutulur.
  • ReportServerTempDB Veritabanı: Geçici veriler, raporların çalıştırılması sırasında geçici veri kümeleri ve sistemin geçici işleyişine dair verilerin depolandığı yerdir. Kullanıcılar burada doğrudan rapor oluşturmazlar.

Rapor Oluşturulduğunda Ne Olur?

Sen veya bir kullanıcı, Report Builder veya Visual Studio (SSDT) ile bir rapor (.rdl) oluşturduğunda:

Yayınlama (Deploy) işlemi sonrası:

Rapor, ReportServer veritabanına şu şekilde kaydedilir:

Tablo AdıAçıklama
CatalogRapor dosyası (.rdl) buraya XML formatında kaydedilir
DataSourcePaylaşımlı veri kaynaklarının bilgisi
SubscriptionsZamanlanmış görevler (abonelikler)
Users, PolicyUserRoleKullanıcı rolleri ve izinleri
ExecutionLogStorageRaporların ne zaman, kim tarafından, ne kadar sürede çalıştırıldığını saklar

ReportServerTempDB Ne Yapıyor?

Tablo AdıGörev
SessionData, TempCatalogGeçici rapor oturum bilgileri
ExecutionCache, ChunkDataRapor çalışırken üretilen geçici veriler
RunningJobs, PersistedStreamÇalışan raporlar ve geçici içerikler
  • Raporu açtığında SSRS, sonucu hızlı gösterebilmek için bu verileri ReportServerTempDB içinde tutar.
  • Bu veriler zamanla otomatik silinir (cache timeout ayarlarına göre).

Hangi Modda Olmalı? (Recovery Mode)

VeritabanıÖnerilen Recovery ModeNeden?
ReportServerFull veya SimpleEğer yedekleme planı varsa Full, yoksa Simple yeterlidir.
ReportServerTempDBSimpleGeçici veriler tuttuğu için log şişmesini önlemek adına Simple mod önerilir.

Yedekleme ve İzleme Önerisi:

VeritabanıYedekleme Gerekir mi?Ne Sıklıkla?
ReportServerEvetGünlük veya haftalık (kritik içerik barındırabilir)
ReportServerTempDBGerekmezYeniden başlatıldığında zaten sıfırlanır

Kısaca Özet:

  • .rdl raporları ReportServer > Catalog tablosunda XML olarak saklanır.
  • TempDB, sadece çalıştırma esnasında geçici verileri tutar.
  • ReportServer veritabanı uzun vadeli saklama ve yönetim içindir.
  • ReportServerTempDB kısa süreli geçici bellektir.
  • ReportServerTempDB her zaman Simple modda olmalıdır.
  • ReportServer, ihtiyaca göre Simple ya da Full olabilir (Full ise log backup unutulmamalı).

Change database dedikten sonra gelen ekranda raporlama işlemi için ilk defa yeni bir raporlama veritabanı oluşturma adımı olacaksa  Create a new report server database sekmesine tıklanır. Önceden oluşturulmuş olan raporlama veritabanı kullanılacaksa Choose an existing report server database sekmesine tıklanır.  

Gelen ekranda veritabanının olduğu sunucu ile bağlantı testi yapılmaktadır. Authentication kısmında Windows Authentication veya Sql Authentication bağlanma şekilleriyle bağlantı sağlanır. Bu bölümde Windows Authentication yapısı olan Current User-Integrated Security yapısını seçiyorum. Server Name kısmına sadece S1 sunucu adı da yazılabilir.

“Connect to the database server” adımında girilen kullanıcı bilgisi sadece o anda bağlantıyı kurmak içindir. Bu kısımda verdiğin Windows hesabı ya da SQL Login, sadece ReportServer ve ReportServerTempDB veritabanlarına ilk bağlantıyı kurmak ve yapılandırma ayarlarını güncellemek için kullanılır.

  1. Change Database ekranında:
    • Connect to the database server → Bu kullanıcı: geçici bağlantı için
  2. Sonraki adımda:
    • “Specify credentials” kısmında asıl kalıcı bağlantı hesabı belirlenir → bu hesap, SSRS’nin her zaman kullanacağı hesaptır (veritabanı bağlantısı için)

Server name ve kimlik türünü belirledikten sonra Test Connection denilir.

Bağlantı testi başarılı tamamlandıktan sonra Next diyerek devam ediyoruz.

Gelen ekranda Database Name kısmında bağlanmış olduğumuz sunucuda oluşturacağımız veritabanı adı, Temp veritabanı adı ve kullanıcıların sql komutlarını çalıştıracağı default dil seçeneğini görmekteyiz. Default şekilde bıraktıktan  sonra Next deyip bir sonraki ekrana geliyoruz.

Aşağıdaki  ekranda kimlik türü bölümünde aşağıdaki seçenekler karşımıza çıkmaktadır. Burada bulunan kimlik türünü rapor sunucusu veritabanına bağlanmak için kullanacaktır. Otomatik bir şekilde bağlanması için yani herhangi bir username veya password girilmemesi için Service Credentials seçilmesi gerekmektedir. İlgili kısmı seçtikten sonra Next deyip bir sonraki aşamaya geçiyoruz.

Aşağıdaki  ekranda  yapılan işlemlerin özet bölümü karşımıza gelmektedir. Bu bölümde gerekli kontrolleri yaptıktan sonra Next deyip bir sonraki adıma geçiyoruz.

Progress and Finish bölümünde tüm adımların başarılı cevabı aldıktan sonra reporting servisi yeniden başlatıyor.

Tüm adımlar başarıyla tamamlandıktan sonra, Raporlama Hizmeti’ni yeniden başlatır. Finish diyerek işlemlerimizi sonlandırıyoruz.

Database kısmında genel yapımızı görmekteyiz.

Veritabanlarımızın belirtilen Instance altında oluştuğunu görmüş oluyoruz.

Security bölümünde bulunan login kısmında Credential bölümünde oluşan kullanıcının entegre olduğunu aynı zamanda yetkileri otomatik verildiğini görmüş oluyoruz.

Eğer service account hesabını değiştirmeniz gerekirse database bölümünden ilgili credential bölümünde bulunan userıda değiştirebilirsiniz.

Ne Yapmak Gerekir?

1. SSRS Configuration Manager’ı aç

2. Database sekmesine git

  • “Change Database” veya “Configure Database” seçeneğini tıkla.

3. “Choose an existing report server database” seçeneğini seç

  • Mevcut ReportServer ve ReportServerTempDB’yi kullanmak istiyoruz.

4. Yeni service account ile bağlantı kur

  • Burada, yeni service account’un SQL Server’a bağlanabileceğinden emin ol.
  • Kullanıcı adı/parola ile giriyorsan, yeni hesabı yaz.
  • Eğer hesap “Windows Authentication” ise, şu anda çalışan servis hesabıyla bağlanmaya çalışır.

5. SQL Server tarafında login ve yetkileri kontrol et

-- Login varsa
CREATE LOGIN [DOMAIN\YeniHesap] FROM WINDOWS;

-- Yetki ata
USE ReportServer;
CREATE USER [DOMAIN\YeniHesap] FOR LOGIN [DOMAIN\YeniHesap];
EXEC sp_addrolemember 'db_owner', 'DOMAIN\YeniHesap';

USE ReportServerTempDB;
CREATE USER [DOMAIN\YeniHesap] FOR LOGIN [DOMAIN\YeniHesap];
EXEC sp_addrolemember 'db_owner', 'DOMAIN\YeniHesap';

Login değiştirme işlemi için şu ayrımın bilinmesi gerekmektedir. Service Account SSRS hizmetinin Windows’ta çalışmasını sağlar. Windows hesabı olması gerekmektedir. Database Credential SSRS’nin SQL Server’daki Report Server veritabanına bağlanmasını sağlar. SQL login veya Windows hesabı (domain\kullanıcı) olması gerekmektedir.

Kaldığımız yerden devam ediyoruz. Tekrardan Report Server Configuration Manager ekranına geliyoruz. Web Portal URL kısmında bir dizin belirtiyoruz. Kullanıcı dostu bir arayüz sağlayan ve SSRS raporlarını yönetmek, paylaşmak, izinleri düzenlemek için kullanılan adrestir. Kullanıcılar buradan raporları görüntüleyebilir, zamanlanmış görevleri oluşturabilir ve ayarları yapılandırabilir. Bu işlemlerden sonra Apply butonu ile işlemlerimizi onaylıyoruz.

ÖzellikWeb Service URLWeb Portal URL
AmaçAPI/Servis erişimiTarayıcı arayüzü / Kullanıcı etkileşimi
URL örneğihttp://sunucu/reportserverhttp://sunucu/reports
Kullanıcı arayüzüYokVar
KullanıcılarGeliştiriciler / UygulamalarSon kullanıcılar / Adminler
KullanımRapor yayınlama, veri alma (programatik)Rapor görüntüleme, paylaşım, ayarlar

Not: Web Service URL arka planda API ve entegrasyon amaçlı çalışırken, Web Portal URL kullanıcıların yönetim ve rapor görüntüleme işlemleri için kullanılan görsel arayüzdür

E-mail Settings kısmında raporlarımızı mail ile göndermek istiyorsak ilgili seçenekler doldurulabilir.

Execution Account adımında ise SSRS üzerinde yer alan raporları dışarıdan çekerek kullanmak istersek bu alanı doldurmalıyız. Bu bölümde herhangi bir değişiklik yapmıyorum. Eğer hesap adı ve şifre belirlenecekse dikkat edilecek hususlar. Bu kullanıcının parolasının süresi hiçbir zaman dolmamalıdır. Kullanıcının parolayı değiştirmesi kısıtlanmalıdır.

Örnek Senaryolar:

Rapor SenaryosuNeden Execution Account Gerekir?
Rapor içinde \\sunucu\paylasim\data.xlsx dosyasından veri çekiliyorSSRS’nin bu network yoluna erişebilmesi için bir Windows hesabı gerekir
Rapor tasarımında gömülü dış bağlantılı resim (http://resim.domain.com/logo.png) varVeya erişim için kimlik doğrulama gerekiyorsa
SSRS local ama data dış kaynakta (UNC path, FTP vs)Domain kimlik doğrulaması gerekebilir

Yeni SSRS versiyon değişikliklerinde Encryption Keys bölümü hayati önem taşımaktadır. Çünkü bu bölümde aldığımız backup yapımızı yeni kurmuş olduğumuz SSRS sürümüne restore edersek bu yapımızdaki tüm konfigürasyon işlemleri yeni kurmuş olduğumuz SSRS sürümüne geçmiş olacaktır.

Kısacası Encryption Keys kısmında tüm konfigürasyonlarımız yedeklenir. Yedekleme sonrası başka bir sunucuya yedekten dönülerek tüm ayarların aynı kalması sağlanır. Bu bölümde yedekleme yapmayıp kurulum bittikten sonra yedekleme yapmayı planlıyorum.

Subscription Settings adımında Raporlarınızın çıktılarını disk üzerinde ya da Network üzerinde yer alan bir alanda konumlandırmak için gerekli izinlere sahip kullanıcıyı buradan tanımlayabilirsiniz.

Scale-out Deployment kısmında birden fazla Rapor Sunucusu çalıştırabilir ve bir Rapor Sunucusu Veritabanına bağlanabiliriz. Scale-out Dağıtımının avantajı, Rapor Sunucusu’nun yüksek kullanılabilirliğini artırma, Performans sorunu olmadan aynı anda daha fazla eşzamanlı kullanıcıyı yönetin, Ağ yükü dengeleme yapılandırabilir.

Son adımımız olan Power BI Service(cloud) bölümünde raporlama servisimizin Power BI ile birlikte çalışmasını istiyorsak Power BI hesabının burada tanımlanması gerekmektedir. Register with Power BI butonunun tıklanması gerekmektedir.

Tüm bu konfigürasyon adımlarından sonra  konfigürasyon ekranından belirtilen Web Portal URL bölümünde link ile browser dan bağlantı sağlanıp sağlanmadığı gözlemlenebilir. İlgili URL uzantısına bağlandığımda raporlama sunucusunda administrator kullanıcılarının kullanıcı adı ve şifresini istiyor veya web portal arayüzünde tanımladığımız kullanıcı bilgilerini istemektedir. Giriş yaptıktan sonra başarılı bir şekilde bağlanmış oluyoruz. Sunucu adım farklı ikinci bir örnek üzerinden yaptığımdan dolayı ekran resimleri farklı sunucudan alınmış. Burada bulunan kullanıcı adı ve şifresi bölümü S2 sunucusunda administrator olarak yetkili herhangi bir kullanıcı ile bağlantı gerçekleştirilebilir.

Bağlantı sırasında aşağıdaki tablodaki hatalar alınıyorsa ilgili bölümlere bakılması gerekmektedir.

Belirti / TestOlası Sorun
URL açılmıyorServis durdu, Firewall engeli, DNS hatası
401 / 403 hatasıKullanıcı yetkisi yok
500 / 503 hatasıServis çalışıyor ama iç hata var
SSRS Config’da bağlantı hatasıVeritabanı bağlantısı ya da kimlik sorunu
Loglarda “cannot connect to db” hatasıCredential veya SQL erişimi hatalı

Makalemizi bitirmeden önce Encryption Keys bölümünden SSRS yapımızın backup’ını alalım tekrardan restore işlemine tabi tutalım. Yeni sürüm SSRS yapılarında bu yöntem izlenmektedir.

Yukarıda almış olduğumuz konfigürasyon backup’ını aşağıdaki ekran resminde ise Restore işlemine tabi tutuyoruz. Backup alırken girmiş olduğumuz şifremiz restore sırasında da girilmektedir.

SSMS arayüzünde oluşturduğumuz Reporting Services yapısına girmek için  Connect to Server üzerinde bulunan Server Type kısmında Reporting Services seçilir.

Server name kısmında <Browse for more..> bölümüne girilir.

Gelen ekranda Reporting Services  bölümünde oluşturduğumuz S1\SSRS raporlama sunucusu adı seçilir.

Connect deyip raporlama sunucumuza bağlanıyoruz.

Aşağıdaki SSRS properties ekranında  Advanced sekmesine tıklayıp ve ExecutionLogDaysKept değerini değiştirebiliriz. Yapılan işlemlerin  kaç gün boyunca saklanacağını belirtebiliriz.

Son olarak raporlama servisimizi, services bölümünden görebiliriz.

SSRS, kullanıcı yetkilendirmelerini Role-Based Security modeliyle yönetir. Bu bilgiler aşağıdaki tablolar içinde yer alır. Bu tablolar ReportServer veritabanı içerisinde yer almaktadır.

  • dbo.Policy→ Yetki atamalarının saklandığı tablodur.
  • dbo.Users→ SSRS içinde tanımlı kullanıcıların listesi
  • dbo.Roles → SSRS içindeki rollerin saklandığı tablodur
  • dbo.PolicyUserRole→ Kullanıcıların ve rollerin yetkilendirmelerinin eşleştirildiği tablodur.

SSRS içindeki kullanıcı yetkilendirmelerini görmek için aşağıdaki sorguyu çalıştırabilirsin:

use ReportServer
SELECT u.UserName, r.RoleName, c.Path, c.Name
FROM dbo.PolicyUserRole pur
JOIN dbo.Users u ON pur.UserID = u.UserID
JOIN dbo.Roles r ON pur.RoleID = r.RoleID
JOIN dbo.Policies p ON pur.PolicyID = p.PolicyID
JOIN dbo.Catalog c ON p.PolicyID = c.PolicyID
ORDER BY c.Path;

Not: Son kullanıcı rapor ortamına bağlanmak isterse rapor sunucu ipsine bağlanma yetkisi olması gerekir. Aynı zaman raporların yayınlandığı web portaldaki port numarasınada bağlanma izni olması gerekir. Kullanıcıya SSRS Web Portal’da erişmeye çalıştığı klasör ya da rapor için en az Browser rolü atanmış olmalı. Eğer ağ erişimi + port erişimi + SSRS yetkisi üçlüsünden biri eksikse, son kullanıcı raporları çekemez.

Not: Aşağıdaki sorgu, SQL Server’da çalışan oturumlardan (session) “Report” ile başlayan programlar tarafından açılmış olan bağlantılar hakkında bilgi almak için kullanılır.

SELECT
    s.session_id,
    c.connect_time,
    c.last_read,
    c.client_net_address,
    s.[host_name]
FROM sys.dm_exec_connections c
INNER JOIN sys.dm_exec_sessions s
    ON c.session_id = s.session_id
WHERE s.[program_name] LIKE 'Report%'

Bu makalede Sql Server Reporting Services kurulumunu ve konfigürasyonunu bitirmiş olduk. Başka bir makalede görüşmek dileğiyle.

“Kur’an okunduğu zaman hemen dikkat kesilerek ona kulak verin, susup dinleyin ki rahmete eresiniz.”A’râf-204

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir