Bagikan melalui


Memindahkan database server laporan ke komputer lain (mode asli SSRS)

Anda dapat memindahkan database server laporan yang digunakan dalam penginstalan SQL Server Database Engine ke instans yang ada di komputer lain. reportserver Database dan reportservertempdb harus dipindahkan atau disalin bersama-sama. Penginstalan Reporting Services memerlukan kedua database. Anda harus menghubungkan reportservertempdb database berdasarkan nama ke database utama reportserver yang Sedang Anda pindahkan.

Berlaku untuk: Mode Asli Reporting Services.

Memindahkan database tidak mengubah operasi terjadwal yang saat ini ditentukan untuk item server laporan.

  • Jadwal dibuat ulang saat pertama kali Anda memulai ulang layanan Server Laporan.

  • Pekerjaan SQL Server Agent yang digunakan untuk memicu jadwal dibuat ulang pada instans database baru. Anda tidak perlu memindahkan pekerjaan ke komputer baru, tetapi Anda mungkin ingin menghapus pekerjaan di komputer yang tidak lagi digunakan.

  • Langganan, laporan yang di-cache, dan rekam jepret dipertahankan dalam database yang dipindahkan. Jika rekam jepret tidak mengambil data yang di-refresh setelah database dipindahkan, hapus opsi rekam jepret. Lalu, pilih Terapkan untuk menyimpan perubahan Anda, buat ulang jadwal, dan pilih Terapkan lagi untuk menyimpan perubahan Anda.

  • Laporan sementara dan data sesi pengguna yang disimpan reportservertempdb dipertahankan saat Anda memindahkan database tersebut.

SQL Server menyediakan beberapa pendekatan untuk memindahkan database, termasuk pencadangan dan pemulihan, melampirkan dan melepaskan, dan menyalin. Tidak semua pendekatan sesuai untuk merelokasi database yang ada ke instans server baru. Pendekatan yang harus Anda gunakan untuk memindahkan database server laporan bervariasi tergantung pada persyaratan ketersediaan sistem Anda. Cara term mudah untuk memindahkan database server laporan adalah dengan melampirkan dan melepaskannya. Namun, pendekatan ini mengharuskan Anda membuat server laporan offline saat Anda melepaskan database. Tindakan pencadangan dan pemulihan adalah pilihan yang lebih baik jika Anda ingin meminimalkan gangguan layanan, tetapi Anda harus menjalankan perintah Transact-SQL untuk melakukan operasi. Menyalin database tidak disarankan, khususnya dengan menggunakan Wizard Salin Database. Ini tidak mempertahankan pengaturan izin dalam database.

Penting

Langkah-langkah yang disediakan dalam artikel ini direkomendasikan ketika relokasi database server laporan adalah satu-satunya perubahan yang Anda lakukan pada penginstalan yang ada. Memigrasikan seluruh penginstalan Reporting Services memerlukan konfigurasi ulang koneksi dan reset kunci enkripsi. Misalnya, konfigurasi ini diperlukan saat memindahkan database dan mengubah identitas layanan Report Server Windows yang menggunakan database.

Melepas dan melampirkan database server laporan

Jika Anda dapat membuat server laporan offline, Anda dapat melepaskan database untuk memindahkannya ke instans SQL Server yang ingin Anda gunakan. Pendekatan ini mempertahankan izin dalam database. Jika Anda menggunakan database SQL Server, Anda harus memindahkannya ke instans SQL Server lain. Setelah memindahkan database, Anda harus mengonfigurasi ulang koneksi server laporan ke database server laporan. Jika Anda menjalankan penyebaran peluasan skala, Anda harus mengonfigurasi ulang koneksi database server laporan untuk setiap server laporan dalam penyebaran.

