从SSRS 2008 R2到SSRS 2016的迁移

时间:2018-07-20 09:51:13

标签: reporting-services ssrs-2008-r2 ssrs-2016

我必须将770个SSRS报告(包括纯模式和共享点模式报告)从2008 R2版本迁移到SSRS 2016版本。哪种SSRS迁移最佳工具? 我见过很少的工具,例如Microsoft Reporting Services迁移,RS脚本等。请帮忙。

3 个答案:

答案 0 :(得分:3)

我也处于类似的SSRS迁移(2008SSRS:2016SSRS)中。您可能需要迁移内容,例如:报告,共享数据源,共享数据集,报告订阅。以下是一些使用非常成功的工具和流程。我已经提供了YouTube视频,StackOverflow帖子和Microsoft页面的相关链接。

工具:

作为示例,以下命令将所有数据源从“源”移动到“目标”服务器...

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 urlssrs versiontarget folder等)来配置SSRS项目
  • Version Control 将帮助您更加灵活地处理报告更改请求。这将使您可以更改报告字段(.RDL),并快速还原或比较更改。

    • 我使用 Visual Studio 2015 ,将 ANKHSVN for Visual Studio 连接到 SVN server repository

    • 我听说SO社区中的其他人推荐Microsoft Azure DevOps Services

过程:

  • 我还分析了报告执行历史,以识别不再使用的报告。我已将DEV SSRS服务器的这些报告取消使用到一个名为“ \Decomissioned\SSRS 2008 Migration\
  • ”的文件夹中

链接:

答案 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模式迁移时)。这只是最近的内存中用于执行“本机”安装/迁移方案的摘要:

  • 备份SSRS 2008R2加密密钥
  • 执行“仅文件” SSRS 2016安装
  • 将SSRS 2008R2数据库(ReportServer,ReportServerTempDB)恢复到预期的SQL Server 2016服务器
  • 在SSRS 2016报告服务管理器应用程序中,将SSRS指向新还原的ReportServer数据库
  • 此外,将SSRS 208R2加密密钥文件导入新的SSRS 2016

请注意,存储的报表RDL不会升级到新的SSRS 2016命名空间,但是它们仍应在SSRS 2016中以兼容模式运行。

除了在VS 2015/2017中使用SSDT之外,是否有很好的批量方法将RDL升级到新的命名空间? 如果没有,那么请使用VS 2015/2017锤...

  • prereq:针对VS2015或VS2017的最新SSDT
  • 创建一个新的SSRS项目,每个SSRS文件夹(对于SSRS 2008R2文件夹或SSRS 2016上的新目标文件夹)一个项目
  • 将报告所需的所有数据源添加到项目中(首先需要构建RDL才需要)到项目中
  • 将要部署的所有旧RDL添加到项目的目标文件夹中
  • 配置项目构建属性以指向目标SSRS服务器,右报告文件夹等。
  • 构建项目,然后部署项目(或单个报告)

从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年,事不宜迟。

希望这会有所帮助。