我必须将2008 R2版本的770 SSRS报告(包括本机模式和共享点模式报告)迁移到SSRS 2016版本。哪个SSRS迁移的最佳工具?我见过很少的工具,如Microsoft Reporting Services Migration,RS script等。在这种情况下,哪一种最好?请帮忙。
我也在进行类似的SSRS迁移(2008SSRS:2016SSRS
)。您可能需要迁移内容,例如:报告,共享数据源,共享数据集,报告订阅。以下是一些使用得非常好的工具和流程。我已经为Youtube视频,StackOverflow帖子和Microsoft页面添加了相关链接。
工具:
ReportSync
是一个免费下载和使用的开源程序。它非常适合批量下载报表,甚至可以将报表从一台服务器推送到另一台服务器。
从Github: Phires/ReportSynch下载源代码文件,运行VS,打开解决方案文件(.SLN),编译程序,从C:\ Temp \ reportsync-master \ bin \ Release文件夹中找到可执行文件(.EXE)。最后,将.EXE保存在某个地方供您定期使用
Export
功能非常出色,可以将所有RDL文件转储到一个文件夹,供我访问并添加到VS解决方案项目中。有了770个报告,您将非常欣赏“导出”选项。
How do I copy SSRS reports to a new server if I am not the owner of the reports - > ReportSync由nunespascal回答RS Utility
与ssrs_migration.rss
脚本文件类似于ReportSync程序,除了它通过命令行运行并由Microsoft发布。根据我的经验,该实用程序将迁移比ReportSync程序更多的SSRS内容,但我发现它并不简单易用;例如:您无法轻松挑选要移动的内容(它会将源文件夹中的所有内容移动到目标文件夹)。欲获得更多信息:
Microsoft Docs article: RS Utility Script To Copy Content Between Report Servers
Youtube: Automating SSRS Report Deployment
Stackoverflow链接 - > ssrs_migration.rss file(RS实用程序脚本文件下载),SSRS Migration Sharepoint Integrated to Standalone(RS实用程序脚本文件语法),how to migrate or copy SSRS datasource from one server to another without restoring the report server(RS实用程序脚本文件下载)例如,以下命令将所有数据源从Source移动到Target服务器......
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
我听说SO社区的其他人推荐Microsoft Azure DevOps Services处理:
\Decomissioned\SSRS 2008 Migration\
链接:
如果您使用Powershell,ReportingServicesTools Powershell模块也可以提供帮助。
但是我没有运气使用它将从SSRS 2008R2服务器拉出的数据源推送到新的SSRS 2016服务器(例如,使用Write-RsFolderContent cmdlet),可能是因为大多数数据源中都有密码,并且两个服务器没有公共加密密钥(例如,SSRS 2008R2服务器中的密钥未被提取,然后应用于SSRS 2016服务器)。那只是一个SWAG。
Write-RsFolderContent推送一个充满报告.RDL文件的目录。
MS已将其“将旧数据库恢复到新的SSRS服务器”方案记录得很好。请注意,这是1:1迁移。
如果新服务器上的AD用户/角色与旧服务器不同,则可能需要先在旧SSRS实例中设置它们(如果可以)(oops)。它会节省一些时间和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。
您不需要迁移工具 - 手动执行步骤相当容易
迁移程序:
1)从SSRS配置管理器导出加密密钥
2)Backout ReportServer和ReportServerTempDB数据库
3)将这些文件复制到新环境中
4)在新节点上安装SQL Server和SSRS
5)将两个报告数据库还原到新节点
6)启动附加到“现有”新创建的数据库的新SSRS服务
7)将旧加密密钥导入新的SSRS配置管理器
8)手动编辑ReportServer.dbo.Keys表,删除旧节点的记录 - 在此版本的Reporting Services中不支持“功能:”横向扩展部署“。(rsOperationNotSupported)” - 错误。我认为您也可以使用“横向扩展部署”菜单项将其从Config Manager GUI中删除。
9)从Config Manager强制为ReportManager和Reports URL创建默认Web服务
然后,您将迁移完整节点。您可能还需要单独安装最新的Report Manager,具体取决于您的SQL Server版本。
最近迁移到2008年>> 2017年,没有太多的麻烦。
希望这可以帮助。