Bagikan melalui


Contoh skrip rs.exe Reporting Services untuk menyalin konten antar server laporan

Berlaku untuk: SQL Server Reporting Services (2008 R2 dan yang lebih baru) SharePoint Power BI Report Server

Artikel ini menyertakan dan menjelaskan contoh skrip RSS Reporting Services yang menyalin item konten dan pengaturan dari satu server laporan SQL Server Reporting Services ke server laporan lain dengan menggunakan utilitas RS.exe . RS.exe diinstal dengan Reporting Services, baik mode asli maupun SharePoint. Skrip menyalin item Reporting Services, misalnya laporan dan langganan, dari server ke server lain. Skrip ini mendukung server laporan mode SharePoint dan Mode asli.

Catatan

Modul PowerShell ReportingServicesTools sumber terbuka juga tersedia.

Mengunduh skrip ssrs_migration.rss

Unduh skrip dari situs GitHub Reporting Services RS.exe skrip migrasi ke folder lokal. Untuk informasi selengkapnya, lihat bagian Cara menggunakan skrip dalam artikel ini.

Skenario yang didukung

Skrip ini mendukung server laporan mode SharePoint dan Mode asli. Skrip mendukung server laporan versi SQL Server 2008 R2 (10.50.x) dan yang lebih baru, dan Server Laporan Power BI.

Skrip dapat digunakan untuk menyalin konten antara server laporan dengan mode yang sama atau mode yang berbeda. Misalnya, Anda dapat menjalankan skrip untuk menyalin konten dari server laporan mode asli SQL Server 2008 R2 (10.50.x) ke server laporan mode SharePoint SQL Server 2012 SP1 (11.0.3x). Anda dapat menjalankan skrip dari server mana pun tempat RS.exe diinstal. Misalnya, dalam penyebaran berikut, Anda dapat:

  • Jalankan RS.exe dan skrip DI Server A.

  • Untuk menyalin konten DARI Server B

  • KE Server C

Nama server Mode Server Laporan
Server A Asli
Server B SharePoint
Server C SharePoint

Untuk informasi selengkapnya tentang utilitas RS.exe, lihat Utilitas RS.exe (SSRS).

Item dan sumber daya skrip bermigrasi

Skrip tidak menulis item konten yang ada dengan nama yang sama. Jika skrip mendeteksi item dengan nama yang sama di server tujuan yang ada di server sumber, item individual menghasilkan pesan "kegagalan" dan skrip berlanjut. Tabel berikut mencantumkan jenis konten dan sumber daya yang dapat dimigrasikan skrip ke mode server laporan target.

Item Dimigrasikan SharePoint Deskripsi
Kata Sandi Tidak Tidak Kata sandi TIDAK dimigrasikan. Setelah item konten dimigrasikan, perbarui informasi kredensial di server tujuan. Misalnya, sumber data dengan kredensial tersimpan.
Laporan Saya Tidak Tidak Fitur Mode asli "Laporan Saya" didasarkan pada rincian masuk pengguna individual oleh karena itu layanan pembuatan skrip tidak memiliki akses ke konten di folder "Laporan Saya" untuk pengguna selain parameter -u yang digunakan untuk menjalankan skrip rss. Selain itu, "Laporan Saya" bukan fitur mode SharePoint Reporting Services dan item dalam folder tidak dapat disalin ke lingkungan SharePoint. Oleh karena itu, skrip tidak menyalin item laporan yang ada di folder "Laporan Saya" di server laporan mode asli sumber

Untuk memigrasikan konten di folder "Laporan Saya" dengan skrip ini, selesaikan langkah-langkah berikut:

