Merhaba;
Bilindiği gibi Reporting Services için 2 adet veritabanı bulunuyor. Bunların default isimleri ReportServer ve ReportServerTempDB.
Bu isimleri veya daha farklı bir isimde kurulmuş report veritabanlarının isimlerini değiştirme ihtiyacı olabilir.
Fakat isimleri değiştirip Reporting Services Configuration Managerdan yeni ismi göstermek yetmiyor. Report veritabanında ki bazı stored procedure, trigger gibi objelerin içinde eski ReportServerTempDB adı geçiyor. Bu isimlerinde değiştirilmesi gerekiyor.
Aksi durumda reporting servisi veritabanına bağlanamaz ve hata logu üretir.
İlgili objelerin içeriğini değiştirmek için SQL Serverın Generate Script özelliğinden yararlanacağız.
İlk önce hangi objelerin içeriğinde eski tempdb ismi geçiyor bunları tespit etmemiz gerek. Aşağıdaki script ile içeriğinde eski tempdb geçen nesneleri bulabiliriz.
USE ReportServer -- Reporting veritabanımızın ismi yazılı olmalı. GO SELECT object_name(id) 'name' FROM syscomments WHERE text LIKE '%ReportServerTempDB%' -- Eski TempDB ismi yazılı olmalı. ORDER BY name
Aşağıdakine benzer bir sonuç almanız gerekiyor. Benim 2005 server olduğu için 48 adet obje ismi listeledi. Üst versiyonlarda bu sayı daha fazla olabilir.
Listedeki objelerin içlerinde ReportServerTempDB ibaresinin geçtiğini biliyoruz.
Şimdi ReportServer veritabanımıza sağ tıklıyıp Tasks -> Generate Script ekranını açıyoruz.
Tüm objelerin scriptine ihtiyacımız yok bu yüzden “Select specific database objects” seçeneğini seçiyoruz. Ve aşağıdaki ekrandan biraz önceki listemizdeki objeleri tek tek seçiyoruz.
Next dedikten sonraki ekranda;
Advanced seçeneklere giriyoruz ve Script DROP and CREATE seçeneğini seçiyoruz.
OK diyoruz. Scripti “Save to new query windows” olarak oluşturmasını seçip Finish diyoruz.
Scriptimiz ekrana geldi şimdi içeriğinde ReportServerTempDB geçen kısımları yeni ismimizle değiştirmemiz gerekiyor
Bunun için CTRL+F komutuyla isimleri Replace ettireceğiz.
Replace sonrası scripti ReportServer veritabanında çalıştırdığımızda artık tüm isimler güncellenmiş olacak.
Kontrol için makalenin başında yazdığım scripti kullanabilirsiniz.
Artık report veritabanlarının ismi değiştirilebilir ve sonrasında Reporting Services Configuration Manager toolundan veritabanının yeni ismini set edebiliriz.
Bu işlemler sırasında raporlama servisinin stop durumda olmasını tavsiye ederim.
İyi çalışmalar.