我必须将770个SSRS报告(包括纯模式和共享点模式报告)从2008 R2版本迁移到SSRS 2016版本。哪种SSRS迁移最佳工具? 我见过很少的工具,例如Microsoft Reporting Services迁移,RS脚本等。请帮忙。
答案 0 :(得分:3)
我也处于类似的SSRS迁移(2008SSRS:2016SSRS
)中。您可能需要迁移内容,例如:报告,共享数据源,共享数据集,报告订阅。以下是一些使用非常成功的工具和流程。我已经提供了YouTube视频,StackOverflow帖子和Microsoft页面的相关链接。
工具:
ReportSync
是一个免费下载和使用的开源程序。它非常适合批量下载报告,甚至可以将报告从一台服务器推送到另一台服务器。
从Github: Phires/ReportSynch下载源代码文件,运行VS,打开解决方案文件(.SLN),编译程序,然后从 C:查找可执行文件(.EXE):\ Temp \ reportsync-master \ bin \ Release 文件夹。最后,将.EXE保存在某个位置,以便您定期使用
Export
功能非常出色,可以简单地将所有RDL文件转储到一个文件夹中,以供我访问并添加到VS解决方案项目中。有了770个报告,您将不胜感激“导出”选项。
How do I copy SSRS reports to a new server if I am not the owner of the reports-> nunespascal的ReportSync答案
RS Utility
和 ssrs_migration.rss
脚本文件与ReportSync程序相似,不同之处在于它通过命令行运行并由Microsoft发布。以我的经验,该实用程序将比ReportSync程序迁移更多的SSRS内容,但是我发现它不易使用。例如:您不能轻松选择要移动的内容(它将源文件夹中的所有内容移动到目标文件夹)。有关更多信息:
Microsoft Docs article: RS Utility Script To Copy Content Between Report Servers
Stackoverflow链接-> ssrs_migration.rss file(RS Utility脚本文件下载),SSRS Migration Sharepoint Integrated to Standalone(RS Utility脚本文件语法),how to migrate or copy SSRS datasource from one server to another without restoring the report server(RS Utility脚本文件下载)< / p>
作为示例,以下命令将所有数据源从“源”移动到“目标”服务器...
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-报告项目)。
server url
,ssrs version
,target folder
等)来配置SSRS项目 Version Control
将帮助您更加灵活地处理报告更改请求。这将使您可以更改报告字段(.RDL),并快速还原或比较更改。
我使用 Visual Studio 2015
,将 ANKHSVN for Visual Studio
连接到 SVN server repository
我听说SO社区中的其他人推荐Microsoft Azure DevOps Services
过程:
\Decomissioned\SSRS 2008 Migration\
链接:
Youtube: SSW migrates SSRS reports from SQL Server 2008 R2 to 2016->该视频引用了一个看起来很有趣的工具,但我尚未尝试过... SSW: SQL Reporting Services Auditor
我在此帖子上回答了类似的问题-Migration from SSRS 2012 to SSRS 2017。
答案 1 :(得分:0)
如果您喜欢Powershell,ReportingServicesTools Powershell模块也可以提供帮助。
但是我没有用它将从SSRS 2008R2服务器提取的数据源推送到新的SSRS 2016服务器的运气(例如,使用Write-RsFolderContent cmdlet),可能是由于其中大多数数据源都在密码中它们,以及两个没有公用加密密钥的服务器(例如,未提取来自SSRS 2008R2服务器的密钥,然后将其应用于SSRS 2016服务器)。那只是个SWAG。
不过,Write-RsFolderContent将充满报告.RDL文件的目录向上推。
MS已经很好地记录了“将旧数据库还原到新的SSRS服务器中”的情况。请注意,这是1:1迁移。
如果新服务器上的AD用户/角色与旧服务器上的AD用户/角色不同,则可能希望先在旧SSRS实例中进行设置(哎呀)。这样可以节省一些时间和WTF ???如果不是这样,ReportingServicesTools中的cmdlet也可以使您摆脱困境,因为它直接在数据库中纠缠不清。
有关所有详细信息,请参考MS页面,尤其是在进行SharePoint模式迁移时)。这只是最近的内存中用于执行“本机”安装/迁移方案的摘要:
请注意,存储的报表RDL不会升级到新的SSRS 2016命名空间,但是它们仍应在SSRS 2016中以兼容模式运行。
除了在VS 2015/2017中使用SSDT之外,是否有很好的批量方法将RDL升级到新的命名空间? 如果没有,那么请使用VS 2015/2017锤...
从VS2015 / 2017 SSDT项目中,项目顶级文件夹中的RDL将转换为SSRS 2016 RDL文件。
部署报告后,将生成/ bin / [Debug | Debug Local | Release]文件夹中的RDL。
答案 2 :(得分:0)
您不需要迁移工具-步骤相当容易手动执行
迁移过程:
1)从SSRS配置管理器中导出加密密钥
2)退出ReportServer和ReportServerTempDB数据库
3)将这些文件复制到新环境中
4)在新节点上安装SQL Server和SSRS
5)将两个报表数据库都还原到新节点上
6)启动附加到“现有”,新创建的数据库的新SSRS服务
7)将旧的加密密钥导入新的SSRS Config Manager
8)手动编辑ReportServer.dbo.Keys表,删除带有旧节点的记录 -消除了“功能:此版本的Reporting Services不支持“横向扩展部署”。(rsOperationNotSupported)”-错误。我认为您也可以使用“横向扩展部署”菜单项从Config Manager GUI中将其删除。
9)强制从配置管理器为ReportManager和Reports URL创建默认的Web服务
然后,您将迁移一个完整的节点。根据您的SQL Server版本,您可能还需要单独安装最新的报表管理器。
最近迁移2008年>> 2017年,事不宜迟。
希望这会有所帮助。