1. Buat folder baru di portal web. Secara opsional, Anda dapat membuat folder atau subfolder untuk setiap pengguna.
2. Masuk sebagai salah satu pengguna dengan konten "Laporan Saya".
3. Di portal web, pilih folder Laporan Saya.
4. Pilih tampilan Detail untuk folder.
5. Pilih setiap laporan yang ingin Anda salin.
6. Pilih Pindahkan di toolbar portal web.
7. Pilih folder tujuan yang diinginkan.
8. Ulangi langkah 2-7 untuk setiap pengguna.
9. Jalankan skrip.
Riwayat Tidak Tidak
Pengaturan riwayat Ya Ya Pengaturan riwayat dimigrasikan namun detail riwayat TIDAK dimigrasikan.
Jadwal Ya Ya Untuk memigrasikan jadwal, SQL Server Agent harus berjalan di server target. Jika SQL Server Agent tidak berjalan pada target, Anda akan melihat pesan kesalahan yang mirip dengan yang ini:

Migrating schedules: 1 items found. Migrating schedule: theMondaySchedule ... FAILURE: The SQL Agent service isn't running. This operation requires the SQL Agent service. ---> Microsoft.ReportingServices.Diagnostics.Utilities.SchedulerNotResponding Exception: The SQL Agent service isn't running. This operation requires the SQL Agent service.
Peran dan kebijakan sistem Ya Ya Secara default skrip tidak menyalin skema izin kustom antar server. Perilaku default adalah item disalin ke server tujuan dengan bendera 'warisi izin induk' yang diatur ke TRUE. Jika Anda ingin skrip menyalin izin untuk item individual, gunakan sakelar KEAMANAN.

Jika server sumber dan target bukan mode server laporan yang sama, misalnya dari mode asli ke mode SharePoint, dan Anda menggunakan sakelar KEAMANAN, skrip mencoba memetakan peran dan grup default berdasarkan perbandingan dalam artikel Membandingkan peran dan tugas di Reporting Services ke grup dan izin SharePoint. Peran dan grup kustom tidak disalin ke server tujuan.

Saat skrip menyalin antar server yang merupakan mode yang sama, dan Anda menggunakan sakelar KEAMANAN, skrip membuat peran baru (mode asli) atau grup (mode SharePoint) di server tujuan.

Jika peran sudah ada di server tujuan, skrip membuat pesan "Kegagalan" yang mirip dengan yang berikut ini, dan melanjutkan migrasi item lain. Setelah skrip selesai, verifikasi bahwa peran di server tujuan dikonfigurasi untuk memenuhi kebutuhan Anda. peran Migrasi: Delapan item ditemukan.

Migrating role: Browser ... FAILURE: The role 'Browser' already exists and cannot be created. ---> Microsoft.ReportingServices.Diagnostics.Utilities.RoleAlreadyExistsException: The role 'Browser' already exists and cannot be created.

Untuk informasi selengkapnya, lihat Memberikan akses pengguna ke server laporan

Catatan: Jika pengguna yang ada di server sumber tidak ada di server tujuan, skrip tidak dapat menerapkan penetapan peran di server tujuan, skrip tidak dapat menerapkan penetapan peran, bahkan jika sakelar KEAMANAN digunakan.
Sumber data bersama Ya Ya Skrip tidak menimpa item yang ada di server target. Jika item di server target sudah ada dengan nama yang sama, Anda akan melihat pesan kesalahan yang mirip dengan yang satu ini:

Migrating DataSource: /Data Sources/Aworks2012_oltp ... FAILURE:The item '/Data Sources/Aworks2012_oltp' already exists. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemAlreadyExistsException: The item '/Data Source s/Aworks2012_oltp' already exists.

Kredensial TIDAK disalin sebagai bagian dari sumber data. Setelah item konten dimigrasikan, perbarui informasi kredensial di server tujuan.
Himpunan data bersama Ya Ya
Folder Ya Ya Skrip tidak menimpa item yang ada di server target. Jika item di server target sudah ada dengan nama yang sama, Anda akan melihat pesan kesalahan yang mirip dengan yang satu ini:

Migrating Folder: /Reports ... FAILURE: The item '/Reports' already exists. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemAlreadyExistsException: The item '/Reports' already exists.
Laporan Ya Ya Skrip tidak menimpa item yang ada di server target. Jika item di server target sudah ada dengan nama yang sama, Anda akan melihat pesan kesalahan yang mirip dengan yang satu ini:

