sqlserver &reporting service升级2012->2017
1. 原因:需要copy报表项目,但本服务器A 使用的是sqlserve2012,reporting service不支持新版的报表;
报错:报表服务器数据库的版本格式无效,或无法读取。找到的版本为“2017”,而所需的版本为“162”。 (rsInvalidReportServerDatabase)
2. ServerA系统:Windows Server2012 R2, sqlserver版本: en 2012 和 reporting service一体的
3. 升级过程:
1) 安装sqlserver2017版本
注意:必须也是EN, 否则会报错
选择从早期版本升级,期间还提示需要安装sqlserver2012 SP2,所以最好提前下载安装好
下载SP2时,需要先确认版本 和语言。注意版本指的是sqlserver引擎的版本;
以下表示sqlserver引擎为32位,实例安装语言为简体中文。对应的SP2安装包则为 x86 CHN
1 select @@VERSION
2 3
4 Microsoft SQL Server 2012 (SP1) - 11.0.3000.0 (Intel X86)
5 Oct 19 2012 13:43:21
6 Copyright (c) Microsoft Corporation
7 Standard Edition on Windows NT 6.2 <X64> (Build 9200: ) (WOW64) (Hypervisor)
8
9 SELECT @@LANGUAGE
简体中文
Download Microsoft® SQL Server® 2012 Service Pack 2 (SP2) from Official Microsoft Download Center
2024-4-26 sqlserver2014升级到sqlserver2017记录:
背景:sqlserver2014运行内存启动5G多,高峰到9G,一个库的日志收缩立马又涨回来。恢复模式简单,限制日志大小,写满后就报错。不知道什么原因。试着升级到2017
>>> 报错1:安装程序在运行作业 UpdateResult 时失败。(sqlserver2014cnEnteripse升级到sqlserver2017cnEnterprise时出现)
错误代码 0x876E0003。
开启 Windows 自动更新或关闭自动更新、不勾选 “使用 Microsoft Update 检查更新(推荐)” 均无法继续安装。
解决方法:
手动创建 DefaultSetup.ini 放置到安装程序文件夹里的 x64 或者 x86 目录中,如果 DefaultSetup.ini 文件已经存在,则在 OPTIONS 节中增加 UpdateEnabled = False ,再来运行 SETUP.EXE 安装即可。
[OPTIONS]
UpdateEnabled = False
>>>2.报错2(sqlserver2014cnEnteripse升级到sqlserver2017cnEnterprise时出现)
下载好补丁直接安装,提示拒绝访问。KB2919442 是 Windows Server 2012 R2 更新的先决条件,在尝试安装 KB2919355 之前应先安装 KB2919442 和clearcompressionflag.exe
安装 KB2919442也是不顺利,解决办法是手动下载 msu 文件。解压后使用 dism 命令安装。
1、将下载到的 msu 文件更改扩展名为 .cab ,并进行解压。
2、使用管理员权限启动 cmd
3、进入解压后的文件夹,输入以下命令进行安装:
dism /online /add-package /packagepath:"${CAB文件名}"
KB2919442很快安装好,有点信心了,继续安装clearcompressionflag.exe,运行两次没有弹框和提示,没报错就当成功。
继续改拓展名使用dism命令安装KB2919355,文件较大700M这样,cmd等了十分钟没有进度,夜已深我也困了,第二天早上,提示安装完成,重启计算机Y/N,幸运。
没有继续安装其余的补丁,重新升级sqlserver,没有新的报错。
期间没有出现其他报错,但是最好还是提前备份数据库
多次提醒安装会卸载reporting service,这正是我想要的
2) 安装reporting service 2017
这个语言无所谓,我就安装了CHN的
提示:namespace不符合;新的是2016/01;老的ssdt支持的是2008/01
安装这个需要打补丁,写一下:
++++++++++++++++++++++++++++++++++++++++++
缺少KB2919355 去官网下载发现需要安装一组的补丁 不是一个
Download Windows Server 2012 R2 更新 (KB2919355) from Official Microsoft Download Center
- 这些 KB 必须按以下顺序安装:
- KB2919442 clearcompressionflag.exe、KB2919355、KB2932046、KB2959977、KB2937592、KB2938439、KB2934018。
- KB2919442 是 Windows Server 2012 R2 更新的先决条件,在尝试安装 KB2919355 之前应先安装 clearcompressionflag.exe
- 每一个安装完都会提醒重启,我是全部装完再重启的
- 接下来安装reporting service就可以了
3)安装visualStudio工具
安装好之后使用原来的老版本sqlserver data tools 打开准备直接copy的报表rdl还是有问题。
装了一个visualStudio2019 只是因为有现成的安装包,,但是装完感觉有点浪费了,比较占内存;
ServerA 是不连外网的,所以需要离线安装官网没有直接封装的镜像文件
手动封装VisualStudio professional 2019:
步骤 1 - 下载 Visual Studio 引导程序
下载地址:https://learn.microsoft.com/zh-cn/visualstudio/install/create-an-offline-installation-of-visual-studio?view=vs-2022#step-1—download-the-visual-studio-bootstrapper
将下载的installer安装文件vs_professional__1249500016.1552297587.exe放在d:\vs_pro2019文件夹中,重命名为 vs_professional.exe
- cmd 到d:\vs_pro2019 运行命令
d:\vs-pro-2019>vs_professional.exe --layout --add Microsoft.VisualStudio.Workload.VisualStudioExtension --add Microsoft.VisualStudio.Workload.Data --add Microsoft.VisualStudio.Workload.NetWeb --includeRecommended --lang zh-cn
## add Microsoft.VisualStudio.Workload.Data : 数据库与存储; VisualStudioExtension:Visual Studio 扩展开发;Microsoft.VisualStudio.Workload.NetWeb:ASP.NET 和 Web 开发 ID:
Visual Studio Professional 工作负载和组件 ID | Microsoft Learn
## 自动封装到d:\vs_pro2019文件夹
- 安装:双击目录下的vs_setup.exe 就可以了。
- setup直接装就行了
4. 报表迁移
ssms中连接到数据库之后
--查看serve版本
select @@Version
1) 先删除2个数据库: ReportServer 和 ReportServerTempDB
2)运行 Report Server配置管理器
**注意到ssrs 2012版本的reproting service 管理器的名字的 reporting service配置管理器
新建数据库,应用门户网站Reports 和管理网站ReportServer
3)vs2019 新建报表解决方案
vs2019默认安装不包含这个选择,需要安装扩展,可以离线下载Microsoft.DataTools.ReportingServices.vsix后,双击安装;
Microsoft Reporting Services Projects - Visual Studio Marketplace
报表属性中 Target Server 重新配置门户网站地址
数据集和报表需要重新deploy一次
这个没有发现什么直接导入的办法?
报表数据库:
尝试了 新建数据库之前restore备份好的 reportserver两个数据库
完成之后报表无法打开了。