Gunakan langkah-langkah berikut untuk memindahkan database:

  1. Cadangkan kunci enkripsi untuk database server laporan yang ingin Anda pindahkan. Anda dapat menggunakan alat Konfigurasi Reporting Services untuk mencadangkan kunci.

  2. Hentikan layanan Server Laporan. Anda dapat menggunakan alat Konfigurasi Reporting Services untuk menghentikan layanan.

  3. Mulai SQL Server Management Studio dan buka koneksi ke instans SQL Server yang menghosting database server laporan.

  4. Klik kanan database server laporan, arahkan ke Tugas, dan pilih Lepaskan. Ulangi langkah ini untuk database sementara server laporan.

  5. Salin atau pindahkan file .mdf dan .ldf ke folder Data instans SQL Server yang ingin Anda gunakan. Karena Anda memindahkan dua database, pastikan Anda memindahkan atau menyalin keempat file.

  6. Di Management Studio, buka koneksi ke instans SQL Server baru yang menghosting database server laporan.

  7. Klik kanan simpul Database, lalu pilih Lampirkan.

  8. Pilih Tambahkan untuk memilih database server laporan .mdf dan file .ldf yang ingin Anda lampirkan. Ulangi langkah ini untuk database sementara server laporan.

  9. Setelah database dilampirkan, verifikasi bahwa RSExecRole adalah peran database dalam database server laporan dan database sementara. RSExecRole harus memilih, menyisipkan, memperbarui, menghapus, dan mereferensikan izin pada tabel database server laporan, dan menjalankan izin pada prosedur tersimpan. Untuk informasi selengkapnya, lihat Membuat RSExecRole.

  10. Mulai alat Konfigurasi Reporting Services dan buka koneksi ke server laporan.

  11. Pada halaman Database, pilih instans SQL Server baru, lalu pilih Sambungkan.

  12. Pilih database server laporan yang baru saja Anda pindahkan, lalu pilih Terapkan.

  13. Pada halaman Kunci Enkripsi, pilih Pulihkan. Tentukan file yang berisi salinan cadangan kunci dan kata sandi untuk membuka kunci file.

  14. Hidupkan ulang layanan Server Laporan.

Mencadangkan dan memulihkan database server laporan

Jika Anda tidak dapat membuat server laporan offline, Anda bisa menggunakan pencadangan dan pemulihan untuk merelokasi database server laporan. Anda harus menggunakan pernyataan Transact-SQL untuk melakukan pencadangan dan pemulihan. Setelah memulihkan database, Anda harus mengonfigurasi server laporan untuk menggunakan database pada instans server baru. Untuk informasi selengkapnya, lihat instruksi di akhir artikel ini.

Menggunakan BACKUP dan COPY_ONLY untuk mencadangkan database server laporan

Saat mencadangkan database, atur COPY_ONLY argumen . Pastikan untuk mencadangkan kedua database dan file log.

-- To permit log backups, before the full database backup, alter the database   
-- to use the full recovery model.  
USE master;  
GO  
ALTER DATABASE ReportServer  
   SET RECOVERY FULL  
  
-- If the ReportServerData device does not exist yet, create it.   
USE master  
GO  
EXEC sp_addumpdevice 'disk', 'ReportServerData',   
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\BACKUP\ReportServerData.bak'  
  
-- Create a logical backup device, ReportServerLog.  
USE master  
GO  
EXEC sp_addumpdevice 'disk', 'ReportServerLog',   
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\BACKUP\ReportServerLog.bak'  
  
-- Back up the full ReportServer database.  
BACKUP DATABASE ReportServer  
   TO ReportServerData  
   WITH COPY_ONLY  
  
-- Back up the ReportServer log.  
BACKUP LOG ReportServer  
   TO ReportServerLog  
   WITH COPY_ONLY  
  
-- To permit log backups, before the full database backup, alter the database   
-- to use the full recovery model.  
USE master;  
GO  
ALTER DATABASE ReportServerTempdb  
   SET RECOVERY FULL  
  
-- If the ReportServerTempDBData device does not exist yet, create it.   
USE master  
GO  
EXEC sp_addumpdevice 'disk', 'ReportServerTempDBData',   
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\BACKUP\ReportServerTempDBData.bak'  
  
-- Create a logical backup device, ReportServerTempDBLog.  
USE master  
GO  
EXEC sp_addumpdevice 'disk', 'ReportServerTempDBLog',   
'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\BACKUP\ReportServerTempDBLog.bak'  
  
-- Back up the full ReportServerTempDB database.  
BACKUP DATABASE ReportServerTempDB  
   TO ReportServerTempDBData  
   WITH COPY_ONLY  
  
-- Back up the ReportServerTempDB log.  
BACKUP LOG ReportServerTempDB  
   TO ReportServerTempDBLog  
   WITH COPY_ONLY  

Gunakan RESTORE dan MOVE untuk merelokasi database server laporan