Migrating Report: /Reports/testThe item '/Reports/test' already exists. ---> Microsoft.ReportingServices.Diagnostics.Utilities.ItemAlreadyExistsException: The item '/Reports/test' already exists.
Laporan Power BI Tidak Tidak Hanya tersedia dengan Server Laporan Power BI

Perintah PowerShell di Reporting Services, seperti Out-RsRestFolderContent dan Write-RsRestFolderContent, dapat digunakan sebagai alternatif.
Parameter Ya Ya
Langganan Ya Ya
Pengaturan Riwayat Ya Ya Pengaturan riwayat dimigrasikan namun detail riwayat TIDAK dimigrasikan.
Opsi pemrosesan Ya Ya
Opsi refresh cache Ya Ya Pengaturan dependen dimigrasikan sebagai bagian dari item katalog. Output berikut adalah sampel dari skrip saat memigrasikan laporan (.rdl) dan pengaturan terkait seperti opsi refresh cache:

- Migrasi parameter untuk laporan TitleOnly.rdl 0 item ditemukan.
- Migrasi langganan untuk laporan TitleOnly.rdl: 1 item ditemukan.
- Memigrasikan langganan Simpan di \\server\public\savedreports sebagai TitleOnly ... SUKSES
- Migrasi pengaturan riwayat untuk laporan TitleOnly.rdl ... SUKSES
- Memigrasikan opsi pemrosesan untuk laporan TitleOnly.rdl ... 0 item ditemukan.
- Memigrasikan opsi refresh cache untuk laporan TitleOnly.rdl ... SUKSES
- Memigrasikan rencana refresh cache untuk laporan TitleOnly.rdl: 1 item ditemukan.
- Memigrasikan rencana refresh cache titleonly_refresh735amM2F ... SUKSES
Rencana refresh cache Ya Ya
Gambar Ya Ya
Bagian laporan Ya Ya
KPI Tidak Tidak Perintah PowerShell untuk Reporting Services, seperti Out-RsRestFolderContent dan Write-RsRestFolderContent, dapat digunakan sebagai alternatif.
Laporan Seluler Tidak Tidak Perintah PowerShell untuk Reporting Services, seperti Out-RsRestFolderContent dan Write-RsRestFolderContent, dapat digunakan sebagai alternatif.
Buku Kerja Excel Tidak Tidak Hanya tersedia dengan Server Laporan Power BI

Gunakan perintah PowerShell untuk Reporting Services, seperti Out-RsRestFolderContent dan Write-RsRestFolderContent, dapat digunakan sebagai alternatif.

Catatan

Bagian laporan tidak digunakan lagi untuk semua rilis SQL Server Reporting Services yang dimulai dengan SQL Server Reporting Services 2019 dan semua rilis Server Laporan Power BI yang dimulai dengan Server Laporan Power BI September 2022.

Catatan

Penerbit Laporan Seluler SQL Server tidak digunakan lagi untuk semua rilis SQL Server Reporting Services setelah SQL Server Reporting Services 2019. Ini dihentikan mulai dari SQL Server Reporting Services 2022 dan Power BI Report Server.

Izin yang diperlukan

Izin yang diperlukan untuk membaca atau menulis item dan sumber daya tidak sama untuk semua metode yang digunakan dalam skrip. Tabel berikut ini meringkas metode yang digunakan untuk setiap item atau sumber daya dan tautan ke konten terkait. Navigasi ke artikel individual untuk melihat izin yang diperlukan. Misalnya, artikel metode ListChildren mencatat izin yang diperlukan dari:

  • Izin Diperlukan Mode Asli: ReadProperties pada Item

  • Izin Yang Diperlukan Mode SharePoint: ViewListItems

Item atau Sumber Daya Sumber Target
Item katalog ListChildren

GetProperties

GetItemDataSources

GetItemReferences

GetDataSourceContents

GetItemLink
CreateCatalogItem

SetItemDataSources

GetItemReferences

CreateDataSource

CreateLinkedItem

CreateFolder
Peran ListRoles

GetRoleProperties
CreateRole
Kebijakan Sistem GetSystemPolicies SetSystemPolicies
Jadwal ListSchedules CreateSchedule
Langganan ListSubscriptions

