從 SSRS 2012 遷移到 SSRS 2017
我們公司正在從 SSRS 2012 遷移到 SSRS 2017。我想知道是否有人做過類似的遷移。如果是的話,你能指導我完成這些步驟嗎?
從我讀到的關於遷移的內容來看,這似乎是一個非常累人的過程,因為我必須從 2012 年的伺服器下載每個報告並將其上傳到 2017 年的伺服器。或使用 PowerShell 腳本自動執行相同的操作。
如果有人知道更好的方法,我會全力以赴。
謝謝
這是我用來遷移到新報表伺服器的過程。這是假設您尚未使用原始碼管理並且您的報表沒有 Visual Studio 解決方案。如果你這樣做,請跳到#4。如果您擁有數據庫權限,則可以使用 Microsoft 指南移動報表伺服器數據庫。
1.備份部署的報告
- 遠端到目前報表伺服器。
%systemroot%/system32/mstsc.exe
- 然後將以下過程保存為 .rss 文件,並將參數
parentFolder=""
作為零字元串執行,以保存包含所有報告的整個文件夾結構。命令行:
rs -s http://localhost/reportserver -i D:\Scripts\Backup_Reports.rss -e Mgmt2010 -v backupFolder="D:\Scripts\BackupReports" -v parentFolder=""
報告備份程序:
Public Sub Main() '-------------------------------------------------------------------------------------------------------------------- ' Purpose: Script to backup reports from a folder on ReportServer ' Save file as .rss extension and run using rs.exe from command line. ' Reference: http://bhushan.extreme-advice.com/back-up-of-ssrs-reports-using-rs-utility/ ' https://docs.microsoft.com/en-us/sql/reporting-services/tools/rs-exe-utility-ssrs?view=sql-server-2017 ' Example: rs -s http://localhost/reportserver -i D:\Scripts\Backup_Reports.rss -e Mgmt2010 -v backupFolder="D:\Scripts\BackupReports" -v parentFolder="/IndividualReportFolderNameHere" ' rs -s http://localhost/reportserver -i D:\Scripts\Backup_Reports.rss -e Mgmt2010 -v backupFolder="D:\Scripts\BackupReports" -v parentFolder="" '-------------------------------------------------------------------------------------------------------------------- Try rs.Credentials = System.Net.CredentialCache.DefaultCredentials Dim items As CatalogItem() = Nothing If String.IsNullOrEmpty(parentFolder) Then items = rs.ListChildren("/", True) Else items = rs.ListChildren(parentFolder, False) End If Console.WriteLine() Console.WriteLine("...Reports Back Up Started...") For Each item As CatalogItem In items If item.TypeName = "Report" Then Console.WriteLine(item.Path) Dim reportPath As String = item.Path parentFolder = Path.GetDirectoryName(item.Path) ' comment out this line to save the reports in one folder Dim reportDefinition As Byte() = rs.GetItemDefinition(item.Path) Dim rdlReport As New System.Xml.XmlDocument Dim Stream As New MemoryStream(reportDefinition) Dim backupPath As String = Path.Combine(backupFolder, Date.Now().ToString("yyyy.MM.dd") + "\" + parentFolder) If (Not System.IO.Directory.Exists(backupPath)) Then System.IO.Directory.CreateDirectory(backupPath) End If rdlReport.Load(Stream) rdlReport.Save(Path.Combine(backupPath, item.Name + ".rdl")) Console.WriteLine(item.Name + ".rdl") End If Next Console.WriteLine("...Reports Back Up Completed...") Console.WriteLine() Catch e As Exception Console.WriteLine(e.Message) End Try End Sub
- 創建 Visual Studio 解決方案
- 在一個解決方案下為每個報表文件夾創建一個報表項目。
- 從備份 .rdl 文件添加報告
- 添加共享數據源
- 添加共享數據集
- 使用 Microsoft Azure DevOps Services 的原始碼控制
- 5人或更少的團隊免費
- 您可以在 url 中為您的組織選擇一個站點名稱。例如https://yourcompany.visualstudio.com
- 網址:https ://azure.microsoft.com/en-au/services/devops/
4.設置部署配置
使用配置管理器為每個報表項目設置目標部署設置。
報告項目配置
配置管理器
- 建構解決方案
- 我只將此選項用於初始建構。之後,您可以通過右鍵點擊它們並選擇來部署單個報告
Deploy
。
我也在進行類似的 SSRS 遷移(
2008SSRS:2016SSRS
)。是的,報告需要從一台伺服器下載並移動到另一台伺服器。此外,您可能需要遷移其他 SSRS 內容——共享數據源、共享數據集、報告訂閱。以下是一些執行良好的工具和流程。工具:
**
ReportSync
**是一個免費下載和使用的開源程序。它非常適合批量下載報告,甚至可以將報告從一台伺服器推送到另一台伺服器。
- 我從 Github( http://github.com/phires/reportsync )下載了原始碼文件,執行 VS,打開解決方案文件(.SLN),編譯程序,從“C”中找到執行檔(.EXE) :\Temp\reportsync-master\bin\Release’ 文件夾,並將 .EXE 保存在某處供我定期使用
- 這個導出功能非常棒,可以簡單地將所有 RDL 文件轉儲到一個文件夾中,以便我訪問並添加到 VS 解決方案項目中
**
RS Utility
withssrs_migration.rss
**腳本文件類似於 ReportSync 程序,不同之處在於它是通過命令行執行並由 Microsoft 發布的。根據我的經驗,此實用程序將遷移比 ReportSync 更多的報告內容,但我認為它使用起來並不簡單,而且您不能輕易挑選要移動的內容(它將源中的所有內容移動到目標)。了解更多資訊:例如,以下命令將所有數據源從源伺服器移動到目標伺服器…
rs.exe -i ssrs_migration.rss -e Mgmt2010 -s http://gcod049/ReportServer -v ts=http://gcop046/reportserver -v f=”/Data Sources/03-PROD” -v tf=”/Data Sources”
**
Visual Studio 2015 with SSDT addin
**是我將文件儲存和部署到報告文件 DEV SSRS 伺服器(.RDL-報告定義、.RSD-共享數據集、.RDS-共享數據源、rptproj-報告項目)的首選環境。
- 我為伺服器上的每個目標文件夾(約 20 個 ssrs 文件夾和 vs 項目)都有一個報告項目文件。您使用適當的部署資訊(、、、
server url
等ssrs version
)target folder
配置SSRS 項目
Version Control
將幫助您更靈活地處理報告更改請求。這將允許您更改報告欄位 (.RDL) 并快速恢復或比較更改。
- 我使用**
Visual Studio 2015
連接ANKHSVN for Visual Studio
到SVN server repository
**過程:
- 我還分析了報表執行歷史,以確定不再使用的報表。我將 DEV SSRS 伺服器的這些報告停用到一個文件夾,其效果如下:
\Decomissioned\SSRS 2008 Migration\
還可以查看我的一些 SO 文章,其中記錄了我的一些 SSRS 問題/答案。
9 個回答
+---------+--------------------------------------------------------------------+-------------------+ | Votes | SO Posted Answers | Posted | +---------+--------------------------------------------------------------------+-------------------+ | 0 | Visual Studio SSRS RDL Files creating a new file (backup) when | Sep 28 at 19:28 | | | opened | | +---------+--------------------------------------------------------------------+-------------------+ | 0 | is there a way to query future SSRS subscription schedules? | Sep 20 at 16:14 | +---------+--------------------------------------------------------------------+-------------------+ | 0 | There is an error in XML document (2, 2): Visual Studio, SSRS | Aug 10 at 14:50 | | | Project file errors (VS2015-VS2017) | | +---------+--------------------------------------------------------------------+-------------------+ | 0 | AnkhSvn undo/revert a commit | Aug 8 at 17:04 | +---------+--------------------------------------------------------------------+-------------------+ | 3 | SSRS file error message: The number of defined parameters is not | Jul 23 at 20:05 | | | equal to the number of cell definitions in the parameter panel | | +---------+--------------------------------------------------------------------+-------------------+ | 0 | How do I move subreports into their own folder? | Jul 20 at 19:55 | +---------+--------------------------------------------------------------------+-------------------+ | 1 | SSRS Permissions | Jul 9 at 17:43 | +---------+--------------------------------------------------------------------+-------------------+ | 1 | SSRS 2008 Report Snapshot Timestamp | Jul 2 at 19:36 | +---------+--------------------------------------------------------------------+-------------------+ | 2 | Add ssrs report description | Jun 26 at 16:11 | +---------+--------------------------------------------------------------------+-------------------+
其他收藏的文章
如果我不是報告的所有者,如何將 SSRS 報告複製到新伺服器(由 nunespascal 提供的 ReportSync 回答)
ssrs_migration.rss 文件(RS Utility 腳本文件下載)
SSRS 遷移 Sharepoint 集成到獨立(RS 實用程序腳本文件語法)
如何在不還原報表伺服器的情況下將 SSRS 數據源從一台伺服器遷移或複製到另一台伺服器(RS 實用程序腳本文件下載)