Saat memulihkan database, pastikan untuk menyertakan argumen MOVE sehingga Anda bisa menentukan jalur. NORECOVERY Gunakan argumen untuk melakukan pemulihan awal. Argumen ini menyimpan database dalam status RESTORING , memberi Anda waktu untuk meninjau cadangan log untuk menentukan mana yang akan dipulihkan. Langkah terakhir mengulangi RESTORE operasi dengan RECOVERY argumen .

Argumen MOVE menggunakan nama logis file data. Untuk menemukan nama logis, jalankan pernyataan berikut: RESTORE FILELISTONLY FROM DISK='C:\ReportServerData.bak';.

Contoh berikut menyertakan FILE argumen sehingga Anda dapat menentukan posisi file file log yang akan dipulihkan. Untuk menemukan posisi file, jalankan pernyataan berikut: RESTORE HEADERONLY FROM DISK='C:\ReportServerData.bak';.

Saat memulihkan database dan file log, Anda harus menjalankan setiap RESTORE operasi secara terpisah.

-- Restore the report server database and move to new instance folder   
RESTORE DATABASE ReportServer  
   FROM DISK='C:\ReportServerData.bak'  
   WITH NORECOVERY,   
      MOVE 'ReportServer' TO   
         'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServer.mdf',   
      MOVE 'ReportServer_log' TO  
         'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServer_Log.ldf';  
GO  
  
-- Restore the report server log file to new instance folder   
RESTORE LOG ReportServer  
   FROM DISK='C:\ReportServerData.bak'  
   WITH NORECOVERY, FILE=2  
      MOVE 'ReportServer' TO   
         'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServer.mdf',   
      MOVE 'ReportServer_log' TO  
         'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServer_Log.ldf';  
GO  
  
-- Restore and move the report server temporary database  
RESTORE DATABASE ReportServerTempdb  
   FROM DISK='C:\ReportServerTempDBData.bak'  
   WITH NORECOVERY,   
      MOVE 'ReportServerTempDB' TO   
         'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServerTempDB.mdf',   
      MOVE 'ReportServerTempDB_log' TO  
         'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\REportServerTempDB_Log.ldf';  
GO  
  
-- Restore the temporary database log file to new instance folder   
RESTORE LOG ReportServerTempdb  
   FROM DISK='C:\ReportServerTempDBData.bak'  
   WITH NORECOVERY, FILE=2  
      MOVE 'ReportServerTempDB' TO   
         'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\ReportServerTempDB.mdf',   
      MOVE 'ReportServerTempDB_log' TO  
         'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\REportServerTempDB_Log.ldf';  
GO  
  
-- Perform final restore  
RESTORE DATABASE ReportServer  
   WITH RECOVERY  
GO  
  
-- Perform final restore  
RESTORE DATABASE ReportServerTempDB  
   WITH RECOVERY  
GO  

Cara mengonfigurasi koneksi database server laporan

  1. Mulai Manajer Konfigurasi Reporting Services dan buka koneksi ke server laporan.

  2. Pada halaman Database , pilih Ubah Database. Pilih Berikutnya.

  3. Pilih Pilih database server laporan yang sudah ada. Pilih Berikutnya.

  4. Pilih SQL Server yang sekarang menghosting database server laporan dan pilih Uji Koneksi. Pilih Selanjutnya.

  5. Di Nama Database, pilih database server laporan yang ingin Anda gunakan. Pilih Selanjutnya.

  6. Di Kredensial, tentukan kredensial yang digunakan server laporan untuk menyambungkan ke database server laporan. Pilih Selanjutnya.

  7. Pilih Berikutnya, lalu pilih Selesai.

Catatan

Penginstalan Reporting Services mengharuskan instans Mesin Database SQL Server menyertakan peran RSExecRole . Pembuatan peran, pendaftaran masuk, dan penetapan peran terjadi saat Anda mengatur koneksi database server laporan melalui alat Konfigurasi Reporting Services. Jika Anda menggunakan pendekatan alternatif (khususnya, jika Anda menggunakan utilitas perintah rsconfig.exe) untuk mengonfigurasi koneksi, server laporan tidak akan berada dalam status berfungsi. Anda mungkin harus menulis kode WMI untuk membuat server laporan tersedia. Untuk informasi selengkapnya, lihat Mengakses Penyedia WMI Reporting Services.