GetSubscriptionProperties

GetDataDrivenSubscriptionProperties
CreateSubscription

CreateDataDrivenSubscription
Rencana refresh cache ListCacheRefreshPlans

GetCacheRefreshPlanProperties
CreateCacheRefreshPlan
Parameter GetItemParameters SetItemParameters
Opsi eksekusi GetExecutionOptions SetExecutionOptions
Opsi cache GetCacheOptions SetCacheOptions
Pengaturan riwayat GetItemHistoryOptions SetItemHistoryOptions
Kebijakan Item GetPolicies SetPolicies

Untuk informasi selengkapnya, lihat Membandingkan peran dan tugas di Reporting Services dengan grup dan izin SharePoint.

Cara menggunakan skrip

  1. Unduh file skrip ke folder lokal, misalnya c:\rss\ssrs_migration.rss.

  2. Buka prompt perintah dengan hak administratif.

  3. Navigasi ke folder yang berisi file ssrs_migration.rss.

  4. Jalankan perintah dengan parameter yang sesuai untuk skenario Anda.

Contoh Dasar, server laporan mode asli ke server laporan mode asli:

Contoh berikut memigrasikan konten dari Sourceserver mode asli ke mode asli Targetserver.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s https://SourceServer/ReportServer -u Domain\User -p password -v ts="https://TargetServer/reportserver" -v tu="Domain\Userser" -v tp="password"

Catatan penggunaan:

  • Skrip berjalan dalam dua langkah.

    Langkah pertama adalah audit, untuk mengembalikan daftar item yang dimigrasikan dan langkah kedua adalah proses migrasi.

    Anda dapat membatalkan skrip setelah langkah 1 jika Anda hanya ingin melihat daftar migrasi yang mungkin atau Anda ingin mengubah parameter. Pengaturan dependen tidak tercantum di langkah 1. Misalnya, opsi cache laporan tidak tercantum tetapi laporan itu sendiri.

    Tip

    Jika Anda hanya ingin mengaudit satu server, gunakan server yang sama untuk sumber dan tujuan dan batalkan setelah langkah 1.

    Penggunaan yang baik dari informasi audit langkah 1 adalah meninjau peran yang ada di server mode Asli sumber dan target. Contoh berikut menunjukkan daftar audit langkah 1. Perhatikan bahwa daftar menyertakan bagian "peran" karena switch-v security="True" digunakan:

    • Retrieve and report the list of items that will be migrated. You can cancel the script after step 1 if you do not want to start the actual migration.

      Retrieving roles:

      Role: Browser

      Role: Content Manager

      Role: Model Item Browser

      Retrieve and report the list of items that will be migrated. You can cancel the script after step 1 if you do not want to start the actual migration.

      Retrieving roles:

      Role: Browser

      Role: Content Manager

      Role: CustomRole

      Role: Model Item Browser

      Role: My Reports

      Role: Publisher

      Role: Report Builder

      Role: System Administrator

      Role: System User

      Retrieving system policies:

      Retrieving system policies:

      System policy: BUILTIN\Administrators

      System policy: domain\user1

      System policy: domain\ueser2

      Retrieving schedules:

      Schedule: theMondaySchedule

      Retrieving catalog items. This may take a while.

      Folder: /Data Sources

      DataSource: /Data Sources/Aworks2012_oltp

      Folder: /images

      Resource: /images/Boba Fett.png

      Resource: /images/R2-D2.png

      Folder: /Reports

      Report: /Reports/products

      Report: /Reports/test

      Report: /Reports/TitleOnly

  • SOURCE_URL dan TARGET_URL harus berupa URL server laporan yang valid yang menunjuk ke server laporan Reporting Services sumber dan target. Dalam mode asli, URL server laporan terlihat seperti URL ini:

    • https://servername/reportserver

    Dalam mode SharePoint, URL terlihat seperti URL ini:

    • https://servername/_vti_bin/reportserver
  • Struktur folder virtual yang disajikan kepada pengguna di SharePoint mungkin berbeda dari yang mendasar. Buka https://servername/_vti_bin/reportserver atau https://servername/sites/site_name/_vti_bin/reportserver di browser untuk melihat struktur folder nonvirtual. Struktur ini berguna untuk mengatur folder sumber dan folder target ke sesuatu selain /, untuk server dalam mode SharePoint.

  • Kata sandi tidak dimigrasikan, dan harus dimasukkan kembali, misalnya sumber data dengan kredensial yang disimpan.

Deskripsi parameter

Parameter Deskripsi Wajib diisi
-s Source_URL URL server laporan sumber Ya
-u Domain\password -p password Kredensial untuk server sumber. OPSIONAL, kredensial default digunakan jika hilang
-v st="SITE" OPSIONAL. Parameter ini hanya digunakan untuk server laporan mode SharePoint.
- v f="SOURCEFOLDER" Atur ke "/" untuk memigrasikan semuanya, atau ke sesuatu seperti "/folder/subfolder" untuk migrasi parsial. Semua yang ada di dalam folder ini disalin OPSIONAL, defaultnya adalah /.
-v ts="TARGET_URL" 'URL server RS target"
-v tu="domain\username" -v tp="password" 'Kredensial untuk server target. OPSIONAL, kredensial default digunakan jika hilang. Catatan: pengguna terdaftar sebagai "pembuat" jadwal bersama dan akun "dimodifikasi oleh" untuk item laporan, di server target.
-v tst="SITE" OPSIONAL. Parameter ini hanya digunakan untuk server laporan mode SharePoint.
-v tf ="TARGETFOLDER" 'Atur ke / untuk migrasi ke tingkat akar. Atur ke "/folder/subfolder" untuk menyalin ke folder yang sudah ada. Segala sesuatu dalam "SOURCEFOLDER" disalin ke dalam "TARGETFOLDER. OPSIONAL, defaultnya adalah /.
-v security= "True/False" Jika diatur ke False, item katalog tujuan mewarisi pengaturan keamanan sesuai dengan pengaturan sistem target. Pengaturan ini direkomendasikan untuk migrasi antara jenis server laporan yang berbeda, misalnya mode asli ke mode SharePoint. Jika diatur ke True, skrip mencoba memigrasikan pengaturan keamanan. OPSIONAL, defaultnya adalah False.

Contoh lainnya

Server laporan mode asli ke server laporan mode asli

Contoh berikut memigrasikan konten dari Sourceserver mode asli ke mode asli Targetserver.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s https://SourceServer/ReportServer -u Domain\User -p password -v ts="https://TargetServer/reportserver" -v tu="Domain\Userser" -v tp="password"  

Contoh berikut menambahkan sakelar keamanan:

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s https://SourceServer/ReportServer -u Domain\User -p password -v ts="https://TargetServer/reportserver" -v tu="Domain\Userser" -v tp="password" -v security="True"  

Mode asli ke mode SharePoint - situs akar

Contoh berikut memigrasikan konten dari SourceServer mode asli ke "situs akar" pada server mode SharePoint TargetServer. Folder "Laporan" dan "Sumber Data" di server mode asli dimigrasikan sebagai pustaka baru pada penyebaran SharePoint.

Screenshoh yang memperlihatkan opsi menu Sumber Data dan Laporan yang disorot.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s https://SourceServer/ReportServer -u Domain\User -p Password -v ts="https://TargetServer/_vti_bin/ReportServer" -v tu="Domain\User" -v tp="Password"  

Mode asli ke mode SharePoint -'bi' kumpulan situs

Contoh berikut memigrasikan konten dari server mode asli ke server SharePoint yang berisi kumpulan situs "situs/bi" dan pustaka dokumen bersama. Skrip membuat folder dalam dokumen pustaka tujuan. Misalnya, skrip membuat folder "Laporan" dan folder "Sumber Data" di pustaka dokumen target.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s https://SourceServer/ReportServer -u Domain\User -p Password -v ts="https://TargetServer/sites/bi/_vti_bin/reportserver" -v tst="sites/bi" -v tf="Shared Documents" -v tu="Domain\User" -v tp="Password"  

Mode SharePoint ke Mode SharePoint -'bi' kumpulan situs

Contoh berikut memigrasikan konten:

  • Dari Server Server SharePointServer yang berisi kumpulan situs "situs/bi" dan pustaka dokumen bersama.

  • Ke server TargetServer SharePoint yang berisi kumpulan situs "situs/bi" dan pustaka dokumen bersama.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s https://SourceServer/_vti_bin/reportserver -v st="sites/bi" -v f="Shared Documents" -u Domain\User1 -p Password -v ts="https://TargetServer/sites/bi/_vti_bin/reportserver" -v tst="sites/bi" -v tf="Shared Documents" -v tu="Domain\User" -v tp="Password"  

Mode asli ke mode asli - Komputer virtual Azure

Contoh berikut memigrasikan konten dari server laporan Mode asli SourceServer ke server laporan mode Asli TargetServer yang berjalan di komputer virtual Azure. TargetServer tidak bergabung ke domain SourceServer dan User2 adalah administrator di TargetServer komputer virtual Azure.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s https://SourceServer/ReportServer -u Domain\user1 -p Password -v ts="https://ssrsnativeazure.cloudapp.net/ReportServer" -v tu="user2" -v tp="Password2"  

Tip

Untuk informasi tentang cara menggunakan Windows PowerShell untuk membuat server laporan Reporting Services di komputer virtual Azure, lihat Menggunakan PowerShell untuk membuat Azure VM dengan server laporan mode asli.

Mode SharePoint -'bi' kumpulan situs ke server mode asli pada komputer virtual Azure.

Contoh berikut memigrasikan konten dari server laporan mode SharePoint SourceServer yang berisi kumpulan situs "situs/bi" dan pustaka dokumen bersama ke server laporan mode Asli TargetServer yang berjalan di komputer virtual Azure. TargetServer tidak bergabung ke domain SourceServer dan User2 adalah administrator di TargetServer komputer virtual Azure.

rs.exe -i ssrs_migration.rss -e Mgmt2010 -s https://uetesta02/_vti_bin/reportserver -u user1 -p Password -v ts="https://ssrsnativeazure.cloudapp.net/ReportServer" -v tu="user2" -v tp="Passowrd2"  

Verifikasi

Bagian ini meringkas beberapa langkah yang harus diambil di server tujuan untuk memverifikasi konten dan kebijakan berhasil dimigrasikan.

Jadwal

Untuk memverifikasi jadwal pada server target:

Mode Asli

  1. Buka portal web di server tujuan.

  2. Pilih Pengaturan Situs di menu atas.

  3. Pilih Jadwal di panel kiri.

Mode SharePoint:

  1. Telusuri pengaturan Situs.

  2. Di grup Layanan Pelaporan, pilih Kelola Jadwal Bersama.

Peran dan grup

Mode Asli

  1. Buka SQL Server Management Studio dan sambungkan ke server laporan mode asli Anda.

  2. Di Object Explorer pilih Keamanan.

  3. Pilih Peran.

Pemecahan Masalah

Gunakan bendera pelacakan -t untuk menerima informasi lebih lanjut. Misalnya, jika Anda menjalankan skrip dan melihat pesan yang mirip dengan yang berikut ini

  • Tidak dapat tersambung ke server: https://\<servername>/ReportServer/ReportService2010.asmx

Jalankan skrip lagi dengan bendera -t , untuk melihat pesan yang mirip dengan yang satu ini:

  • System.Exception: Couldn't connect to server: https://\<servername>/ReportServer/ReportService2010.asmx ---> System.Net.WebException: **The request failed with HTTP status 401: Unauthorized**. at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall) at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) at Microsoft.SqlServer.ReportingServices2010.ReportingService2010.IsSSLRequired() at Microsoft.ReportingServices.ScriptHost.Management2010Endpoint.PingService(String url, String userName, String password, String domain, Int32 timeout) at Microsoft.ReportingServices.ScriptHost.ScriptHost.DetermineServerUrlSecurity() --- End of inner exception stack trace ---

utilitas RS.exe (SSRS)
Membandingkan peran dan tugas di Reporting Services dengan grup dan izin SharePoint